diff options
author | talyz <kim.lindberger@gmail.com> | 2020-05-24 14:20:58 +0200 |
---|---|---|
committer | Finn Behrens <me@kloenk.de> | 2020-05-24 15:45:22 +0200 |
commit | 1e343d1638aae170cedf4fbe2ad1cf81f1ba4d79 (patch) | |
tree | afb68bd2f1416cd305ee2da0e5aedb4cf2ff5c02 /nixos | |
parent | fc4d6f4215b53ef1681ea5b0ffbcd126cb6a660c (diff) | |
download | nixpkgs-1e343d1638aae170cedf4fbe2ad1cf81f1ba4d79.tar nixpkgs-1e343d1638aae170cedf4fbe2ad1cf81f1ba4d79.tar.gz nixpkgs-1e343d1638aae170cedf4fbe2ad1cf81f1ba4d79.tar.bz2 nixpkgs-1e343d1638aae170cedf4fbe2ad1cf81f1ba4d79.tar.lz nixpkgs-1e343d1638aae170cedf4fbe2ad1cf81f1ba4d79.tar.xz nixpkgs-1e343d1638aae170cedf4fbe2ad1cf81f1ba4d79.tar.zst nixpkgs-1e343d1638aae170cedf4fbe2ad1cf81f1ba4d79.zip |
nixos/engelsystem: Add test
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/tests/all-tests.nix | 1 | ||||
-rw-r--r-- | nixos/tests/engelsystem.nix | 41 |
2 files changed, 42 insertions, 0 deletions
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 0acded892c7..2a5a81377d6 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -86,6 +86,7 @@ in ecryptfs = handleTest ./ecryptfs.nix {}; ejabberd = handleTest ./xmpp/ejabberd.nix {}; elk = handleTestOn ["x86_64-linux"] ./elk.nix {}; + engelsystem = handleTest ./engelsystem.nix {}; enlightenment = handleTest ./enlightenment.nix {}; env = handleTest ./env.nix {}; etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {}; diff --git a/nixos/tests/engelsystem.nix b/nixos/tests/engelsystem.nix new file mode 100644 index 00000000000..39c10718093 --- /dev/null +++ b/nixos/tests/engelsystem.nix @@ -0,0 +1,41 @@ +import ./make-test-python.nix ( + { pkgs, lib, ... }: + { + name = "engelsystem"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ talyz ]; + }; + + nodes.engelsystem = + { ... }: + { + services.engelsystem = { + enable = true; + domain = "engelsystem"; + createDatabase = true; + }; + networking.firewall.allowedTCPPorts = [ 80 443 ]; + environment.systemPackages = with pkgs; [ + xmlstarlet + libxml2 + ]; + }; + + testScript = '' + engelsystem.start() + engelsystem.wait_for_unit("phpfpm-engelsystem.service") + engelsystem.wait_until_succeeds("curl engelsystem/login -sS -f") + engelsystem.succeed( + "curl engelsystem/login -sS -f -c cookie | xmllint -html -xmlout - >login" + ) + engelsystem.succeed( + "xml sel -T -t -m \"html/head/meta[@name='csrf-token']\" -v @content login >token" + ) + engelsystem.succeed( + "curl engelsystem/login -sS -f -b cookie -F 'login=admin' -F 'password=asdfasdf' -F '_token=<token' -L | xmllint -html -xmlout - >news" + ) + engelsystem.succeed( + "test 'News - Engelsystem' = \"$(xml sel -T -t -c html/head/title news)\"" + ) + ''; + }) |