nixos/szurubooru: add nixos test

This commit is contained in:
RatCornu 2025-03-10 15:06:36 +01:00 committed by Valentin Gagarin
parent 94de595a56
commit 99d1436078
3 changed files with 56 additions and 0 deletions

View File

@ -1372,6 +1372,7 @@ in
systemd-homed = runTest ./systemd-homed.nix;
systemtap = handleTest ./systemtap.nix { };
startx = import ./startx.nix { inherit pkgs runTest; };
szurubooru = handleTest ./szurubooru.nix { };
taler = handleTest ./taler { };
tandoor-recipes = runTest ./tandoor-recipes.nix;
tandoor-recipes-script-name = runTest ./tandoor-recipes-script-name.nix;

View File

@ -0,0 +1,52 @@
import ./make-test-python.nix (
{ lib, pkgs, ... }:
{
name = "szurubooru";
meta.maintainers = with lib.maintainers; [ ratcornu ];
nodes.machine =
let
dbpass = "changeme";
in
{ config, ... }:
{
services.postgresql = {
enable = true;
initialScript = pkgs.writeText "init.sql" ''
CREATE USER ${config.services.szurubooru.database.user} WITH PASSWORD '${dbpass}';
CREATE DATABASE ${config.services.szurubooru.database.name} WITH OWNER ${config.services.szurubooru.database.user};
'';
};
services.szurubooru = {
enable = true;
dataDir = "/var/lib/szurubooru";
server = {
port = 6666;
settings = {
domain = "http://127.0.0.1";
secretFile = pkgs.writeText "secret" "secret";
debug = 1;
};
};
database = {
host = "localhost";
port = 5432;
name = "szurubooru";
user = "szurubooru";
passwordFile = pkgs.writeText "pass" "${dbpass}";
};
};
};
testScript = ''
machine.wait_for_unit("szurubooru.service")
machine.wait_for_open_port(6666)
machine.succeed('curl -H "Content-Type: application/json" -H "Accept: application/json" --fail http://127.0.0.1:6666/info')
'';
}
)

View File

@ -2,6 +2,7 @@
src,
version,
lib,
nixosTests,
fetchPypi,
python3,
}:
@ -73,6 +74,8 @@ python.pkgs.buildPythonApplication {
install -m0755 $src/szuru-admin $out/bin/szuru-admin
'';
passthru.tests.szurubooru = nixosTests.szurubooru;
meta = with lib; {
description = "Server of szurubooru, an image board engine for small and medium communities";
homepage = "https://github.com/rr-/szurubooru";