at 25.11-pre 1.3 kB view raw
1import ./make-test-python.nix ( 2 { lib, pkgs, ... }: 3 { 4 name = "endlessh"; 5 meta.maintainers = with lib.maintainers; [ azahi ]; 6 7 nodes = { 8 server = 9 { ... }: 10 { 11 services.endlessh = { 12 enable = true; 13 openFirewall = true; 14 }; 15 16 specialisation = { 17 unprivileged.configuration.services.endlessh.port = 2222; 18 19 privileged.configuration.services.endlessh.port = 22; 20 }; 21 }; 22 23 client = 24 { pkgs, ... }: 25 { 26 environment.systemPackages = with pkgs; [ 27 curl 28 netcat 29 ]; 30 }; 31 }; 32 33 testScript = '' 34 def activate_specialisation(name: str): 35 server.succeed(f"/run/booted-system/specialisation/{name}/bin/switch-to-configuration test >&2") 36 37 start_all() 38 39 with subtest("Unprivileged"): 40 activate_specialisation("unprivileged") 41 server.wait_for_unit("endlessh.service") 42 server.wait_for_open_port(2222) 43 client.succeed("nc -dvW5 server 2222") 44 45 with subtest("Privileged"): 46 activate_specialisation("privileged") 47 server.wait_for_unit("endlessh.service") 48 server.wait_for_open_port(22) 49 client.succeed("nc -dvW5 server 22") 50 ''; 51 } 52)