at 25.11-pre 1.5 kB view raw
1import ./make-test-python.nix ( 2 { pkgs, ... }: 3 4 let 5 dataDir = "/var/lib/foobar"; 6 7 in 8 { 9 name = "etebase-server"; 10 meta = with pkgs.lib.maintainers; { 11 maintainers = [ felschr ]; 12 }; 13 14 nodes.machine = 15 { pkgs, ... }: 16 { 17 services.etebase-server = { 18 inherit dataDir; 19 enable = true; 20 settings.global.secret_file = toString (pkgs.writeText "secret" "123456"); 21 }; 22 }; 23 24 testScript = '' 25 machine.wait_for_unit("etebase-server.service") 26 machine.wait_for_open_port(8001) 27 28 with subtest("Database & src-version were created"): 29 machine.wait_for_file("${dataDir}/src-version") 30 assert ( 31 "${pkgs.etebase-server}" 32 in machine.succeed("cat ${dataDir}/src-version") 33 ) 34 machine.wait_for_file("${dataDir}/db.sqlite3") 35 machine.wait_for_file("${dataDir}/static") 36 37 with subtest("Only allow access from allowed_hosts"): 38 machine.succeed("curl -sSfL http://0.0.0.0:8001/") 39 machine.fail("curl -sSfL http://127.0.0.1:8001/") 40 machine.fail("curl -sSfL http://localhost:8001/") 41 42 with subtest("Run tests"): 43 machine.succeed("etebase-server check") 44 machine.succeed("etebase-server test") 45 46 with subtest("Create superuser"): 47 machine.succeed( 48 "etebase-server createsuperuser --no-input --username admin --email root@localhost" 49 ) 50 ''; 51 } 52)