summaryrefslogtreecommitdiffstats
path: root/nixos/tests/wordpress.nix
blob: afee1f7f6dd4786877f21d1751209478a6f34c5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import ./make-test.nix ({ pkgs, ... }:

{
  name = "wordpress";
  meta = with pkgs.stdenv.lib.maintainers; {
    maintainers = [ grahamc ]; # under duress!
  };

  nodes =
    { web =
        { config, pkgs, ... }:
        {
          services.mysql.enable = true;
          services.mysql.package = pkgs.mysql;
          services.mysql.initialScript = pkgs.writeText "start.sql" ''
            CREATE DATABASE wordpress;
	    CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'wordpress';
            GRANT ALL on wordpress.* TO 'wordpress'@'localhost';
          '';

          services.httpd = {
            enable = true;
            logPerVirtualHost = true;
            adminAddr="js@lastlog.de";
            extraModules = [
              { name = "php7"; path = "${pkgs.php}/modules/libphp7.so"; }
            ];

            virtualHosts = [
              {
                hostName = "wordpress";
                extraSubservices =
                  [
                    {
                      serviceType = "wordpress";
                      dbPassword = "wordpress";
                      wordpressUploads = "/data/uploads";
                      languages = [ "de_DE" "en_GB" ];
                    }
                  ];
              }
            ];
          };
        };
    };

  testScript =
    { nodes, ... }:
    ''
      startAll;

      $web->waitForUnit("mysql");
      $web->waitForUnit("httpd");

      $web->succeed("curl -L 127.0.0.1:80 | grep 'Welcome to the famous'");


    '';

})