aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/nixos/tests/xmpp/prosody.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/nixos/tests/xmpp/prosody.nix')
-rw-r--r--nixpkgs/nixos/tests/xmpp/prosody.nix46
1 files changed, 46 insertions, 0 deletions
diff --git a/nixpkgs/nixos/tests/xmpp/prosody.nix b/nixpkgs/nixos/tests/xmpp/prosody.nix
new file mode 100644
index 00000000000..8331c7b6d33
--- /dev/null
+++ b/nixpkgs/nixos/tests/xmpp/prosody.nix
@@ -0,0 +1,46 @@
+import ../make-test.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->waitForUnit('prosody.service');
+ $server->succeed('prosodyctl status') =~ /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');
+ '';
+}