about summary refs log tree commit diff
path: root/nixos/tests/jitsi-meet.nix
diff options
context:
space:
mode:
authoremilylange <git@emilylange.de>2023-11-29 22:53:32 +0100
committerYt <happysalada@tuta.io>2023-11-30 06:13:38 +0000
commit9b58faad99f8418baea31a6a1293c7f9c21b1d86 (patch)
tree24442567a16ccc1069b0b280b274b95fc326493f /nixos/tests/jitsi-meet.nix
parent9a821ebe0fcd5a74e1aa4286d43ace78b30be909 (diff)
nixosTests.jitsi-meet: test `cfg.caddy.enable`
Diffstat (limited to 'nixos/tests/jitsi-meet.nix')
-rw-r--r--nixos/tests/jitsi-meet.nix26
1 files changed, 24 insertions, 2 deletions
diff --git a/nixos/tests/jitsi-meet.nix b/nixos/tests/jitsi-meet.nix
index c39cd19e1f0a7..fc6654f2c076c 100644
--- a/nixos/tests/jitsi-meet.nix
+++ b/nixos/tests/jitsi-meet.nix
@@ -24,10 +24,23 @@ import ./make-test-python.nix ({ pkgs, ... }: {
       security.acme.acceptTerms = true;
       security.acme.defaults.email = "me@example.org";
       security.acme.defaults.server = "https://example.com"; # self-signed only
+
+      specialisation.caddy = {
+        inheritParentConfig = true;
+        configuration = {
+          services.jitsi-meet = {
+            caddy.enable = true;
+            nginx.enable = false;
+          };
+          services.caddy.virtualHosts.${config.services.jitsi-meet.hostName}.extraConfig = ''
+            tls internal
+          '';
+        };
+      };
     };
   };
 
-  testScript = ''
+  testScript = { nodes, ... }: ''
     server.wait_for_unit("jitsi-videobridge2.service")
     server.wait_for_unit("jicofo.service")
     server.wait_for_unit("nginx.service")
@@ -41,6 +54,15 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     )
 
     client.wait_for_unit("network.target")
-    assert "<title>Jitsi Meet</title>" in client.succeed("curl -sSfkL http://server/")
+
+    def client_curl():
+        assert "<title>Jitsi Meet</title>" in client.succeed("curl -sSfkL http://server/")
+
+    client_curl()
+
+    with subtest("Testing backup service"):
+        server.succeed("${nodes.server.system.build.toplevel}/specialisation/caddy/bin/switch-to-configuration test")
+        server.wait_for_unit("caddy.service")
+        client_curl()
   '';
 })