vuls: init at 0.27.0
[NixPkgs.git] / nixos / tests / xrdp.nix
blobf277d4b79525619130589a5147f75a9ccec5ad49
1 import ./make-test-python.nix ({ pkgs, ...} : {
2   name = "xrdp";
3   meta = with pkgs.lib.maintainers; {
4     maintainers = [ ];
5   };
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     };
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   };
24   testScript = { nodes, ... }: let
25     user = nodes.client.config.users.users.alice;
26   in ''
27     start_all()
29     client.wait_for_x()
30     client.wait_for_file("${user.home}/.Xauthority")
31     client.succeed("xauth merge ${user.home}/.Xauthority")
33     client.sleep(5)
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")
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   '';