at 25.11-pre 1.3 kB view raw
1import ../make-test-python.nix ( 2 { pkgs, ... }: 3 4 let 5 certs = import ../common/acme/server/snakeoil-certs.nix; 6 7 serverDomain = certs.domain; 8 in 9 { 10 name = "open-web-calendar"; 11 meta.maintainers = with pkgs.lib.maintainers; [ erictapen ]; 12 13 nodes.server = 14 { pkgs, lib, ... }: 15 { 16 services.open-web-calendar = { 17 enable = true; 18 domain = serverDomain; 19 calendarSettings.title = "My custom title"; 20 }; 21 22 services.nginx.virtualHosts."${serverDomain}" = { 23 enableACME = lib.mkForce false; 24 sslCertificate = certs."${serverDomain}".cert; 25 sslCertificateKey = certs."${serverDomain}".key; 26 }; 27 28 security.pki.certificateFiles = [ certs.ca.cert ]; 29 30 networking.hosts."::1" = [ "${serverDomain}" ]; 31 networking.firewall.allowedTCPPorts = [ 32 80 33 443 34 ]; 35 }; 36 37 nodes.client = 38 { pkgs, nodes, ... }: 39 { 40 networking.hosts."${nodes.server.networking.primaryIPAddress}" = [ "${serverDomain}" ]; 41 42 security.pki.certificateFiles = [ certs.ca.cert ]; 43 }; 44 45 testScript = '' 46 start_all() 47 server.wait_for_unit("open-web-calendar.socket") 48 server.wait_until_succeeds("curl -f https://${serverDomain}/ | grep 'My custom title'") 49 ''; 50 } 51)