nixos/tests: add wakapi

This commit is contained in:
NotAShelf 2024-10-22 12:28:04 +03:00
parent a466f14627
commit 05d349dd29
No known key found for this signature in database
GPG Key ID: AF26552424E53993
2 changed files with 41 additions and 0 deletions

View File

@ -1108,6 +1108,7 @@ in {
vscode-remote-ssh = handleTestOn ["x86_64-linux"] ./vscode-remote-ssh.nix {};
vscodium = discoverTests (import ./vscodium.nix);
vsftpd = handleTest ./vsftpd.nix {};
wakapi = handleTest ./wakapi.nix {};
warzone2100 = handleTest ./warzone2100.nix {};
wasabibackend = handleTest ./wasabibackend.nix {};
wastebin = handleTest ./wastebin.nix {};

40
nixos/tests/wakapi.nix Normal file
View File

@ -0,0 +1,40 @@
import ./make-test-python.nix (
{ lib, ... }:
{
name = "Wakapi";
nodes.machine = {
services.wakapi = {
enable = true;
settings = {
server.port = 3000; # upstream default, set explicitly in case upstream changes it
db = {
dialect = "postgres"; # `createLocally` only supports postgres
host = "/run/postgresql";
port = 5432; # service will fail if port is not set
name = "wakapi";
user = "wakapi";
};
};
database.createLocally = true;
# 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.
passwordSalt = "NpqCY7eY7fMoIWYmPx5mAgr6YoSlXSuI";
};
};
# Test that the service is running and that it is reachable.
# This is not very comprehensive for a test, but it should
# catch very basic mistakes in the module.
testScript = ''
machine.wait_for_unit("wakapi.service")
machine.wait_for_open_port(3000)
machine.succeed("curl --fail http://localhost:3000")
'';
meta.maintainers = [ lib.maintainers.NotAShelf ];
}
)