vuls: init at 0.27.0
[NixPkgs.git] / nixos / tests / web-apps / peering-manager.nix
blob3f0acd560d13281004da41655cdcde125fbde93d
1 import ../make-test-python.nix ({ lib, pkgs, ... }: {
2   name = "peering-manager";
4   meta = with lib.maintainers; {
5     maintainers = [ yuka ];
6   };
8   nodes.machine = { ... }: {
9     services.peering-manager = {
10       enable = true;
11       secretKeyFile = pkgs.writeText "secret" ''
12         abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
13       '';
14     };
15   };
17   testScript = { nodes }: ''
18     machine.start()
19     machine.wait_for_unit("peering-manager.target")
20     machine.wait_until_succeeds("journalctl --since -1m --unit peering-manager --grep Listening")
22     print(machine.succeed(
23         "curl -sSfL http://[::1]:8001"
24     ))
25     with subtest("Home screen loads"):
26         machine.succeed(
27             "curl -sSfL http://[::1]:8001 | grep '<title>Home - Peering Manager</title>'"
28         )
29     with subtest("checks succeed"):
30         machine.succeed(
31             "systemctl stop peering-manager peering-manager-rq"
32         )
33         machine.succeed(
34             "sudo -u postgres psql -c 'ALTER USER \"peering-manager\" WITH SUPERUSER;'"
35         )
36         machine.succeed(
37             "cd ${nodes.machine.system.build.peeringManagerPkg}/opt/peering-manager ; peering-manager-manage test --no-input"
38         )
39   '';