1{
2 system ? builtins.currentSystem,
3 config ? { },
4 pkgs ? import ../.. { inherit system config; },
5}:
6
7with import ../lib/testing-python.nix { inherit system pkgs; };
8with pkgs.lib;
9
10let
11 redmineTest =
12 { name, type }:
13 makeTest {
14 name = "redmine-${name}";
15 nodes.machine =
16 { config, pkgs, ... }:
17 {
18 services.redmine = {
19 enable = true;
20 package = pkgs.redmine;
21 database.type = type;
22 plugins = {
23 redmine_env_auth = pkgs.fetchurl {
24 url = "https://github.com/Intera/redmine_env_auth/archive/0.7.zip";
25 sha256 = "1xb8lyarc7mpi86yflnlgyllh9hfwb9z304f19dx409gqpia99sc";
26 };
27 };
28 themes = {
29 dkuk-redmine_alex_skin = pkgs.fetchurl {
30 url = "https://bitbucket.org/dkuk/redmine_alex_skin/get/1842ef675ef3.zip";
31 sha256 = "0hrin9lzyi50k4w2bd2b30vrf1i4fi1c0gyas5801wn8i7kpm9yl";
32 };
33 };
34 };
35 };
36
37 testScript = ''
38 start_all()
39 machine.wait_for_unit("redmine.service")
40 machine.wait_for_open_port(3000)
41 machine.succeed("curl --fail http://localhost:3000/")
42 '';
43 }
44 // {
45 meta.maintainers = [ maintainers.aanderse ];
46 };
47in
48{
49 sqlite3 = redmineTest {
50 name = "sqlite3";
51 type = "sqlite3";
52 };
53 mysql = redmineTest {
54 name = "mysql";
55 type = "mysql2";
56 };
57 pgsql = redmineTest {
58 name = "pgsql";
59 type = "postgresql";
60 };
61}