mirror of https://github.com/docker/docker-py.git
Add tests for ulimits
This commit is contained in:
parent
857614fb1a
commit
84fdd2925d
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue