diff options
author | Felix Tenley <dev@felschr.com> | 2021-03-28 23:49:45 +0200 |
---|---|---|
committer | sterni <sternenseemann@systemli.org> | 2021-03-30 23:32:26 +0200 |
commit | 0f92c208bbb890103f18c9b1ff88ffe95af0c667 (patch) | |
tree | 167a6eea0eb8cf04f1a31c4ff42a27256e2c3565 /nixos/tests/etebase-server.nix | |
parent | 410d181739183d8dea01bfd7c8299969663aaf77 (diff) |
nixos/tests/etebase-server: init
Diffstat (limited to 'nixos/tests/etebase-server.nix')
-rw-r--r-- | nixos/tests/etebase-server.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/nixos/tests/etebase-server.nix b/nixos/tests/etebase-server.nix new file mode 100644 index 0000000000000..4fc3c1f6392f8 --- /dev/null +++ b/nixos/tests/etebase-server.nix @@ -0,0 +1,50 @@ +import ./make-test-python.nix ({ pkgs, ... }: + +let + dataDir = "/var/lib/foobar"; + +in { + name = "etebase-server"; + meta = with pkgs.lib.maintainers; { + maintainers = [ felschr ]; + }; + + machine = { pkgs, ... }: + { + services.etebase-server = { + inherit dataDir; + enable = true; + settings.global.secret_file = + toString (pkgs.writeText "secret" "123456"); + }; + }; + + testScript = '' + machine.wait_for_unit("etebase-server.service") + machine.wait_for_open_port(8001) + + with subtest("Database & src-version were created"): + machine.wait_for_file("${dataDir}/src-version") + assert ( + "${pkgs.etebase-server}" + in machine.succeed("cat ${dataDir}/src-version") + ) + machine.wait_for_file("${dataDir}/db.sqlite3") + machine.wait_for_file("${dataDir}/static") + + with subtest("Only allow access from allowed_hosts"): + machine.succeed("curl -sSfL http://0.0.0.0:8001/") + machine.fail("curl -sSfL http://127.0.0.1:8001/") + machine.fail("curl -sSfL http://localhost:8001/") + + with subtest("Run tests"): + machine.succeed("etebase-server check") + machine.succeed("etebase-server test") + + with subtest("Create superuser"): + machine.succeed( + "etebase-server createsuperuser --no-input --username admin --email root@localhost" + ) + ''; + } +) |