summary refs log tree commit diff
diff options
context:
space:
mode:
authorAaron Andersen <aaron@fosslib.net>2019-02-25 21:17:50 -0500
committerAaron Andersen <aaron@fosslib.net>2019-03-27 21:21:17 -0400
commit7f3d0aee1c4f41266a9ff46c3561b805ded707e4 (patch)
tree469dcb00e09817c04a7f6338f7cc614bd9ce49b3
parent44a798e36f06f0bfa21d9f666f4ac46eff385b6d (diff)
downloadnixpkgs-7f3d0aee1c4f41266a9ff46c3561b805ded707e4.tar
nixpkgs-7f3d0aee1c4f41266a9ff46c3561b805ded707e4.tar.gz
nixpkgs-7f3d0aee1c4f41266a9ff46c3561b805ded707e4.tar.bz2
nixpkgs-7f3d0aee1c4f41266a9ff46c3561b805ded707e4.tar.lz
nixpkgs-7f3d0aee1c4f41266a9ff46c3561b805ded707e4.tar.xz
nixpkgs-7f3d0aee1c4f41266a9ff46c3561b805ded707e4.tar.zst
nixpkgs-7f3d0aee1c4f41266a9ff46c3561b805ded707e4.zip
nixos/redmine: test configuration with postgresql as well as mysql
-rw-r--r--nixos/tests/redmine.nix53
1 files changed, 48 insertions, 5 deletions
diff --git a/nixos/tests/redmine.nix b/nixos/tests/redmine.nix
index ea72a0121d1..cbdb5c8d295 100644
--- a/nixos/tests/redmine.nix
+++ b/nixos/tests/redmine.nix
@@ -7,7 +7,7 @@ with import ../lib/testing.nix { inherit system pkgs; };
 with pkgs.lib;
 
 let
-  redmineTest = package: makeTest {
+  mysqlTest = package: makeTest {
     machine =
       { config, pkgs, ... }:
       { services.mysql.enable = true;
@@ -21,6 +21,7 @@ let
 
         services.redmine.enable = true;
         services.redmine.package = package;
+        services.redmine.database.type = "mysql2";
         services.redmine.database.socket = "/run/mysqld/mysqld.sock";
         services.redmine.plugins = {
           redmine_env_auth = pkgs.fetchurl {
@@ -38,7 +39,44 @@ let
 
     testScript = ''
       startAll;
+      $machine->waitForUnit('redmine.service');
+      $machine->waitForOpenPort('3000');
+      $machine->succeed("curl --fail http://localhost:3000/");
+    '';
+  };
+
+  pgsqlTest = package: makeTest {
+    machine =
+      { config, pkgs, ... }:
+      { services.postgresql.enable = true;
+        services.postgresql.ensureDatabases = [ "redmine" ];
+        services.postgresql.ensureUsers = [
+          { name = "redmine";
+            ensurePermissions = { "DATABASE redmine" = "ALL PRIVILEGES"; };
+          }
+        ];
+
+        services.redmine.enable = true;
+        services.redmine.package = package;
+        services.redmine.database.type = "postgresql";
+        services.redmine.database.host = "";
+        services.redmine.database.port = 5432;
+        services.redmine.plugins = {
+          redmine_env_auth = pkgs.fetchurl {
+            url = https://github.com/Intera/redmine_env_auth/archive/0.7.zip;
+            sha256 = "1xb8lyarc7mpi86yflnlgyllh9hfwb9z304f19dx409gqpia99sc";
+          };
+        };
+        services.redmine.themes = {
+          dkuk-redmine_alex_skin = pkgs.fetchurl {
+            url = https://bitbucket.org/dkuk/redmine_alex_skin/get/1842ef675ef3.zip;
+            sha256 = "0hrin9lzyi50k4w2bd2b30vrf1i4fi1c0gyas5801wn8i7kpm9yl";
+          };
+        };
+      };
 
+    testScript = ''
+      startAll;
       $machine->waitForUnit('redmine.service');
       $machine->waitForOpenPort('3000');
       $machine->succeed("curl --fail http://localhost:3000/");
@@ -46,13 +84,18 @@ let
   };
 in
 {
-  redmine_3 = redmineTest pkgs.redmine // {
-    name = "redmine_3";
+  v3-mysql = mysqlTest pkgs.redmine // {
+    name = "v3-mysql";
+    meta.maintainers = [ maintainers.aanderse ];
+  };
+
+  v4-mysql = mysqlTest pkgs.redmine_4 // {
+    name = "v4-mysql";
     meta.maintainers = [ maintainers.aanderse ];
   };
 
-  redmine_4 = redmineTest pkgs.redmine_4 // {
-    name = "redmine_4";
+  v4-pgsql = pgsqlTest pkgs.redmine_4 // {
+    name = "v4-pgsql";
     meta.maintainers = [ maintainers.aanderse ];
   };
 }