summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2015-04-22 15:13:38 -0700
committerJoffrey F <joffrey@docker.com>2015-04-22 15:13:38 -0700
commit84fdd2925d6782cc316a7ecabf0f85815a974b44 (patch)
tree10360042a08abe82ddc312c89b9176f76fafdd41
parent857614fb1a41cafce05c5e9f7464943e4771a71e (diff)
downloaddocker-py-84fdd2925d6782cc316a7ecabf0f85815a974b44.tar.gz
Add tests for ulimits
-rw-r--r--tests/utils_test.py38
1 files changed, 34 insertions, 4 deletions
diff --git a/tests/utils_test.py b/tests/utils_test.py
index 852c4ca..d406fb6 100644
--- a/tests/utils_test.py
+++ b/tests/utils_test.py
@@ -6,13 +6,15 @@ from docker.client import Client
from docker.errors import DockerException
from docker.utils import (
parse_repository_tag, parse_host, convert_filters, kwargs_from_env,
- create_host_config
+ create_host_config, Ulimit
)
from docker.utils.ports import build_port_bindings, split_port
from docker.auth import resolve_authconfig
+import base
-class UtilsTest(unittest.TestCase):
+
+class UtilsTest(base.BaseTestCase):
longMessage = True
def setUp(self):
@@ -98,10 +100,38 @@ class UtilsTest(unittest.TestCase):
for filters, expected in tests:
self.assertEqual(convert_filters(filters), expected)
- def test_create_host_config(self):
+ def test_create_empty_host_config(self):
empty_config = create_host_config()
self.assertEqual(empty_config, {})
+ def test_create_host_config_dict_ulimit(self):
+ ulimit_dct = {'name': 'nofile', 'soft': 8096}
+ config = create_host_config(ulimits=[ulimit_dct])
+ self.assertIn('Ulimits', config)
+ self.assertEqual(len(config['Ulimits']), 1)
+ ulimit_obj = config['Ulimits'][0]
+ self.assertTrue(isinstance(ulimit_obj, Ulimit))
+ self.assertEqual(ulimit_obj.name, ulimit_dct['name'])
+ self.assertEqual(ulimit_obj.soft, ulimit_dct['soft'])
+ self.assertEqual(ulimit_obj['soft'], ulimit_obj.soft)
+
+ def test_create_host_config_obj_ulimit(self):
+ ulimit_dct = Ulimit(name='nofile', soft=8096)
+ config = create_host_config(ulimits=[ulimit_dct])
+ self.assertIn('Ulimits', config)
+ self.assertEqual(len(config['Ulimits']), 1)
+ ulimit_obj = config['Ulimits'][0]
+ self.assertTrue(isinstance(ulimit_obj, Ulimit))
+ self.assertEqual(ulimit_obj, ulimit_dct)
+
+ def test_ulimit_invalid_type(self):
+ with self.assertRaises(ValueError):
+ Ulimit(name=None)
+ with self.assertRaises(ValueError):
+ Ulimit(name='hello', soft='1234')
+ with self.assertRaises(ValueError):
+ Ulimit(name='hello', hard='4567')
+
def test_resolve_authconfig(self):
auth_config = {
'https://index.docker.io/v1/': {'auth': 'indexuser'},
@@ -222,7 +252,7 @@ class UtilsTest(unittest.TestCase):
self.assertRaises(
ValueError,
lambda: split_port("0.0.0.0:1000-1010:2000-2002/tcp")
- )
+ )
def test_port_and_range_invalid(self):
self.assertRaises(ValueError,