diff options
author | Joffrey F <joffrey@docker.com> | 2017-01-09 14:33:58 -0800 |
---|---|---|
committer | Joffrey F <joffrey@docker.com> | 2017-01-09 14:33:58 -0800 |
commit | a96073199939c6f01894414a8a9eb78409ac4bb5 (patch) | |
tree | bb83e9a316b1cf5079829402d555926939eac855 | |
parent | 155b95d14343a1a82f33369694e5080fbe23782f (diff) | |
download | docker-py-a96073199939c6f01894414a8a9eb78409ac4bb5.tar.gz |
Additional parse_mount_string tests
Signed-off-by: Joffrey F <joffrey@docker.com>
-rw-r--r-- | tests/unit/dockertypes_test.py | 34 | ||||
-rw-r--r-- | tests/unit/types.py | 16 |
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) |