diff options
author | Robin Gloster <mail@glob.in> | 2019-04-08 22:34:11 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-08 22:34:11 +0000 |
commit | a58ab8fc056f11cd4f94f78f9da991d945890ecd (patch) | |
tree | 4f37aaacb1a7860543743ec97af9106f777ec841 /nixos/tests | |
parent | 436b9251566e74e6dd7801e50a31fecf7d6d412c (diff) | |
parent | acbb74ed18c5e23893f18d5ac2c5eb9b643e3f64 (diff) | |
download | nixlib-a58ab8fc056f11cd4f94f78f9da991d945890ecd.tar nixlib-a58ab8fc056f11cd4f94f78f9da991d945890ecd.tar.gz nixlib-a58ab8fc056f11cd4f94f78f9da991d945890ecd.tar.bz2 nixlib-a58ab8fc056f11cd4f94f78f9da991d945890ecd.tar.lz nixlib-a58ab8fc056f11cd4f94f78f9da991d945890ecd.tar.xz nixlib-a58ab8fc056f11cd4f94f78f9da991d945890ecd.tar.zst nixlib-a58ab8fc056f11cd4f94f78f9da991d945890ecd.zip |
Merge pull request #58398 from Ma27/package-documize
documize-community: init at 2.2.1
Diffstat (limited to 'nixos/tests')
-rw-r--r-- | nixos/tests/all-tests.nix | 1 | ||||
-rw-r--r-- | nixos/tests/documize.nix | 58 |
2 files changed, 59 insertions, 0 deletions
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index b366f019f6e0..66a877e8bae7 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -65,6 +65,7 @@ in docker-registry = handleTest ./docker-registry.nix {}; docker-tools = handleTestOn ["x86_64-linux"] ./docker-tools.nix {}; docker-tools-overlay = handleTestOn ["x86_64-linux"] ./docker-tools-overlay.nix {}; + documize = handleTest ./documize.nix {}; dovecot = handleTest ./dovecot.nix {}; # ec2-config doesn't work in a sandbox as the simulated ec2 instance needs network access #ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {}; diff --git a/nixos/tests/documize.nix b/nixos/tests/documize.nix new file mode 100644 index 000000000000..8b852a4f7795 --- /dev/null +++ b/nixos/tests/documize.nix @@ -0,0 +1,58 @@ +import ./make-test.nix ({ pkgs, lib, ...} : { + name = "documize"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ ma27 ]; + }; + + machine = { pkgs, ... }: { + environment.systemPackages = [ pkgs.jq ]; + + services.documize = { + enable = true; + port = 3000; + dbtype = "postgresql"; + db = "host=localhost port=5432 sslmode=disable user=documize password=documize dbname=documize"; + }; + + systemd.services.documize-server = { + after = [ "postgresql.service" ]; + requires = [ "postgresql.service" ]; + }; + + services.postgresql = { + enable = true; + initialScript = pkgs.writeText "psql-init" '' + CREATE ROLE documize WITH LOGIN PASSWORD 'documize'; + CREATE DATABASE documize WITH OWNER documize; + ''; + }; + }; + + testScript = '' + startAll; + + $machine->waitForUnit("documize-server.service"); + $machine->waitForOpenPort(3000); + + my $dbhash = $machine->succeed("curl -f localhost:3000 " + . " | grep 'property=\"dbhash' " + . " | grep -Po 'content=\"\\K[^\"]*'" + ); + + chomp($dbhash); + + $machine->succeed("curl -X POST " + . "--data 'dbname=documize' " + . "--data 'dbhash=$dbhash' " + . "--data 'title=NixOS' " + . "--data 'message=Docs' " + . "--data 'firstname=John' " + . "--data 'lastname=Doe' " + . "--data 'email=john.doe\@nixos.org' " + . "--data 'password=verysafe' " + . "-f localhost:3000/api/setup" + ); + + $machine->succeed('test "$(curl -f localhost:3000/api/public/meta | jq ".title" | xargs echo)" = "NixOS"'); + ''; +}) |