at 23.05-pre 1.3 kB view raw
1import ./make-test-python.nix ({ pkgs, ... }: { 2 name = "jitsi-meet"; 3 meta = with pkgs.lib; { 4 maintainers = teams.jitsi.members; 5 }; 6 7 nodes = { 8 client = { nodes, pkgs, ... }: { 9 }; 10 server = { config, pkgs, ... }: { 11 services.jitsi-meet = { 12 enable = true; 13 hostName = "server"; 14 }; 15 services.jitsi-videobridge.openFirewall = true; 16 17 networking.firewall.allowedTCPPorts = [ 80 443 ]; 18 19 services.nginx.virtualHosts.server = { 20 enableACME = true; 21 forceSSL = true; 22 }; 23 24 security.acme.acceptTerms = true; 25 security.acme.defaults.email = "me@example.org"; 26 security.acme.defaults.server = "https://example.com"; # self-signed only 27 }; 28 }; 29 30 testScript = '' 31 server.wait_for_unit("jitsi-videobridge2.service") 32 server.wait_for_unit("jicofo.service") 33 server.wait_for_unit("nginx.service") 34 server.wait_for_unit("prosody.service") 35 36 server.wait_until_succeeds( 37 "journalctl -b -u prosody -o cat | grep -q 'Authenticated as focus@auth.server'" 38 ) 39 server.wait_until_succeeds( 40 "journalctl -b -u prosody -o cat | grep -q 'Authenticated as jvb@auth.server'" 41 ) 42 43 client.wait_for_unit("network.target") 44 assert "<title>Jitsi Meet</title>" in client.succeed("curl -sSfkL http://server/") 45 ''; 46})