diff options
author | Jeremy Apthorp <nornagon@nornagon.net> | 2018-12-21 10:36:58 -0800 |
---|---|---|
committer | Brice Waegeneire <brice.wge@gmail.com> | 2019-04-06 03:52:15 +0200 |
commit | e8b68dd4f481807e18e27918728f75748534a23e (patch) | |
tree | 4ceda17a25ad4e29fa18814a11e3fb97f850baaa /nixos/tests | |
parent | 6cafad4f49a0499d26a9e5d943c8f304ac8514ec (diff) | |
download | nixlib-e8b68dd4f481807e18e27918728f75748534a23e.tar nixlib-e8b68dd4f481807e18e27918728f75748534a23e.tar.gz nixlib-e8b68dd4f481807e18e27918728f75748534a23e.tar.bz2 nixlib-e8b68dd4f481807e18e27918728f75748534a23e.tar.lz nixlib-e8b68dd4f481807e18e27918728f75748534a23e.tar.xz nixlib-e8b68dd4f481807e18e27918728f75748534a23e.tar.zst nixlib-e8b68dd4f481807e18e27918728f75748534a23e.zip |
miniflux: add service
Diffstat (limited to 'nixos/tests')
-rw-r--r-- | nixos/tests/all-tests.nix | 1 | ||||
-rw-r--r-- | nixos/tests/miniflux.nix | 52 |
2 files changed, 53 insertions, 0 deletions
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 1db99a03d25d..2f9dec26f8a8 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -137,6 +137,7 @@ in matrix-synapse = handleTest ./matrix-synapse.nix {}; memcached = handleTest ./memcached.nix {}; mesos = handleTest ./mesos.nix {}; + miniflux = handleTest ./miniflux.nix {}; minio = handleTest ./minio.nix {}; misc = handleTest ./misc.nix {}; mongodb = handleTest ./mongodb.nix {}; diff --git a/nixos/tests/miniflux.nix b/nixos/tests/miniflux.nix new file mode 100644 index 000000000000..19ab4803a1d3 --- /dev/null +++ b/nixos/tests/miniflux.nix @@ -0,0 +1,52 @@ +import ./make-test.nix ({ pkgs, lib, ... }: + +let + port = 3142; + username = "alice"; + password = "correcthorsebatterystaple"; + defaultPort = 8080; + defaultUsername = "admin"; + defaultPassword = "password"; +in +with lib; +{ + name = "miniflux"; + meta.maintainers = with pkgs.stdenv.lib.maintainers; [ bricewge ]; + + nodes = { + default = + { ... }: + { + services.miniflux.enable = true; + }; + + customized = + { ... }: + { + services.miniflux = { + enable = true; + config = { + CLEANUP_FREQUENCY = "48"; + LISTEN_ADDR = "localhost:${toString port}"; + }; + adminCredentialsFile = pkgs.writeText "admin-credentials" '' + ADMIN_USERNAME=${username} + ADMIN_PASSWORD=${password} + ''; + }; + }; + }; + testScript = '' + startAll; + + $default->waitForUnit('miniflux.service'); + $default->waitForOpenPort(${toString defaultPort}); + $default->succeed("curl --fail 'http://localhost:${toString defaultPort}/healthcheck' | grep -q OK"); + $default->succeed("curl 'http://localhost:${toString defaultPort}/v1/me' -u '${defaultUsername}:${defaultPassword}' -H Content-Type:application/json | grep -q '\"is_admin\":true'"); + + $customized->waitForUnit('miniflux.service'); + $customized->waitForOpenPort(${toString port}); + $customized->succeed("curl --fail 'http://localhost:${toString port}/healthcheck' | grep -q OK"); + $customized->succeed("curl 'http://localhost:${toString port}/v1/me' -u '${username}:${password}' -H Content-Type:application/json | grep -q '\"is_admin\":true'"); + ''; +}) |