mirror of https://github.com/docker/docker-py.git
Modify unit tests suite to allow mock routes to optionally be method-aware
Added mock API routes for volumes API Add unit tests and integration tests for volume API Signed-off-by: Joffrey F <joffrey@docker.com>
This commit is contained in:
parent
46eb23b4f3
commit
05267f63d3
|
|
@ -27,7 +27,7 @@ class VolumeApiMixin(object):
|
||||||
@check_api_version
|
@check_api_version
|
||||||
def create_volume(self, name, driver=None, driver_opts=None):
|
def create_volume(self, name, driver=None, driver_opts=None):
|
||||||
url = self._url('/volumes')
|
url = self._url('/volumes')
|
||||||
if not isinstance(driver_opts, dict):
|
if driver_opts is not None and not isinstance(driver_opts, dict):
|
||||||
raise TypeError('driver_opts must be a dictionary')
|
raise TypeError('driver_opts must be a dictionary')
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
|
|
@ -35,7 +35,7 @@ class VolumeApiMixin(object):
|
||||||
'Driver': driver,
|
'Driver': driver,
|
||||||
'DriverOpts': driver_opts,
|
'DriverOpts': driver_opts,
|
||||||
}
|
}
|
||||||
return self._result(self._post(url, data=data), True)
|
return self._result(self._post_json(url, data=data), True)
|
||||||
|
|
||||||
@check_api_version
|
@check_api_version
|
||||||
def inspect_volume(self, name):
|
def inspect_volume(self, name):
|
||||||
|
|
@ -45,4 +45,6 @@ class VolumeApiMixin(object):
|
||||||
@check_api_version
|
@check_api_version
|
||||||
def remove_volume(self, name):
|
def remove_volume(self, name):
|
||||||
url = self._url('/volumes/{0}', name)
|
url = self._url('/volumes/{0}', name)
|
||||||
return self._result(self._delete(url), True)
|
resp = self._delete(url)
|
||||||
|
self._raise_for_status(resp)
|
||||||
|
return True
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,9 @@
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
from . import fake_stat
|
from . import fake_stat
|
||||||
|
from docker import constants
|
||||||
|
|
||||||
CURRENT_VERSION = 'v1.19'
|
CURRENT_VERSION = 'v{0}'.format(constants.DEFAULT_DOCKER_API_VERSION)
|
||||||
|
|
||||||
FAKE_CONTAINER_ID = '3cc2351ab11b'
|
FAKE_CONTAINER_ID = '3cc2351ab11b'
|
||||||
FAKE_IMAGE_ID = 'e9aa60c60128'
|
FAKE_IMAGE_ID = 'e9aa60c60128'
|
||||||
|
|
@ -26,6 +27,7 @@ FAKE_TAG_NAME = 'tag'
|
||||||
FAKE_FILE_NAME = 'file'
|
FAKE_FILE_NAME = 'file'
|
||||||
FAKE_URL = 'myurl'
|
FAKE_URL = 'myurl'
|
||||||
FAKE_PATH = '/path'
|
FAKE_PATH = '/path'
|
||||||
|
FAKE_VOLUME_NAME = 'perfectcherryblossom'
|
||||||
|
|
||||||
# Each method is prefixed with HTTP method (get, post...)
|
# Each method is prefixed with HTTP method (get, post...)
|
||||||
# for clarity and readability
|
# for clarity and readability
|
||||||
|
|
@ -380,6 +382,38 @@ def get_fake_stats():
|
||||||
response = fake_stat.OBJ
|
response = fake_stat.OBJ
|
||||||
return status_code, response
|
return status_code, response
|
||||||
|
|
||||||
|
|
||||||
|
def get_fake_volume_list():
|
||||||
|
status_code = 200
|
||||||
|
response = {
|
||||||
|
'Volumes': [
|
||||||
|
{
|
||||||
|
'Name': 'perfectcherryblossom',
|
||||||
|
'Driver': 'local',
|
||||||
|
'Mountpoint': '/var/lib/docker/volumes/perfectcherryblossom'
|
||||||
|
}, {
|
||||||
|
'Name': 'subterraneananimism',
|
||||||
|
'Driver': 'local',
|
||||||
|
'Mountpoint': '/var/lib/docker/volumes/subterraneananimism'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
return status_code, response
|
||||||
|
|
||||||
|
|
||||||
|
def get_fake_volume():
|
||||||
|
status_code = 200
|
||||||
|
response = {
|
||||||
|
'Name': 'perfectcherryblossom',
|
||||||
|
'Driver': 'local',
|
||||||
|
'Mountpoint': '/var/lib/docker/volumes/perfectcherryblossom'
|
||||||
|
}
|
||||||
|
return status_code, response
|
||||||
|
|
||||||
|
|
||||||
|
def fake_remove_volume():
|
||||||
|
return 204, None
|
||||||
|
|
||||||
# Maps real api url to fake response callback
|
# Maps real api url to fake response callback
|
||||||
prefix = 'http+docker://localunixsocket'
|
prefix = 'http+docker://localunixsocket'
|
||||||
fake_responses = {
|
fake_responses = {
|
||||||
|
|
@ -463,5 +497,17 @@ fake_responses = {
|
||||||
'{1}/{0}/build'.format(CURRENT_VERSION, prefix):
|
'{1}/{0}/build'.format(CURRENT_VERSION, prefix):
|
||||||
post_fake_build_container,
|
post_fake_build_container,
|
||||||
'{1}/{0}/events'.format(CURRENT_VERSION, prefix):
|
'{1}/{0}/events'.format(CURRENT_VERSION, prefix):
|
||||||
get_fake_events
|
get_fake_events,
|
||||||
|
('{1}/{0}/volumes'.format(CURRENT_VERSION, prefix), 'GET'):
|
||||||
|
get_fake_volume_list,
|
||||||
|
('{1}/{0}/volumes'.format(CURRENT_VERSION, prefix), 'POST'):
|
||||||
|
get_fake_volume,
|
||||||
|
('{1}/{0}/volumes/{2}'.format(
|
||||||
|
CURRENT_VERSION, prefix, FAKE_VOLUME_NAME
|
||||||
|
), 'GET'):
|
||||||
|
get_fake_volume,
|
||||||
|
('{1}/{0}/volumes/{2}'.format(
|
||||||
|
CURRENT_VERSION, prefix, FAKE_VOLUME_NAME
|
||||||
|
), 'DELETE'):
|
||||||
|
fake_remove_volume,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,6 +77,7 @@ class BaseTestCase(unittest.TestCase):
|
||||||
tmp_imgs = []
|
tmp_imgs = []
|
||||||
tmp_containers = []
|
tmp_containers = []
|
||||||
tmp_folders = []
|
tmp_folders = []
|
||||||
|
tmp_volumes = []
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
if six.PY2:
|
if six.PY2:
|
||||||
|
|
@ -101,6 +102,13 @@ class BaseTestCase(unittest.TestCase):
|
||||||
pass
|
pass
|
||||||
for folder in self.tmp_folders:
|
for folder in self.tmp_folders:
|
||||||
shutil.rmtree(folder)
|
shutil.rmtree(folder)
|
||||||
|
|
||||||
|
for volume in self.tmp_volumes:
|
||||||
|
try:
|
||||||
|
self.client.remove_volume(volume)
|
||||||
|
except docker.errors.APIError:
|
||||||
|
pass
|
||||||
|
|
||||||
self.client.close()
|
self.client.close()
|
||||||
|
|
||||||
#########################
|
#########################
|
||||||
|
|
@ -223,6 +231,8 @@ class TestCreateContainerWithBinds(BaseTestCase):
|
||||||
if six.PY3:
|
if six.PY3:
|
||||||
logs = logs.decode('utf-8')
|
logs = logs.decode('utf-8')
|
||||||
self.assertIn(filename, logs)
|
self.assertIn(filename, logs)
|
||||||
|
|
||||||
|
# FIXME: format changes in API version >= 1.20
|
||||||
inspect_data = self.client.inspect_container(container_id)
|
inspect_data = self.client.inspect_container(container_id)
|
||||||
self.assertIn('Volumes', inspect_data)
|
self.assertIn('Volumes', inspect_data)
|
||||||
self.assertIn(mount_dest, inspect_data['Volumes'])
|
self.assertIn(mount_dest, inspect_data['Volumes'])
|
||||||
|
|
@ -265,6 +275,8 @@ class TestCreateContainerWithRoBinds(BaseTestCase):
|
||||||
if six.PY3:
|
if six.PY3:
|
||||||
logs = logs.decode('utf-8')
|
logs = logs.decode('utf-8')
|
||||||
self.assertIn(filename, logs)
|
self.assertIn(filename, logs)
|
||||||
|
|
||||||
|
# FIXME: format changes in API version >= 1.20
|
||||||
inspect_data = self.client.inspect_container(container_id)
|
inspect_data = self.client.inspect_container(container_id)
|
||||||
self.assertIn('Volumes', inspect_data)
|
self.assertIn('Volumes', inspect_data)
|
||||||
self.assertIn(mount_dest, inspect_data['Volumes'])
|
self.assertIn(mount_dest, inspect_data['Volumes'])
|
||||||
|
|
@ -1370,9 +1382,65 @@ class TestImportFromURL(ImportTestCase):
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# BUILDER TESTS #
|
# VOLUMES TESTS #
|
||||||
#################
|
#################
|
||||||
|
|
||||||
|
@pytest.mark.skipif(docker.utils.compare_version(
|
||||||
|
'1.21', docker.constants.DEFAULT_DOCKER_API_VERSION
|
||||||
|
) < 0, reason="Volume API available for version >=1.21")
|
||||||
|
class TestVolumes(BaseTestCase):
|
||||||
|
def test_create_volume(self):
|
||||||
|
name = 'perfectcherryblossom'
|
||||||
|
result = self.client.create_volume(name)
|
||||||
|
self.tmp_volumes.append(name)
|
||||||
|
self.assertIn('Name', result)
|
||||||
|
self.assertEqual(result['Name'], name)
|
||||||
|
self.assertIn('Driver', result)
|
||||||
|
self.assertEqual(result['Driver'], 'local')
|
||||||
|
|
||||||
|
def test_create_volume_invalid_driver(self):
|
||||||
|
driver_name = 'invalid.driver'
|
||||||
|
|
||||||
|
with pytest.raises(docker.errors.NotFound):
|
||||||
|
self.client.create_volume('perfectcherryblossom', driver_name)
|
||||||
|
|
||||||
|
def test_list_volumes(self):
|
||||||
|
name = 'imperishablenight'
|
||||||
|
volume_info = self.client.create_volume(name)
|
||||||
|
self.tmp_volumes.append(name)
|
||||||
|
result = self.client.volumes()
|
||||||
|
self.assertIn('Volumes', result)
|
||||||
|
volumes = result['Volumes']
|
||||||
|
self.assertIn(volume_info, volumes)
|
||||||
|
|
||||||
|
def test_inspect_volume(self):
|
||||||
|
name = 'embodimentofscarletdevil'
|
||||||
|
volume_info = self.client.create_volume(name)
|
||||||
|
self.tmp_volumes.append(name)
|
||||||
|
result = self.client.inspect_volume(name)
|
||||||
|
self.assertEqual(volume_info, result)
|
||||||
|
|
||||||
|
def test_inspect_nonexistent_volume(self):
|
||||||
|
name = 'embodimentofscarletdevil'
|
||||||
|
with pytest.raises(docker.errors.NotFound):
|
||||||
|
self.client.inspect_volume(name)
|
||||||
|
|
||||||
|
def test_remove_volume(self):
|
||||||
|
name = 'shootthebullet'
|
||||||
|
self.client.create_volume(name)
|
||||||
|
self.tmp_volumes.append(name)
|
||||||
|
result = self.client.remove_volume(name)
|
||||||
|
self.assertTrue(result)
|
||||||
|
|
||||||
|
def test_remove_nonexistent_volume(self):
|
||||||
|
name = 'shootthebullet'
|
||||||
|
with pytest.raises(docker.errors.NotFound):
|
||||||
|
self.client.remove_volume(name)
|
||||||
|
|
||||||
|
|
||||||
|
#################
|
||||||
|
# BUILDER TESTS #
|
||||||
|
#################
|
||||||
|
|
||||||
class TestBuild(BaseTestCase):
|
class TestBuild(BaseTestCase):
|
||||||
def runTest(self):
|
def runTest(self):
|
||||||
|
|
|
||||||
258
tests/test.py
258
tests/test.py
|
|
@ -74,12 +74,36 @@ def fake_inspect_container_tty(self, container):
|
||||||
return fake_inspect_container(self, container, tty=True)
|
return fake_inspect_container(self, container, tty=True)
|
||||||
|
|
||||||
|
|
||||||
def fake_resp(url, data=None, **kwargs):
|
def fake_resp(method, url, *args, **kwargs):
|
||||||
status_code, content = fake_api.fake_responses[url]()
|
key = None
|
||||||
|
if url in fake_api.fake_responses:
|
||||||
|
key = url
|
||||||
|
elif (url, method) in fake_api.fake_responses:
|
||||||
|
key = (url, method)
|
||||||
|
if not key:
|
||||||
|
raise Exception('{0} {1}'.format(method, url))
|
||||||
|
status_code, content = fake_api.fake_responses[key]()
|
||||||
return response(status_code=status_code, content=content)
|
return response(status_code=status_code, content=content)
|
||||||
|
|
||||||
|
|
||||||
fake_request = mock.Mock(side_effect=fake_resp)
|
fake_request = mock.Mock(side_effect=fake_resp)
|
||||||
|
|
||||||
|
|
||||||
|
def fake_get(self, url, *args, **kwargs):
|
||||||
|
return fake_request('GET', url, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
def fake_post(self, url, *args, **kwargs):
|
||||||
|
return fake_request('POST', url, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
def fake_put(self, url, *args, **kwargs):
|
||||||
|
return fake_request('PUT', url, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
def fake_delete(self, url, *args, **kwargs):
|
||||||
|
return fake_request('DELETE', url, *args, **kwargs)
|
||||||
|
|
||||||
url_prefix = 'http+docker://localunixsocket/v{0}/'.format(
|
url_prefix = 'http+docker://localunixsocket/v{0}/'.format(
|
||||||
docker.constants.DEFAULT_DOCKER_API_VERSION)
|
docker.constants.DEFAULT_DOCKER_API_VERSION)
|
||||||
|
|
||||||
|
|
@ -109,8 +133,8 @@ class Cleanup(object):
|
||||||
self._cleanups.append((function, args, kwargs))
|
self._cleanups.append((function, args, kwargs))
|
||||||
|
|
||||||
|
|
||||||
@mock.patch.multiple('docker.Client', get=fake_request, post=fake_request,
|
@mock.patch.multiple('docker.Client', get=fake_get, post=fake_post,
|
||||||
put=fake_request, delete=fake_request)
|
put=fake_put, delete=fake_delete)
|
||||||
class DockerClientTest(Cleanup, base.BaseTestCase):
|
class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.client = docker.Client()
|
self.client = docker.Client()
|
||||||
|
|
@ -173,6 +197,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.version()
|
self.client.version()
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'version',
|
url_prefix + 'version',
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
)
|
)
|
||||||
|
|
@ -191,6 +216,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.info()
|
self.client.info()
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'info',
|
url_prefix + 'info',
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
)
|
)
|
||||||
|
|
@ -199,6 +225,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.search('busybox')
|
self.client.search('busybox')
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'images/search',
|
url_prefix + 'images/search',
|
||||||
params={'term': 'busybox'},
|
params={'term': 'busybox'},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -213,6 +240,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.events()
|
self.client.events()
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'events',
|
url_prefix + 'events',
|
||||||
params={'since': None, 'until': None, 'filters': None},
|
params={'since': None, 'until': None, 'filters': None},
|
||||||
stream=True
|
stream=True
|
||||||
|
|
@ -227,6 +255,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.events(since=since, until=until)
|
self.client.events(since=since, until=until)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'events',
|
url_prefix + 'events',
|
||||||
params={
|
params={
|
||||||
'since': ts - 10,
|
'since': ts - 10,
|
||||||
|
|
@ -244,6 +273,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
|
|
||||||
expected_filters = docker.utils.convert_filters(filters)
|
expected_filters = docker.utils.convert_filters(filters)
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'events',
|
url_prefix + 'events',
|
||||||
params={
|
params={
|
||||||
'since': None,
|
'since': None,
|
||||||
|
|
@ -261,6 +291,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.images(all=True)
|
self.client.images(all=True)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'images/json',
|
url_prefix + 'images/json',
|
||||||
params={'filter': None, 'only_ids': 0, 'all': 1},
|
params={'filter': None, 'only_ids': 0, 'all': 1},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -270,6 +301,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.images(all=True, quiet=True)
|
self.client.images(all=True, quiet=True)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'images/json',
|
url_prefix + 'images/json',
|
||||||
params={'filter': None, 'only_ids': 1, 'all': 1},
|
params={'filter': None, 'only_ids': 1, 'all': 1},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -279,6 +311,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.images(quiet=True)
|
self.client.images(quiet=True)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'images/json',
|
url_prefix + 'images/json',
|
||||||
params={'filter': None, 'only_ids': 1, 'all': 0},
|
params={'filter': None, 'only_ids': 1, 'all': 0},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -288,6 +321,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.images(filters={'dangling': True})
|
self.client.images(filters={'dangling': True})
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'images/json',
|
url_prefix + 'images/json',
|
||||||
params={'filter': None, 'only_ids': 0, 'all': 0,
|
params={'filter': None, 'only_ids': 0, 'all': 0,
|
||||||
'filters': '{"dangling": ["true"]}'},
|
'filters': '{"dangling": ["true"]}'},
|
||||||
|
|
@ -298,6 +332,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.containers(all=True)
|
self.client.containers(all=True)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'containers/json',
|
url_prefix + 'containers/json',
|
||||||
params={
|
params={
|
||||||
'all': 1,
|
'all': 1,
|
||||||
|
|
@ -318,7 +353,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.create_container('busybox', 'true')
|
self.client.create_container('busybox', 'true')
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0],
|
self.assertEqual(args[0][1],
|
||||||
url_prefix + 'containers/create')
|
url_prefix + 'containers/create')
|
||||||
self.assertEqual(json.loads(args[1]['data']),
|
self.assertEqual(json.loads(args[1]['data']),
|
||||||
json.loads('''
|
json.loads('''
|
||||||
|
|
@ -337,7 +372,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
volumes=[mount_dest])
|
volumes=[mount_dest])
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0],
|
self.assertEqual(args[0][1],
|
||||||
url_prefix + 'containers/create')
|
url_prefix + 'containers/create')
|
||||||
self.assertEqual(json.loads(args[1]['data']),
|
self.assertEqual(json.loads(args[1]['data']),
|
||||||
json.loads('''
|
json.loads('''
|
||||||
|
|
@ -358,7 +393,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
volumes=mount_dest)
|
volumes=mount_dest)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0],
|
self.assertEqual(args[0][1],
|
||||||
url_prefix + 'containers/create')
|
url_prefix + 'containers/create')
|
||||||
self.assertEqual(json.loads(args[1]['data']),
|
self.assertEqual(json.loads(args[1]['data']),
|
||||||
json.loads('''
|
json.loads('''
|
||||||
|
|
@ -377,7 +412,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
ports=[1111, (2222, 'udp'), (3333,)])
|
ports=[1111, (2222, 'udp'), (3333,)])
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0],
|
self.assertEqual(args[0][1],
|
||||||
url_prefix + 'containers/create')
|
url_prefix + 'containers/create')
|
||||||
self.assertEqual(json.loads(args[1]['data']),
|
self.assertEqual(json.loads(args[1]['data']),
|
||||||
json.loads('''
|
json.loads('''
|
||||||
|
|
@ -400,7 +435,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
entrypoint='cowsay entry')
|
entrypoint='cowsay entry')
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0],
|
self.assertEqual(args[0][1],
|
||||||
url_prefix + 'containers/create')
|
url_prefix + 'containers/create')
|
||||||
self.assertEqual(json.loads(args[1]['data']),
|
self.assertEqual(json.loads(args[1]['data']),
|
||||||
json.loads('''
|
json.loads('''
|
||||||
|
|
@ -419,7 +454,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
cpu_shares=5)
|
cpu_shares=5)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0],
|
self.assertEqual(args[0][1],
|
||||||
url_prefix + 'containers/create')
|
url_prefix + 'containers/create')
|
||||||
self.assertEqual(json.loads(args[1]['data']),
|
self.assertEqual(json.loads(args[1]['data']),
|
||||||
json.loads('''
|
json.loads('''
|
||||||
|
|
@ -438,7 +473,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
cpuset='0,1')
|
cpuset='0,1')
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0],
|
self.assertEqual(args[0][1],
|
||||||
url_prefix + 'containers/create')
|
url_prefix + 'containers/create')
|
||||||
self.assertEqual(json.loads(args[1]['data']),
|
self.assertEqual(json.loads(args[1]['data']),
|
||||||
json.loads('''
|
json.loads('''
|
||||||
|
|
@ -461,7 +496,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0],
|
self.assertEqual(args[0][1],
|
||||||
url_prefix + 'containers/create')
|
url_prefix + 'containers/create')
|
||||||
data = json.loads(args[1]['data'])
|
data = json.loads(args[1]['data'])
|
||||||
self.assertIn('HostConfig', data)
|
self.assertIn('HostConfig', data)
|
||||||
|
|
@ -473,7 +508,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
working_dir='/root')
|
working_dir='/root')
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0],
|
self.assertEqual(args[0][1],
|
||||||
url_prefix + 'containers/create')
|
url_prefix + 'containers/create')
|
||||||
self.assertEqual(json.loads(args[1]['data']),
|
self.assertEqual(json.loads(args[1]['data']),
|
||||||
json.loads('''
|
json.loads('''
|
||||||
|
|
@ -491,7 +526,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.create_container('busybox', 'true', stdin_open=True)
|
self.client.create_container('busybox', 'true', stdin_open=True)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0],
|
self.assertEqual(args[0][1],
|
||||||
url_prefix + 'containers/create')
|
url_prefix + 'containers/create')
|
||||||
self.assertEqual(json.loads(args[1]['data']),
|
self.assertEqual(json.loads(args[1]['data']),
|
||||||
json.loads('''
|
json.loads('''
|
||||||
|
|
@ -515,7 +550,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
return
|
return
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix + 'containers/create')
|
self.assertEqual(args[0][1], url_prefix + 'containers/create')
|
||||||
self.assertEqual(json.loads(args[1]['data'])['VolumesFrom'],
|
self.assertEqual(json.loads(args[1]['data'])['VolumesFrom'],
|
||||||
','.join(vol_names))
|
','.join(vol_names))
|
||||||
self.assertEqual(args[1]['headers'],
|
self.assertEqual(args[1]['headers'],
|
||||||
|
|
@ -533,7 +568,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
name='marisa-kirisame')
|
name='marisa-kirisame')
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0],
|
self.assertEqual(args[0][1],
|
||||||
url_prefix + 'containers/create')
|
url_prefix + 'containers/create')
|
||||||
self.assertEqual(json.loads(args[1]['data']),
|
self.assertEqual(json.loads(args[1]['data']),
|
||||||
json.loads('''
|
json.loads('''
|
||||||
|
|
@ -619,7 +654,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
args[0][0],
|
args[0][1],
|
||||||
url_prefix + 'containers/3cc2351ab11b/start'
|
url_prefix + 'containers/3cc2351ab11b/start'
|
||||||
)
|
)
|
||||||
self.assertEqual(json.loads(args[1]['data']), {})
|
self.assertEqual(json.loads(args[1]['data']), {})
|
||||||
|
|
@ -659,7 +694,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
args[0][0],
|
args[0][1],
|
||||||
url_prefix + 'containers/create'
|
url_prefix + 'containers/create'
|
||||||
)
|
)
|
||||||
expected_payload = self.base_create_payload()
|
expected_payload = self.base_create_payload()
|
||||||
|
|
@ -686,7 +721,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix + 'containers/create')
|
self.assertEqual(args[0][1], url_prefix + 'containers/create')
|
||||||
expected_payload = self.base_create_payload()
|
expected_payload = self.base_create_payload()
|
||||||
expected_payload['HostConfig'] = self.client.create_host_config()
|
expected_payload['HostConfig'] = self.client.create_host_config()
|
||||||
expected_payload['HostConfig']['LxcConf'] = [
|
expected_payload['HostConfig']['LxcConf'] = [
|
||||||
|
|
@ -715,7 +750,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix +
|
self.assertEqual(args[0][1], url_prefix +
|
||||||
'containers/create')
|
'containers/create')
|
||||||
expected_payload = self.base_create_payload()
|
expected_payload = self.base_create_payload()
|
||||||
expected_payload['HostConfig'] = self.client.create_host_config()
|
expected_payload['HostConfig'] = self.client.create_host_config()
|
||||||
|
|
@ -742,7 +777,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix +
|
self.assertEqual(args[0][1], url_prefix +
|
||||||
'containers/create')
|
'containers/create')
|
||||||
expected_payload = self.base_create_payload()
|
expected_payload = self.base_create_payload()
|
||||||
expected_payload['HostConfig'] = self.client.create_host_config()
|
expected_payload['HostConfig'] = self.client.create_host_config()
|
||||||
|
|
@ -769,7 +804,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix +
|
self.assertEqual(args[0][1], url_prefix +
|
||||||
'containers/create')
|
'containers/create')
|
||||||
expected_payload = self.base_create_payload()
|
expected_payload = self.base_create_payload()
|
||||||
expected_payload['HostConfig'] = self.client.create_host_config()
|
expected_payload['HostConfig'] = self.client.create_host_config()
|
||||||
|
|
@ -807,7 +842,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix +
|
self.assertEqual(args[0][1], url_prefix +
|
||||||
'containers/create')
|
'containers/create')
|
||||||
expected_payload = self.base_create_payload()
|
expected_payload = self.base_create_payload()
|
||||||
expected_payload['HostConfig'] = self.client.create_host_config()
|
expected_payload['HostConfig'] = self.client.create_host_config()
|
||||||
|
|
@ -840,7 +875,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix + 'containers/create')
|
self.assertEqual(args[0][1], url_prefix + 'containers/create')
|
||||||
data = json.loads(args[1]['data'])
|
data = json.loads(args[1]['data'])
|
||||||
port_bindings = data['HostConfig']['PortBindings']
|
port_bindings = data['HostConfig']['PortBindings']
|
||||||
self.assertTrue('1111/tcp' in port_bindings)
|
self.assertTrue('1111/tcp' in port_bindings)
|
||||||
|
|
@ -899,7 +934,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
args[0][0], url_prefix + 'containers/create'
|
args[0][1], url_prefix + 'containers/create'
|
||||||
)
|
)
|
||||||
expected_payload = self.base_create_payload()
|
expected_payload = self.base_create_payload()
|
||||||
expected_payload['HostConfig'] = self.client.create_host_config()
|
expected_payload['HostConfig'] = self.client.create_host_config()
|
||||||
|
|
@ -924,7 +959,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix + 'containers/create')
|
self.assertEqual(args[0][1], url_prefix + 'containers/create')
|
||||||
expected_payload = self.base_create_payload()
|
expected_payload = self.base_create_payload()
|
||||||
expected_payload['HostConfig'] = self.client.create_host_config()
|
expected_payload['HostConfig'] = self.client.create_host_config()
|
||||||
expected_payload['HostConfig']['Links'] = [
|
expected_payload['HostConfig']['Links'] = [
|
||||||
|
|
@ -946,7 +981,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix + 'containers/create')
|
self.assertEqual(args[0][1], url_prefix + 'containers/create')
|
||||||
expected_payload = self.base_create_payload()
|
expected_payload = self.base_create_payload()
|
||||||
expected_payload['HostConfig'] = self.client.create_host_config()
|
expected_payload['HostConfig'] = self.client.create_host_config()
|
||||||
expected_payload['HostConfig']['Links'] = ['path:alias']
|
expected_payload['HostConfig']['Links'] = ['path:alias']
|
||||||
|
|
@ -966,7 +1001,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
expected_payload['HostConfig'] = self.client.create_host_config()
|
expected_payload['HostConfig'] = self.client.create_host_config()
|
||||||
expected_payload['HostConfig']['Privileged'] = True
|
expected_payload['HostConfig']['Privileged'] = True
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix + 'containers/create')
|
self.assertEqual(args[0][1], url_prefix + 'containers/create')
|
||||||
self.assertEqual(json.loads(args[1]['data']), expected_payload)
|
self.assertEqual(json.loads(args[1]['data']), expected_payload)
|
||||||
self.assertEqual(args[1]['headers'],
|
self.assertEqual(args[1]['headers'],
|
||||||
{'Content-Type': 'application/json'})
|
{'Content-Type': 'application/json'})
|
||||||
|
|
@ -1069,7 +1104,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
args[0][0],
|
args[0][1],
|
||||||
url_prefix + 'containers/3cc2351ab11b/start'
|
url_prefix + 'containers/3cc2351ab11b/start'
|
||||||
)
|
)
|
||||||
self.assertEqual(json.loads(args[1]['data']), {})
|
self.assertEqual(json.loads(args[1]['data']), {})
|
||||||
|
|
@ -1091,7 +1126,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix + 'containers/create')
|
self.assertEqual(args[0][1], url_prefix + 'containers/create')
|
||||||
|
|
||||||
expected_payload = self.base_create_payload()
|
expected_payload = self.base_create_payload()
|
||||||
expected_payload['HostConfig'] = self.client.create_host_config()
|
expected_payload['HostConfig'] = self.client.create_host_config()
|
||||||
|
|
@ -1114,7 +1149,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix + 'containers/create')
|
self.assertEqual(args[0][1], url_prefix + 'containers/create')
|
||||||
expected_payload = self.base_create_payload()
|
expected_payload = self.base_create_payload()
|
||||||
expected_payload['HostConfig'] = self.client.create_host_config()
|
expected_payload['HostConfig'] = self.client.create_host_config()
|
||||||
expected_payload['HostConfig']['CapAdd'] = ['MKNOD']
|
expected_payload['HostConfig']['CapAdd'] = ['MKNOD']
|
||||||
|
|
@ -1133,7 +1168,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix + 'containers/create')
|
self.assertEqual(args[0][1], url_prefix + 'containers/create')
|
||||||
expected_payload = self.base_create_payload()
|
expected_payload = self.base_create_payload()
|
||||||
expected_payload['HostConfig'] = self.client.create_host_config()
|
expected_payload['HostConfig'] = self.client.create_host_config()
|
||||||
expected_payload['HostConfig']['CapDrop'] = ['MKNOD']
|
expected_payload['HostConfig']['CapDrop'] = ['MKNOD']
|
||||||
|
|
@ -1155,7 +1190,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix + 'containers/create')
|
self.assertEqual(args[0][1], url_prefix + 'containers/create')
|
||||||
expected_payload = self.base_create_payload()
|
expected_payload = self.base_create_payload()
|
||||||
expected_payload['HostConfig'] = self.client.create_host_config()
|
expected_payload['HostConfig'] = self.client.create_host_config()
|
||||||
expected_payload['HostConfig']['Devices'] = [
|
expected_payload['HostConfig']['Devices'] = [
|
||||||
|
|
@ -1189,7 +1224,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix + 'containers/create')
|
self.assertEqual(args[0][1], url_prefix + 'containers/create')
|
||||||
self.assertEqual(json.loads(args[1]['data'])['Labels'], labels_dict)
|
self.assertEqual(json.loads(args[1]['data'])['Labels'], labels_dict)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
args[1]['headers'], {'Content-Type': 'application/json'}
|
args[1]['headers'], {'Content-Type': 'application/json'}
|
||||||
|
|
@ -1214,7 +1249,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix + 'containers/create')
|
self.assertEqual(args[0][1], url_prefix + 'containers/create')
|
||||||
self.assertEqual(json.loads(args[1]['data'])['Labels'], labels_dict)
|
self.assertEqual(json.loads(args[1]['data'])['Labels'], labels_dict)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
args[1]['headers'], {'Content-Type': 'application/json'}
|
args[1]['headers'], {'Content-Type': 'application/json'}
|
||||||
|
|
@ -1238,8 +1273,9 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(args[0][0], url_prefix +
|
self.assertEqual(
|
||||||
'containers/create')
|
args[0][1], url_prefix + 'containers/create'
|
||||||
|
)
|
||||||
expected_payload = self.base_create_payload()
|
expected_payload = self.base_create_payload()
|
||||||
expected_payload['VolumeDriver'] = 'foodriver'
|
expected_payload['VolumeDriver'] = 'foodriver'
|
||||||
expected_payload['HostConfig'] = self.client.create_host_config()
|
expected_payload['HostConfig'] = self.client.create_host_config()
|
||||||
|
|
@ -1260,6 +1296,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'containers/3cc2351ab11b/resize',
|
url_prefix + 'containers/3cc2351ab11b/resize',
|
||||||
params={'h': 15, 'w': 120},
|
params={'h': 15, 'w': 120},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1272,6 +1309,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'containers/3cc2351ab11b/rename',
|
url_prefix + 'containers/3cc2351ab11b/rename',
|
||||||
params={'name': 'foobar'},
|
params={'name': 'foobar'},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1281,6 +1319,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.wait(fake_api.FAKE_CONTAINER_ID)
|
self.client.wait(fake_api.FAKE_CONTAINER_ID)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'containers/3cc2351ab11b/wait',
|
url_prefix + 'containers/3cc2351ab11b/wait',
|
||||||
timeout=None
|
timeout=None
|
||||||
)
|
)
|
||||||
|
|
@ -1289,6 +1328,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.wait({'Id': fake_api.FAKE_CONTAINER_ID})
|
self.client.wait({'Id': fake_api.FAKE_CONTAINER_ID})
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'containers/3cc2351ab11b/wait',
|
url_prefix + 'containers/3cc2351ab11b/wait',
|
||||||
timeout=None
|
timeout=None
|
||||||
)
|
)
|
||||||
|
|
@ -1328,6 +1368,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
logs = self.client.logs(fake_api.FAKE_CONTAINER_ID)
|
logs = self.client.logs(fake_api.FAKE_CONTAINER_ID)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'containers/3cc2351ab11b/logs',
|
url_prefix + 'containers/3cc2351ab11b/logs',
|
||||||
params={'timestamps': 0, 'follow': 0, 'stderr': 1, 'stdout': 1,
|
params={'timestamps': 0, 'follow': 0, 'stderr': 1, 'stdout': 1,
|
||||||
'tail': 'all'},
|
'tail': 'all'},
|
||||||
|
|
@ -1346,6 +1387,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
logs = self.client.logs({'Id': fake_api.FAKE_CONTAINER_ID})
|
logs = self.client.logs({'Id': fake_api.FAKE_CONTAINER_ID})
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'containers/3cc2351ab11b/logs',
|
url_prefix + 'containers/3cc2351ab11b/logs',
|
||||||
params={'timestamps': 0, 'follow': 0, 'stderr': 1, 'stdout': 1,
|
params={'timestamps': 0, 'follow': 0, 'stderr': 1, 'stdout': 1,
|
||||||
'tail': 'all'},
|
'tail': 'all'},
|
||||||
|
|
@ -1364,6 +1406,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.logs(fake_api.FAKE_CONTAINER_ID, stream=True)
|
self.client.logs(fake_api.FAKE_CONTAINER_ID, stream=True)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'containers/3cc2351ab11b/logs',
|
url_prefix + 'containers/3cc2351ab11b/logs',
|
||||||
params={'timestamps': 0, 'follow': 1, 'stderr': 1, 'stdout': 1,
|
params={'timestamps': 0, 'follow': 1, 'stderr': 1, 'stdout': 1,
|
||||||
'tail': 'all'},
|
'tail': 'all'},
|
||||||
|
|
@ -1378,6 +1421,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
tail=10)
|
tail=10)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'containers/3cc2351ab11b/logs',
|
url_prefix + 'containers/3cc2351ab11b/logs',
|
||||||
params={'timestamps': 0, 'follow': 0, 'stderr': 1, 'stdout': 1,
|
params={'timestamps': 0, 'follow': 0, 'stderr': 1, 'stdout': 1,
|
||||||
'tail': 10},
|
'tail': 10},
|
||||||
|
|
@ -1396,6 +1440,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
|
|
||||||
self.assertTrue(m.called)
|
self.assertTrue(m.called)
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'containers/3cc2351ab11b/logs',
|
url_prefix + 'containers/3cc2351ab11b/logs',
|
||||||
params={'timestamps': 0, 'follow': 1, 'stderr': 1, 'stdout': 1,
|
params={'timestamps': 0, 'follow': 1, 'stderr': 1, 'stdout': 1,
|
||||||
'tail': 'all'},
|
'tail': 'all'},
|
||||||
|
|
@ -1407,6 +1452,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.diff(fake_api.FAKE_CONTAINER_ID)
|
self.client.diff(fake_api.FAKE_CONTAINER_ID)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'containers/3cc2351ab11b/changes',
|
url_prefix + 'containers/3cc2351ab11b/changes',
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
)
|
)
|
||||||
|
|
@ -1415,6 +1461,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.diff({'Id': fake_api.FAKE_CONTAINER_ID})
|
self.client.diff({'Id': fake_api.FAKE_CONTAINER_ID})
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'containers/3cc2351ab11b/changes',
|
url_prefix + 'containers/3cc2351ab11b/changes',
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
)
|
)
|
||||||
|
|
@ -1423,6 +1470,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.port({'Id': fake_api.FAKE_CONTAINER_ID}, 1111)
|
self.client.port({'Id': fake_api.FAKE_CONTAINER_ID}, 1111)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'containers/3cc2351ab11b/json',
|
url_prefix + 'containers/3cc2351ab11b/json',
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
)
|
)
|
||||||
|
|
@ -1433,6 +1481,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.stop(fake_api.FAKE_CONTAINER_ID, timeout=timeout)
|
self.client.stop(fake_api.FAKE_CONTAINER_ID, timeout=timeout)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'containers/3cc2351ab11b/stop',
|
url_prefix + 'containers/3cc2351ab11b/stop',
|
||||||
params={'t': timeout},
|
params={'t': timeout},
|
||||||
timeout=(DEFAULT_TIMEOUT_SECONDS + timeout)
|
timeout=(DEFAULT_TIMEOUT_SECONDS + timeout)
|
||||||
|
|
@ -1445,6 +1494,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
timeout=timeout)
|
timeout=timeout)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'containers/3cc2351ab11b/stop',
|
url_prefix + 'containers/3cc2351ab11b/stop',
|
||||||
params={'t': timeout},
|
params={'t': timeout},
|
||||||
timeout=(DEFAULT_TIMEOUT_SECONDS + timeout)
|
timeout=(DEFAULT_TIMEOUT_SECONDS + timeout)
|
||||||
|
|
@ -1455,6 +1505,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
|
'POST',
|
||||||
args[0][0], url_prefix + 'containers/{0}/exec'.format(
|
args[0][0], url_prefix + 'containers/{0}/exec'.format(
|
||||||
fake_api.FAKE_CONTAINER_ID
|
fake_api.FAKE_CONTAINER_ID
|
||||||
)
|
)
|
||||||
|
|
@ -1481,7 +1532,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
args[0][0], url_prefix + 'exec/{0}/start'.format(
|
args[0][1], url_prefix + 'exec/{0}/start'.format(
|
||||||
fake_api.FAKE_EXEC_ID
|
fake_api.FAKE_EXEC_ID
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
@ -1501,7 +1552,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
args[0][0], url_prefix + 'exec/{0}/json'.format(
|
args[0][1], url_prefix + 'exec/{0}/json'.format(
|
||||||
fake_api.FAKE_EXEC_ID
|
fake_api.FAKE_EXEC_ID
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
@ -1510,6 +1561,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.exec_resize(fake_api.FAKE_EXEC_ID, height=20, width=60)
|
self.client.exec_resize(fake_api.FAKE_EXEC_ID, height=20, width=60)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'exec/{0}/resize'.format(fake_api.FAKE_EXEC_ID),
|
url_prefix + 'exec/{0}/resize'.format(fake_api.FAKE_EXEC_ID),
|
||||||
params={'h': 20, 'w': 60},
|
params={'h': 20, 'w': 60},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1519,6 +1571,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.pause(fake_api.FAKE_CONTAINER_ID)
|
self.client.pause(fake_api.FAKE_CONTAINER_ID)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'containers/3cc2351ab11b/pause',
|
url_prefix + 'containers/3cc2351ab11b/pause',
|
||||||
timeout=(DEFAULT_TIMEOUT_SECONDS)
|
timeout=(DEFAULT_TIMEOUT_SECONDS)
|
||||||
)
|
)
|
||||||
|
|
@ -1527,6 +1580,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.unpause(fake_api.FAKE_CONTAINER_ID)
|
self.client.unpause(fake_api.FAKE_CONTAINER_ID)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'containers/3cc2351ab11b/unpause',
|
url_prefix + 'containers/3cc2351ab11b/unpause',
|
||||||
timeout=(DEFAULT_TIMEOUT_SECONDS)
|
timeout=(DEFAULT_TIMEOUT_SECONDS)
|
||||||
)
|
)
|
||||||
|
|
@ -1535,6 +1589,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.kill(fake_api.FAKE_CONTAINER_ID)
|
self.client.kill(fake_api.FAKE_CONTAINER_ID)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'containers/3cc2351ab11b/kill',
|
url_prefix + 'containers/3cc2351ab11b/kill',
|
||||||
params={},
|
params={},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1544,6 +1599,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.kill({'Id': fake_api.FAKE_CONTAINER_ID})
|
self.client.kill({'Id': fake_api.FAKE_CONTAINER_ID})
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'containers/3cc2351ab11b/kill',
|
url_prefix + 'containers/3cc2351ab11b/kill',
|
||||||
params={},
|
params={},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1553,6 +1609,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.kill(fake_api.FAKE_CONTAINER_ID, signal=signal.SIGTERM)
|
self.client.kill(fake_api.FAKE_CONTAINER_ID, signal=signal.SIGTERM)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'containers/3cc2351ab11b/kill',
|
url_prefix + 'containers/3cc2351ab11b/kill',
|
||||||
params={'signal': signal.SIGTERM},
|
params={'signal': signal.SIGTERM},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1562,6 +1619,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.restart(fake_api.FAKE_CONTAINER_ID, timeout=2)
|
self.client.restart(fake_api.FAKE_CONTAINER_ID, timeout=2)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'containers/3cc2351ab11b/restart',
|
url_prefix + 'containers/3cc2351ab11b/restart',
|
||||||
params={'t': 2},
|
params={'t': 2},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1571,6 +1629,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.restart({'Id': fake_api.FAKE_CONTAINER_ID}, timeout=2)
|
self.client.restart({'Id': fake_api.FAKE_CONTAINER_ID}, timeout=2)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'containers/3cc2351ab11b/restart',
|
url_prefix + 'containers/3cc2351ab11b/restart',
|
||||||
params={'t': 2},
|
params={'t': 2},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1580,6 +1639,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.remove_container(fake_api.FAKE_CONTAINER_ID)
|
self.client.remove_container(fake_api.FAKE_CONTAINER_ID)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'DELETE',
|
||||||
url_prefix + 'containers/3cc2351ab11b',
|
url_prefix + 'containers/3cc2351ab11b',
|
||||||
params={'v': False, 'link': False, 'force': False},
|
params={'v': False, 'link': False, 'force': False},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1589,6 +1649,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.remove_container({'Id': fake_api.FAKE_CONTAINER_ID})
|
self.client.remove_container({'Id': fake_api.FAKE_CONTAINER_ID})
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'DELETE',
|
||||||
url_prefix + 'containers/3cc2351ab11b',
|
url_prefix + 'containers/3cc2351ab11b',
|
||||||
params={'v': False, 'link': False, 'force': False},
|
params={'v': False, 'link': False, 'force': False},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1598,6 +1659,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.remove_container(fake_api.FAKE_CONTAINER_ID, link=True)
|
self.client.remove_container(fake_api.FAKE_CONTAINER_ID, link=True)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'DELETE',
|
||||||
url_prefix + 'containers/3cc2351ab11b',
|
url_prefix + 'containers/3cc2351ab11b',
|
||||||
params={'v': False, 'link': True, 'force': False},
|
params={'v': False, 'link': True, 'force': False},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1607,6 +1669,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.export(fake_api.FAKE_CONTAINER_ID)
|
self.client.export(fake_api.FAKE_CONTAINER_ID)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'containers/3cc2351ab11b/export',
|
url_prefix + 'containers/3cc2351ab11b/export',
|
||||||
stream=True,
|
stream=True,
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1616,6 +1679,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.export({'Id': fake_api.FAKE_CONTAINER_ID})
|
self.client.export({'Id': fake_api.FAKE_CONTAINER_ID})
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'containers/3cc2351ab11b/export',
|
url_prefix + 'containers/3cc2351ab11b/export',
|
||||||
stream=True,
|
stream=True,
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1625,6 +1689,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.inspect_container(fake_api.FAKE_CONTAINER_ID)
|
self.client.inspect_container(fake_api.FAKE_CONTAINER_ID)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'containers/3cc2351ab11b/json',
|
url_prefix + 'containers/3cc2351ab11b/json',
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
)
|
)
|
||||||
|
|
@ -1642,6 +1707,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.stats(fake_api.FAKE_CONTAINER_ID)
|
self.client.stats(fake_api.FAKE_CONTAINER_ID)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'containers/3cc2351ab11b/stats',
|
url_prefix + 'containers/3cc2351ab11b/stats',
|
||||||
timeout=60,
|
timeout=60,
|
||||||
stream=True
|
stream=True
|
||||||
|
|
@ -1656,7 +1722,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
args[0][0],
|
args[0][1],
|
||||||
url_prefix + 'images/create'
|
url_prefix + 'images/create'
|
||||||
)
|
)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
|
|
@ -1670,7 +1736,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
|
|
||||||
args = fake_request.call_args
|
args = fake_request.call_args
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
args[0][0],
|
args[0][1],
|
||||||
url_prefix + 'images/create'
|
url_prefix + 'images/create'
|
||||||
)
|
)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
|
|
@ -1683,6 +1749,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.commit(fake_api.FAKE_CONTAINER_ID)
|
self.client.commit(fake_api.FAKE_CONTAINER_ID)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'commit',
|
url_prefix + 'commit',
|
||||||
data='{}',
|
data='{}',
|
||||||
headers={'Content-Type': 'application/json'},
|
headers={'Content-Type': 'application/json'},
|
||||||
|
|
@ -1700,6 +1767,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.remove_image(fake_api.FAKE_IMAGE_ID)
|
self.client.remove_image(fake_api.FAKE_IMAGE_ID)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'DELETE',
|
||||||
url_prefix + 'images/e9aa60c60128',
|
url_prefix + 'images/e9aa60c60128',
|
||||||
params={'force': False, 'noprune': False},
|
params={'force': False, 'noprune': False},
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1709,6 +1777,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.history(fake_api.FAKE_IMAGE_NAME)
|
self.client.history(fake_api.FAKE_IMAGE_NAME)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'images/test_image/history',
|
url_prefix + 'images/test_image/history',
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
)
|
)
|
||||||
|
|
@ -1721,6 +1790,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'images/create',
|
url_prefix + 'images/create',
|
||||||
params={
|
params={
|
||||||
'repo': fake_api.FAKE_REPO_NAME,
|
'repo': fake_api.FAKE_REPO_NAME,
|
||||||
|
|
@ -1741,6 +1811,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'images/create',
|
url_prefix + 'images/create',
|
||||||
params={
|
params={
|
||||||
'repo': fake_api.FAKE_REPO_NAME,
|
'repo': fake_api.FAKE_REPO_NAME,
|
||||||
|
|
@ -1762,6 +1833,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'images/create',
|
url_prefix + 'images/create',
|
||||||
params={
|
params={
|
||||||
'repo': fake_api.FAKE_REPO_NAME,
|
'repo': fake_api.FAKE_REPO_NAME,
|
||||||
|
|
@ -1776,6 +1848,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.inspect_image(fake_api.FAKE_IMAGE_NAME)
|
self.client.inspect_image(fake_api.FAKE_IMAGE_NAME)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'images/test_image/json',
|
url_prefix + 'images/test_image/json',
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
)
|
)
|
||||||
|
|
@ -1800,6 +1873,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
return
|
return
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'images/test_image/insert',
|
url_prefix + 'images/test_image/insert',
|
||||||
params={
|
params={
|
||||||
'url': fake_api.FAKE_URL,
|
'url': fake_api.FAKE_URL,
|
||||||
|
|
@ -1814,6 +1888,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.push(fake_api.FAKE_IMAGE_NAME)
|
self.client.push(fake_api.FAKE_IMAGE_NAME)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'images/test_image/push',
|
url_prefix + 'images/test_image/push',
|
||||||
params={
|
params={
|
||||||
'tag': None
|
'tag': None
|
||||||
|
|
@ -1832,6 +1907,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'images/test_image/push',
|
url_prefix + 'images/test_image/push',
|
||||||
params={
|
params={
|
||||||
'tag': fake_api.FAKE_TAG_NAME,
|
'tag': fake_api.FAKE_TAG_NAME,
|
||||||
|
|
@ -1848,6 +1924,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.push(fake_api.FAKE_IMAGE_NAME, stream=True)
|
self.client.push(fake_api.FAKE_IMAGE_NAME, stream=True)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'images/test_image/push',
|
url_prefix + 'images/test_image/push',
|
||||||
params={
|
params={
|
||||||
'tag': None
|
'tag': None
|
||||||
|
|
@ -1862,6 +1939,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.tag(fake_api.FAKE_IMAGE_ID, fake_api.FAKE_REPO_NAME)
|
self.client.tag(fake_api.FAKE_IMAGE_ID, fake_api.FAKE_REPO_NAME)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'images/e9aa60c60128/tag',
|
url_prefix + 'images/e9aa60c60128/tag',
|
||||||
params={
|
params={
|
||||||
'tag': None,
|
'tag': None,
|
||||||
|
|
@ -1879,6 +1957,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'images/e9aa60c60128/tag',
|
url_prefix + 'images/e9aa60c60128/tag',
|
||||||
params={
|
params={
|
||||||
'tag': 'tag',
|
'tag': 'tag',
|
||||||
|
|
@ -1893,6 +1972,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
fake_api.FAKE_IMAGE_ID, fake_api.FAKE_REPO_NAME, force=True)
|
fake_api.FAKE_IMAGE_ID, fake_api.FAKE_REPO_NAME, force=True)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'images/e9aa60c60128/tag',
|
url_prefix + 'images/e9aa60c60128/tag',
|
||||||
params={
|
params={
|
||||||
'tag': None,
|
'tag': None,
|
||||||
|
|
@ -1906,6 +1986,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.get_image(fake_api.FAKE_IMAGE_ID)
|
self.client.get_image(fake_api.FAKE_IMAGE_ID)
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'GET',
|
||||||
url_prefix + 'images/e9aa60c60128/get',
|
url_prefix + 'images/e9aa60c60128/get',
|
||||||
stream=True,
|
stream=True,
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -1915,6 +1996,7 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
self.client.load_image('Byte Stream....')
|
self.client.load_image('Byte Stream....')
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
|
'POST',
|
||||||
url_prefix + 'images/load',
|
url_prefix + 'images/load',
|
||||||
data='Byte Stream....',
|
data='Byte Stream....',
|
||||||
timeout=DEFAULT_TIMEOUT_SECONDS
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
||||||
|
|
@ -2021,6 +2103,100 @@ class DockerClientTest(Cleanup, base.BaseTestCase):
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
|
###################
|
||||||
|
# VOLUMES TESTS #
|
||||||
|
###################
|
||||||
|
|
||||||
|
@pytest.mark.skipif(docker.utils.compare_version(
|
||||||
|
'1.21', docker.constants.DEFAULT_DOCKER_API_VERSION
|
||||||
|
) < 0, reason="API version too low")
|
||||||
|
def test_list_volumes(self):
|
||||||
|
volumes = self.client.volumes()
|
||||||
|
self.assertIn('Volumes', volumes)
|
||||||
|
self.assertEqual(len(volumes['Volumes']), 2)
|
||||||
|
args = fake_request.call_args
|
||||||
|
|
||||||
|
self.assertEqual(args[0][0], 'GET')
|
||||||
|
self.assertEqual(args[0][1], url_prefix + 'volumes')
|
||||||
|
|
||||||
|
@pytest.mark.skipif(docker.utils.compare_version(
|
||||||
|
'1.21', docker.constants.DEFAULT_DOCKER_API_VERSION
|
||||||
|
) < 0, reason="API version too low")
|
||||||
|
def test_create_volume(self):
|
||||||
|
name = 'perfectcherryblossom'
|
||||||
|
result = self.client.create_volume(name)
|
||||||
|
self.assertIn('Name', result)
|
||||||
|
self.assertEqual(result['Name'], name)
|
||||||
|
self.assertIn('Driver', result)
|
||||||
|
self.assertEqual(result['Driver'], 'local')
|
||||||
|
args = fake_request.call_args
|
||||||
|
|
||||||
|
self.assertEqual(args[0][0], 'POST')
|
||||||
|
self.assertEqual(args[0][1], url_prefix + 'volumes')
|
||||||
|
self.assertEqual(args[1]['data'], {
|
||||||
|
'Name': name, 'Driver': None, 'DriverOpts': None
|
||||||
|
})
|
||||||
|
|
||||||
|
@pytest.mark.skipif(docker.utils.compare_version(
|
||||||
|
'1.21', docker.constants.DEFAULT_DOCKER_API_VERSION
|
||||||
|
) < 0, reason="API version too low")
|
||||||
|
def test_create_volume_with_driver(self):
|
||||||
|
name = 'perfectcherryblossom'
|
||||||
|
driver_name = 'sshfs'
|
||||||
|
self.client.create_volume(name, driver=driver_name)
|
||||||
|
args = fake_request.call_args
|
||||||
|
|
||||||
|
self.assertEqual(args[0][0], 'POST')
|
||||||
|
self.assertEqual(args[0][1], url_prefix + 'volumes')
|
||||||
|
self.assertIn('Driver', args[1]['data'])
|
||||||
|
self.assertEqual(args[1]['data']['Driver'], driver_name)
|
||||||
|
|
||||||
|
@pytest.mark.skipif(docker.utils.compare_version(
|
||||||
|
'1.21', docker.constants.DEFAULT_DOCKER_API_VERSION
|
||||||
|
) < 0, reason="API version too low")
|
||||||
|
def test_create_volume_invalid_opts_type(self):
|
||||||
|
with pytest.raises(TypeError):
|
||||||
|
self.client.create_volume(
|
||||||
|
'perfectcherryblossom', driver_opts='hello=world'
|
||||||
|
)
|
||||||
|
|
||||||
|
with pytest.raises(TypeError):
|
||||||
|
self.client.create_volume(
|
||||||
|
'perfectcherryblossom', driver_opts=['hello=world']
|
||||||
|
)
|
||||||
|
|
||||||
|
with pytest.raises(TypeError):
|
||||||
|
self.client.create_volume(
|
||||||
|
'perfectcherryblossom', driver_opts=''
|
||||||
|
)
|
||||||
|
|
||||||
|
@pytest.mark.skipif(docker.utils.compare_version(
|
||||||
|
'1.21', docker.constants.DEFAULT_DOCKER_API_VERSION
|
||||||
|
) < 0, reason="API version too low")
|
||||||
|
def test_inspect_volume(self):
|
||||||
|
name = 'perfectcherryblossom'
|
||||||
|
result = self.client.inspect_volume(name)
|
||||||
|
self.assertIn('Name', result)
|
||||||
|
self.assertEqual(result['Name'], name)
|
||||||
|
self.assertIn('Driver', result)
|
||||||
|
self.assertEqual(result['Driver'], 'local')
|
||||||
|
args = fake_request.call_args
|
||||||
|
|
||||||
|
self.assertEqual(args[0][0], 'GET')
|
||||||
|
self.assertEqual(args[0][1], '{0}volumes/{1}'.format(url_prefix, name))
|
||||||
|
|
||||||
|
@pytest.mark.skipif(docker.utils.compare_version(
|
||||||
|
'1.21', docker.constants.DEFAULT_DOCKER_API_VERSION
|
||||||
|
) < 0, reason="API version too low")
|
||||||
|
def test_remove_volume(self):
|
||||||
|
name = 'perfectcherryblossom'
|
||||||
|
result = self.client.remove_volume(name)
|
||||||
|
self.assertIsNone(result)
|
||||||
|
args = fake_request.call_args
|
||||||
|
|
||||||
|
self.assertEqual(args[0][0], 'DELETE')
|
||||||
|
self.assertEqual(args[0][1], '{0}volumes/{1}'.format(url_prefix, name))
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
# PY SPECIFIC TESTS #
|
# PY SPECIFIC TESTS #
|
||||||
#######################
|
#######################
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue