import ../make-test-python.nix { name = "prosody"; nodes = { client = { nodes, pkgs, ... }: { environment.systemPackages = [ (pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; }) ]; }; server = { config, pkgs, ... }: { networking.extraHosts = '' ${config.networking.primaryIPAddress} example.com ''; networking.firewall.enable = false; services.prosody = { enable = true; # TODO: use a self-signed certificate c2sRequireEncryption = false; extraConfig = '' storage = "sql" ''; virtualHosts.test = { domain = "example.com"; enabled = true; }; }; }; }; testScript = { nodes, ... }: '' server.wait_for_unit("prosody.service") server.succeed('prosodyctl status | grep "Prosody is running"') # set password to 'nothunter2' (it's asked twice) server.succeed("yes nothunter2 | prosodyctl adduser cthon98@example.com") # set password to 'y' server.succeed("yes | prosodyctl adduser azurediamond@example.com") # correct password to "hunter2" server.succeed("yes hunter2 | prosodyctl passwd azurediamond@example.com") client.succeed("send-message") server.succeed("prosodyctl deluser cthon98@example.com") server.succeed("prosodyctl deluser azurediamond@example.com") ''; }