nixos/photoprism: add test

Changed files
+24
nixos
+1
nixos/tests/all-tests.nix
···
pgjwt = handleTest ./pgjwt.nix {};
pgmanage = handleTest ./pgmanage.nix {};
phosh = handleTest ./phosh.nix {};
php = handleTest ./php {};
php80 = handleTest ./php { php = pkgs.php80; };
php81 = handleTest ./php { php = pkgs.php81; };
···
pgjwt = handleTest ./pgjwt.nix {};
pgmanage = handleTest ./pgmanage.nix {};
phosh = handleTest ./phosh.nix {};
+
photoprism = handleTest ./photoprism.nix {};
php = handleTest ./php {};
php80 = handleTest ./php { php = pkgs.php80; };
php81 = handleTest ./php { php = pkgs.php81; };
+23
nixos/tests/photoprism.nix
···
···
+
import ./make-test-python.nix ({ lib, pkgs, ... }: {
+
name = "photoprism";
+
meta.maintainers = with lib.maintainers; [ stunkymonkey ];
+
+
nodes.machine = { pkgs, ... }: {
+
services.photoprism = {
+
enable = true;
+
port = 8080;
+
originalsPath = "/media/photos/";
+
passwordFile = pkgs.writeText "password" "secret";
+
};
+
environment.extraInit = ''
+
mkdir -p /media/photos
+
'';
+
};
+
+
testScript = ''
+
machine.wait_for_unit("multi-user.target")
+
machine.wait_for_open_port(8080)
+
response = machine.succeed("curl -vvv -s -H 'Host: photoprism' http://127.0.0.1:8080/library/login")
+
assert '<title>PhotoPrism</title>' in response, "Login page didn't load successfully"
+
'';
+
})