parent
c0bd900632
commit
6ed56b865f
@ -0,0 +1,65 @@ |
||||
import ./make-test-python.nix ({ pkgs, lib, ... }: { |
||||
name = "vikunja"; |
||||
|
||||
meta = with lib.maintainers; { |
||||
maintainers = [ em0lar ]; |
||||
}; |
||||
|
||||
nodes = { |
||||
vikunjaSqlite = { ... }: { |
||||
services.vikunja = { |
||||
enable = true; |
||||
database = { |
||||
type = "sqlite"; |
||||
}; |
||||
frontendScheme = "http"; |
||||
frontendHostname = "localhost"; |
||||
}; |
||||
services.nginx.enable = true; |
||||
}; |
||||
vikunjaPostgresql = { pkgs, ... }: { |
||||
services.vikunja = { |
||||
enable = true; |
||||
database = { |
||||
type = "postgres"; |
||||
user = "vikunja-api"; |
||||
database = "vikunja-api"; |
||||
host = "/run/postgresql"; |
||||
}; |
||||
frontendScheme = "http"; |
||||
frontendHostname = "localhost"; |
||||
}; |
||||
services.postgresql = { |
||||
enable = true; |
||||
ensureDatabases = [ "vikunja-api" ]; |
||||
ensureUsers = [ |
||||
{ name = "vikunja-api"; |
||||
ensurePermissions = { "DATABASE \"vikunja-api\"" = "ALL PRIVILEGES"; }; |
||||
} |
||||
]; |
||||
}; |
||||
services.nginx.enable = true; |
||||
}; |
||||
}; |
||||
|
||||
testScript = |
||||
'' |
||||
vikunjaSqlite.wait_for_unit("vikunja-api.service") |
||||
vikunjaSqlite.wait_for_open_port(3456) |
||||
vikunjaSqlite.succeed("curl --fail http://localhost:3456/api/v1/info") |
||||
|
||||
vikunjaSqlite.wait_for_unit("nginx.service") |
||||
vikunjaSqlite.wait_for_open_port(80) |
||||
vikunjaSqlite.succeed("curl --fail http://localhost/api/v1/info") |
||||
vikunjaSqlite.succeed("curl --fail http://localhost") |
||||
|
||||
vikunjaPostgresql.wait_for_unit("vikunja-api.service") |
||||
vikunjaPostgresql.wait_for_open_port(3456) |
||||
vikunjaPostgresql.succeed("curl --fail http://localhost:3456/api/v1/info") |
||||
|
||||
vikunjaPostgresql.wait_for_unit("nginx.service") |
||||
vikunjaPostgresql.wait_for_open_port(80) |
||||
vikunjaPostgresql.succeed("curl --fail http://localhost/api/v1/info") |
||||
vikunjaPostgresql.succeed("curl --fail http://localhost") |
||||
''; |
||||
}) |
Loading…
Reference in new issue