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