summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2017-01-09 14:33:58 -0800
committerJoffrey F <joffrey@docker.com>2017-01-09 14:33:58 -0800
commita96073199939c6f01894414a8a9eb78409ac4bb5 (patch)
treebb83e9a316b1cf5079829402d555926939eac855
parent155b95d14343a1a82f33369694e5080fbe23782f (diff)
downloaddocker-py-a96073199939c6f01894414a8a9eb78409ac4bb5.tar.gz
Additional parse_mount_string tests
Signed-off-by: Joffrey F <joffrey@docker.com>
-rw-r--r--tests/unit/dockertypes_test.py34
-rw-r--r--tests/unit/types.py16
2 files changed, 32 insertions, 18 deletions
diff --git a/tests/unit/dockertypes_test.py b/tests/unit/dockertypes_test.py
index 2480b9e..5cf5f4e 100644
--- a/tests/unit/dockertypes_test.py
+++ b/tests/unit/dockertypes_test.py
@@ -5,9 +5,9 @@ import unittest
import pytest
from docker.constants import DEFAULT_DOCKER_API_VERSION
-from docker.errors import InvalidVersion
+from docker.errors import InvalidArgument, InvalidVersion
from docker.types import (
- EndpointConfig, HostConfig, IPAMConfig, IPAMPool, LogConfig, Ulimit,
+ EndpointConfig, HostConfig, IPAMConfig, IPAMPool, LogConfig, Mount, Ulimit,
)
@@ -253,3 +253,33 @@ class IPAMConfigTest(unittest.TestCase):
'IPRange': None,
}]
})
+
+
+class TestMounts(unittest.TestCase):
+ def test_parse_mount_string_ro(self):
+ mount = Mount.parse_mount_string("/foo/bar:/baz:ro")
+ self.assertEqual(mount['Source'], "/foo/bar")
+ self.assertEqual(mount['Target'], "/baz")
+ self.assertEqual(mount['ReadOnly'], True)
+
+ def test_parse_mount_string_rw(self):
+ mount = Mount.parse_mount_string("/foo/bar:/baz:rw")
+ self.assertEqual(mount['Source'], "/foo/bar")
+ self.assertEqual(mount['Target'], "/baz")
+ self.assertEqual(mount['ReadOnly'], False)
+
+ def test_parse_mount_string_short_form(self):
+ mount = Mount.parse_mount_string("/foo/bar:/baz")
+ self.assertEqual(mount['Source'], "/foo/bar")
+ self.assertEqual(mount['Target'], "/baz")
+ self.assertEqual(mount['ReadOnly'], False)
+
+ def test_parse_mount_string_no_source(self):
+ mount = Mount.parse_mount_string("foo/bar")
+ self.assertEqual(mount['Source'], None)
+ self.assertEqual(mount['Target'], "foo/bar")
+ self.assertEqual(mount['ReadOnly'], False)
+
+ def test_parse_mount_string_invalid(self):
+ with pytest.raises(InvalidArgument):
+ Mount.parse_mount_string("foo:bar:baz:rw")
diff --git a/tests/unit/types.py b/tests/unit/types.py
deleted file mode 100644
index 5a73837..0000000
--- a/tests/unit/types.py
+++ /dev/null
@@ -1,16 +0,0 @@
-import unittest
-from docker.types.services import Mount
-
-
-class TestMounts(unittest.TestCase):
- def test_parse_mount_string_docker(self):
- mount = Mount.parse_mount_string("foo/bar:/buz:ro")
- self.assertEqual(mount['Source'], "foo/bar")
- self.assertEqual(mount['Target'], "/buz")
- self.assertEqual(mount['ReadOnly'], True)
-
- mount = Mount.parse_mount_string("foo/bar:/buz:rw")
- self.assertEqual(mount['ReadOnly'], False)
-
- mount = Mount.parse_mount_string("foo/bar:/buz")
- self.assertEqual(mount['ReadOnly'], False)