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