at 25.11-pre 2.2 kB view raw
1import ./make-test-python.nix ( 2 { pkgs, ... }: 3 let 4 extraHosts = '' 5 192.168.13.12 agenda.example.com 6 ''; 7 in 8 { 9 name = "gancio"; 10 meta.maintainers = with pkgs.lib.maintainers; [ jbgi ]; 11 12 nodes = { 13 server = 14 { pkgs, ... }: 15 { 16 networking = { 17 interfaces.eth1 = { 18 ipv4.addresses = [ 19 { 20 address = "192.168.13.12"; 21 prefixLength = 24; 22 } 23 ]; 24 }; 25 inherit extraHosts; 26 firewall.allowedTCPPorts = [ 80 ]; 27 }; 28 environment.systemPackages = [ pkgs.gancio ]; 29 services.gancio = { 30 enable = true; 31 settings = { 32 hostname = "agenda.example.com"; 33 db.dialect = "postgres"; 34 }; 35 plugins = [ pkgs.gancioPlugins.telegram-bridge ]; 36 userLocale = { 37 en = { 38 register = { 39 description = "My new registration page description"; 40 }; 41 }; 42 }; 43 nginx = { 44 enableACME = false; 45 forceSSL = false; 46 }; 47 }; 48 }; 49 50 client = 51 { pkgs, ... }: 52 { 53 environment.systemPackages = [ pkgs.jq ]; 54 networking = { 55 interfaces.eth1 = { 56 ipv4.addresses = [ 57 { 58 address = "192.168.13.1"; 59 prefixLength = 24; 60 } 61 ]; 62 }; 63 inherit extraHosts; 64 }; 65 }; 66 }; 67 68 testScript = '' 69 start_all() 70 71 server.wait_for_unit("postgresql") 72 server.wait_for_unit("gancio") 73 server.wait_for_unit("nginx") 74 server.wait_for_file("/run/gancio/socket") 75 server.wait_for_open_port(80) 76 77 # Check can create user via cli 78 server.succeed("cd /var/lib/gancio && sudo -u gancio gancio users create admin dummy admin") 79 80 # Check event list is returned 81 client.wait_until_succeeds("curl --verbose --fail-with-body http://agenda.example.com/api/events", timeout=30) 82 83 server.shutdown() 84 client.shutdown() 85 ''; 86 } 87)