2022-12-17 10:02:37 +00:00
|
|
|
import ../make-test-python.nix ({ lib, pkgs, ... }: {
|
|
|
|
name = "peering-manager";
|
|
|
|
|
|
|
|
meta = with lib.maintainers; {
|
|
|
|
maintainers = [ yuka ];
|
|
|
|
};
|
|
|
|
|
|
|
|
nodes.machine = { ... }: {
|
|
|
|
services.peering-manager = {
|
|
|
|
enable = true;
|
|
|
|
secretKeyFile = pkgs.writeText "secret" ''
|
|
|
|
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
testScript = { nodes }: ''
|
|
|
|
machine.start()
|
|
|
|
machine.wait_for_unit("peering-manager.target")
|
|
|
|
machine.wait_until_succeeds("journalctl --since -1m --unit peering-manager --grep Listening")
|
|
|
|
|
|
|
|
print(machine.succeed(
|
|
|
|
"curl -sSfL http://[::1]:8001"
|
|
|
|
))
|
|
|
|
with subtest("Home screen loads"):
|
|
|
|
machine.succeed(
|
|
|
|
"curl -sSfL http://[::1]:8001 | grep '<title>Home - Peering Manager</title>'"
|
|
|
|
)
|
|
|
|
with subtest("checks succeed"):
|
|
|
|
machine.succeed(
|
|
|
|
"systemctl stop peering-manager peering-manager-rq"
|
|
|
|
)
|
|
|
|
machine.succeed(
|
|
|
|
"sudo -u postgres psql -c 'ALTER USER \"peering-manager\" WITH SUPERUSER;'"
|
|
|
|
)
|
|
|
|
machine.succeed(
|
2023-07-15 17:15:38 +00:00
|
|
|
"cd ${nodes.machine.system.build.peeringManagerPkg}/opt/peering-manager ; peering-manager-manage test --no-input"
|
2022-12-17 10:02:37 +00:00
|
|
|
)
|
|
|
|
'';
|
|
|
|
})
|