diff options
author | Erik Arvstedt <erik.arvstedt@gmail.com> | 2022-04-12 17:48:53 +0200 |
---|---|---|
committer | Erik Arvstedt <erik.arvstedt@gmail.com> | 2022-04-12 18:15:44 +0200 |
commit | 0977227b8622daccb5a8435d3d4216eedf845973 (patch) | |
tree | a8159495c4e5b288c2d44a8e552d859cb1b04c91 /nixos/tests/paperless.nix | |
parent | 46c333138443b76362591318ffd5541fcce53540 (diff) | |
download | nixpkgs-0977227b8622daccb5a8435d3d4216eedf845973.tar nixpkgs-0977227b8622daccb5a8435d3d4216eedf845973.tar.gz nixpkgs-0977227b8622daccb5a8435d3d4216eedf845973.tar.bz2 nixpkgs-0977227b8622daccb5a8435d3d4216eedf845973.tar.lz nixpkgs-0977227b8622daccb5a8435d3d4216eedf845973.tar.xz nixpkgs-0977227b8622daccb5a8435d3d4216eedf845973.tar.zst nixpkgs-0977227b8622daccb5a8435d3d4216eedf845973.zip |
nixos/paperless-ng: rename to `paperless`, use `paperless-ngx` package
Use this opportunity to rename `paperless-(ng)-server` to `paperless-scheduler`. This follows the naming scheme in the paperless repo and docs.
Diffstat (limited to 'nixos/tests/paperless.nix')
-rw-r--r-- | nixos/tests/paperless.nix | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/nixos/tests/paperless.nix b/nixos/tests/paperless.nix new file mode 100644 index 00000000000..51fe7c20785 --- /dev/null +++ b/nixos/tests/paperless.nix @@ -0,0 +1,44 @@ +import ./make-test-python.nix ({ lib, ... }: { + name = "paperless"; + meta.maintainers = with lib.maintainers; [ earvstedt Flakebi ]; + + nodes.machine = { pkgs, ... }: { + environment.systemPackages = with pkgs; [ imagemagick jq ]; + services.paperless = { + enable = true; + passwordFile = builtins.toFile "password" "admin"; + }; + }; + + testScript = '' + import json + + machine.wait_for_unit("paperless-consumer.service") + + with subtest("Add a document via the file system"): + machine.succeed( + "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black " + "-annotate +5+20 'hello world 16-10-2005' /var/lib/paperless/consume/doc.png" + ) + + with subtest("Web interface gets ready"): + machine.wait_for_unit("paperless-web.service") + # Wait until server accepts connections + machine.wait_until_succeeds("curl -fs localhost:28981") + + with subtest("Add a document via the web interface"): + machine.succeed( + "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black " + "-annotate +5+20 'hello web 16-10-2005' /tmp/webdoc.png" + ) + machine.wait_until_succeeds("curl -u admin:admin -F document=@/tmp/webdoc.png -fs localhost:28981/api/documents/post_document/") + + with subtest("Documents are consumed"): + machine.wait_until_succeeds( + "(($(curl -u admin:admin -fs localhost:28981/api/documents/ | jq .count) == 2))" + ) + docs = json.loads(machine.succeed("curl -u admin:admin -fs localhost:28981/api/documents/"))['results'] + assert "2005-10-16" in docs[0]['created'] + assert "2005-10-16" in docs[1]['created'] + ''; +}) |