diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 3e29907f3c5a..c84fd7cc84ed 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -822,6 +822,7 @@ in { pgadmin4 = handleTest ./pgadmin4.nix {}; pgbouncer = handleTest ./pgbouncer.nix {}; pghero = runTest ./pghero.nix; + pgweb = runTest ./pgweb.nix; pgmanage = handleTest ./pgmanage.nix {}; phosh = handleTest ./phosh.nix {}; photonvision = handleTest ./photonvision.nix {}; diff --git a/nixos/tests/pgweb.nix b/nixos/tests/pgweb.nix new file mode 100644 index 000000000000..3939ae958d70 --- /dev/null +++ b/nixos/tests/pgweb.nix @@ -0,0 +1,32 @@ +{ lib, ... }: +{ + name = "pgweb"; + meta.maintainers = [ lib.maintainers.zupo ]; + + nodes.machine = + { config, pkgs, ... }: + { + services.postgresql = { + enable = true; + authentication = '' + host all all ::1/128 trust + ''; + }; + environment.systemPackages = [ pkgs.pgweb ]; + + systemd.services.myservice = { + serviceConfig = { + ExecStart = "${pkgs.pgweb}/bin/pgweb --url postgresql://postgres@localhost:5432/postgres"; + }; + path = [ pkgs.getent ]; + after = [ "postgresql.service" ]; + wantedBy = [ "multi-user.target" ]; + }; + }; + + testScript = '' + machine.wait_for_unit("myservice.service") + machine.wait_for_open_port(8081) + machine.wait_until_succeeds("curl -sSf localhost:8081 | grep '