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