diff options
Diffstat (limited to 'nixpkgs/nixos/tests/calibre-web.nix')
-rw-r--r-- | nixpkgs/nixos/tests/calibre-web.nix | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/nixpkgs/nixos/tests/calibre-web.nix b/nixpkgs/nixos/tests/calibre-web.nix new file mode 100644 index 000000000000..aea9bca3ebe9 --- /dev/null +++ b/nixpkgs/nixos/tests/calibre-web.nix @@ -0,0 +1,42 @@ +import ./make-test-python.nix ( + { pkgs, lib, ... }: + + let + port = 3142; + defaultPort = 8083; + in + { + name = "calibre-web"; + meta.maintainers = with lib.maintainers; [ pborzenkov ]; + + nodes = { + customized = { pkgs, ... }: { + services.calibre-web = { + enable = true; + listen.port = port; + options = { + calibreLibrary = "/tmp/books"; + reverseProxyAuth = { + enable = true; + header = "X-User"; + }; + }; + }; + environment.systemPackages = [ pkgs.calibre ]; + }; + }; + testScript = '' + start_all() + + customized.succeed( + "mkdir /tmp/books && calibredb --library-path /tmp/books add -e --title test-book" + ) + customized.succeed("systemctl restart calibre-web") + customized.wait_for_unit("calibre-web.service") + customized.wait_for_open_port(${toString port}) + customized.succeed( + "curl --fail -H X-User:admin 'http://localhost:${toString port}' | grep test-book" + ) + ''; + } +) |