about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorRodney Lorrimar <dev@rodney.id.au>2016-09-13 16:38:45 +0100
committerRodney Lorrimar <dev@rodney.id.au>2016-09-17 10:47:36 +0100
commit795a6e7610c5242d68cbc37247e0cef6a263e76d (patch)
tree2f1c93098747c986b290ec3e09ad8462f6cab8ed /nixos
parent6d7b77df0a400648112e1dc04c6b55c3f9450117 (diff)
downloadnixlib-795a6e7610c5242d68cbc37247e0cef6a263e76d.tar
nixlib-795a6e7610c5242d68cbc37247e0cef6a263e76d.tar.gz
nixlib-795a6e7610c5242d68cbc37247e0cef6a263e76d.tar.bz2
nixlib-795a6e7610c5242d68cbc37247e0cef6a263e76d.tar.lz
nixlib-795a6e7610c5242d68cbc37247e0cef6a263e76d.tar.xz
nixlib-795a6e7610c5242d68cbc37247e0cef6a263e76d.tar.zst
nixlib-795a6e7610c5242d68cbc37247e0cef6a263e76d.zip
mongodb service: add test case
Diffstat (limited to 'nixos')
-rw-r--r--nixos/release.nix1
-rw-r--r--nixos/tests/mongodb.nix34
2 files changed, 35 insertions, 0 deletions
diff --git a/nixos/release.nix b/nixos/release.nix
index d66ebd7cb15c..7fcff78f6b95 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -260,6 +260,7 @@ in rec {
   #tests.logstash = callTest tests/logstash.nix {};
   tests.mathics = callTest tests/mathics.nix {};
   tests.misc = callTest tests/misc.nix {};
+  tests.mongodb = callTest tests/mongodb.nix {};
   tests.mumble = callTest tests/mumble.nix {};
   tests.munin = callTest tests/munin.nix {};
   tests.mysql = callTest tests/mysql.nix {};
diff --git a/nixos/tests/mongodb.nix b/nixos/tests/mongodb.nix
new file mode 100644
index 000000000000..18535f51af9b
--- /dev/null
+++ b/nixos/tests/mongodb.nix
@@ -0,0 +1,34 @@
+# This test start mongodb, runs a query using mongo shell
+
+import ./make-test.nix ({ pkgs, ...} : let
+  testQuery = pkgs.writeScript "nixtest.js" ''
+    db.greetings.insert({ "greeting": "hello" });
+    print(db.greetings.findOne().greeting);
+  '';
+in {
+  name = "mongodb";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ bluescreen303 offline wkennington cstrahan rvl ];
+  };
+
+  nodes = {
+    one =
+      { config, pkgs, ... }:
+        {
+          services = {
+           mongodb.enable = true;
+           mongodb.extraConfig = ''
+             # Allow starting engine with only a small virtual disk
+             storage.journal.enabled: false
+             storage.mmapv1.smallFiles: true
+           '';
+          };
+        };
+    };
+
+  testScript = ''
+    startAll;
+    $one->waitForUnit("mongodb.service");
+    $one->succeed("mongo nixtest ${testQuery}") =~ /hello/ or die;
+  '';
+})