at 23.11-pre 1.4 kB view raw
1import ./make-test-python.nix ({ pkgs, ...} : { 2 name = "xrdp"; 3 meta = with pkgs.lib.maintainers; { 4 maintainers = [ ]; 5 }; 6 7 nodes = { 8 server = { pkgs, ... }: { 9 imports = [ ./common/user-account.nix ]; 10 services.xrdp.enable = true; 11 services.xrdp.defaultWindowManager = "${pkgs.xterm}/bin/xterm"; 12 networking.firewall.allowedTCPPorts = [ 3389 ]; 13 }; 14 15 client = { pkgs, ... }: { 16 imports = [ ./common/x11.nix ./common/user-account.nix ]; 17 test-support.displayManager.auto.user = "alice"; 18 environment.systemPackages = [ pkgs.freerdp ]; 19 services.xrdp.enable = true; 20 services.xrdp.defaultWindowManager = "${pkgs.icewm}/bin/icewm"; 21 }; 22 }; 23 24 testScript = { nodes, ... }: let 25 user = nodes.client.config.users.users.alice; 26 in '' 27 start_all() 28 29 client.wait_for_x() 30 client.wait_for_file("${user.home}/.Xauthority") 31 client.succeed("xauth merge ${user.home}/.Xauthority") 32 33 client.sleep(5) 34 35 client.execute("xterm >&2 &") 36 client.sleep(1) 37 client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:${user.name} /p:${user.password}\n") 38 client.sleep(5) 39 client.screenshot("localrdp") 40 41 client.execute("xterm >&2 &") 42 client.sleep(1) 43 client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:${user.name} /p:${user.password}\n") 44 client.sleep(5) 45 client.screenshot("remoterdp") 46 ''; 47})