tests/wakapi: switch to subest; add sqlite3 case
This commit is contained in:
parent
3204e04a80
commit
fde8246eb9
@ -3,12 +3,12 @@ import ./make-test-python.nix (
|
|||||||
{
|
{
|
||||||
name = "Wakapi";
|
name = "Wakapi";
|
||||||
|
|
||||||
nodes.machine = {
|
nodes = {
|
||||||
|
wakapiPsql = {
|
||||||
services.wakapi = {
|
services.wakapi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
server.port = 3000; # upstream default, set explicitly in case upstream changes it
|
server.port = 3000; # upstream default, set explicitly in case upstream changes it
|
||||||
|
|
||||||
db = {
|
db = {
|
||||||
dialect = "postgres"; # `createLocally` only supports postgres
|
dialect = "postgres"; # `createLocally` only supports postgres
|
||||||
host = "/run/postgresql";
|
host = "/run/postgresql";
|
||||||
@ -18,7 +18,8 @@ import ./make-test-python.nix (
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
database.createLocally = true;
|
# Automatically create our database
|
||||||
|
database.createLocally = true; # only works with Postgresql for now
|
||||||
|
|
||||||
# Created with `cat /dev/urandom | LC_ALL=C tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1`
|
# Created with `cat /dev/urandom | LC_ALL=C tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1`
|
||||||
# Prefer passwordSaltFile in production.
|
# Prefer passwordSaltFile in production.
|
||||||
@ -26,13 +27,39 @@ import ./make-test-python.nix (
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Test that the service is running and that it is reachable.
|
wakapiSqlite = {
|
||||||
|
services.wakapi = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
server.port = 3001;
|
||||||
|
db = {
|
||||||
|
dialect = "sqlite3";
|
||||||
|
name = "wakapi";
|
||||||
|
user = "wakapi";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
passwordSalt = "NpqCY7eY7fMoIWYmPx5mAgr6YoSlXSuI";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Test that service works under both postgresql and sqlite3
|
||||||
|
# by starting all machines, and curling the default address.
|
||||||
# This is not very comprehensive for a test, but it should
|
# This is not very comprehensive for a test, but it should
|
||||||
# catch very basic mistakes in the module.
|
# catch very basic mistakes in the module.
|
||||||
testScript = ''
|
testScript = ''
|
||||||
machine.wait_for_unit("wakapi.service")
|
with subtest("Test Wakapi with postgresql backend"):
|
||||||
machine.wait_for_open_port(3000)
|
wakapiPsql.start()
|
||||||
machine.succeed("curl --fail http://localhost:3000")
|
wakapiPsql.wait_for_unit("wakapi.service")
|
||||||
|
wakapiPsql.wait_for_open_port(3000)
|
||||||
|
wakapiPsql.succeed("curl --fail http://localhost:3000")
|
||||||
|
|
||||||
|
with subtest("Test Wakapi with sqlite3 backend"):
|
||||||
|
wakapiSqlite.start()
|
||||||
|
wakapiSqlite.wait_for_unit("wakapi.service")
|
||||||
|
wakapiSqlite.wait_for_open_port(3001)
|
||||||
|
wakapiSqlite.succeed("curl --fail http://localhost:3001")
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta.maintainers = [ lib.maintainers.NotAShelf ];
|
meta.maintainers = [ lib.maintainers.NotAShelf ];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user