about summary refs log tree commit diff
path: root/nixos/tests
diff options
context:
space:
mode:
authorTim Steinbach <NeQuissimus@users.noreply.github.com>2017-09-06 15:03:56 -0400
committerGitHub <noreply@github.com>2017-09-06 15:03:56 -0400
commita54b2e3ba226c9fa3e7f4ec72fbada8e0859a300 (patch)
tree53674fa574ad4844534a85b7da4d0a20d155a0a9 /nixos/tests
parent0857e4c84d3ba9e4faa52aa033bbde3607652e86 (diff)
parent380ed98bd793b2f3cbf257b7ef9601770c4f8d48 (diff)
downloadnixlib-a54b2e3ba226c9fa3e7f4ec72fbada8e0859a300.tar
nixlib-a54b2e3ba226c9fa3e7f4ec72fbada8e0859a300.tar.gz
nixlib-a54b2e3ba226c9fa3e7f4ec72fbada8e0859a300.tar.bz2
nixlib-a54b2e3ba226c9fa3e7f4ec72fbada8e0859a300.tar.lz
nixlib-a54b2e3ba226c9fa3e7f4ec72fbada8e0859a300.tar.xz
nixlib-a54b2e3ba226c9fa3e7f4ec72fbada8e0859a300.tar.zst
nixlib-a54b2e3ba226c9fa3e7f4ec72fbada8e0859a300.zip
Merge pull request #29002 from NeQuissimus/docker_edge_module_test
docker: Package in module, tests
Diffstat (limited to 'nixos/tests')
-rw-r--r--nixos/tests/docker-edge.nix47
-rw-r--r--nixos/tests/docker.nix6
2 files changed, 52 insertions, 1 deletions
diff --git a/nixos/tests/docker-edge.nix b/nixos/tests/docker-edge.nix
new file mode 100644
index 000000000000..38d25daff194
--- /dev/null
+++ b/nixos/tests/docker-edge.nix
@@ -0,0 +1,47 @@
+# This test runs docker and checks if simple container starts
+
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "docker";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ nequissimus offline ];
+  };
+
+  nodes = {
+    docker =
+      { config, pkgs, ... }:
+        {
+          virtualisation.docker.enable = true;
+          virtualisation.docker.package = pkgs.docker-edge;
+
+          users.users = {
+            noprivs = {
+              isNormalUser = true;
+              description = "Can't access the docker daemon";
+              password = "foobar";
+            };
+
+            hasprivs = {
+              isNormalUser = true;
+              description = "Can access the docker daemon";
+              password = "foobar";
+              extraGroups = [ "docker" ];
+            };
+          };
+        };
+    };
+
+  testScript = ''
+    startAll;
+
+    $docker->waitForUnit("sockets.target");
+    $docker->succeed("tar cv --files-from /dev/null | docker import - scratchimg");
+    $docker->succeed("docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10");
+    $docker->succeed("docker ps | grep sleeping");
+    $docker->succeed("sudo -u hasprivs docker ps");
+    $docker->fail("sudo -u noprivs docker ps");
+    $docker->succeed("docker stop sleeping");
+
+    # Must match version twice to ensure client and server versions are correct
+    $docker->succeed('[ $(docker version | grep ${pkgs.docker-edge.version} | wc -l) = "2" ]');
+  '';
+})
diff --git a/nixos/tests/docker.nix b/nixos/tests/docker.nix
index 9096a5868f6c..c6c8f4cdb5fb 100644
--- a/nixos/tests/docker.nix
+++ b/nixos/tests/docker.nix
@@ -3,7 +3,7 @@
 import ./make-test.nix ({ pkgs, ...} : {
   name = "docker";
   meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ offline ];
+    maintainers = [ nequissimus offline ];
   };
 
   nodes = {
@@ -11,6 +11,7 @@ import ./make-test.nix ({ pkgs, ...} : {
       { config, pkgs, ... }:
         {
           virtualisation.docker.enable = true;
+          virtualisation.docker.package = pkgs.docker;
 
           users.users = {
             noprivs = {
@@ -39,5 +40,8 @@ import ./make-test.nix ({ pkgs, ...} : {
     $docker->succeed("sudo -u hasprivs docker ps");
     $docker->fail("sudo -u noprivs docker ps");
     $docker->succeed("docker stop sleeping");
+
+    # Must match version twice to ensure client and server versions are correct
+    $docker->succeed('[ $(docker version | grep ${pkgs.docker.version} | wc -l) = "2" ]');
   '';
 })