mirror of https://github.com/docker/docker-py.git
84 lines
2.4 KiB
Python
84 lines
2.4 KiB
Python
import json
|
|
|
|
from . import fake_api
|
|
from .api_test import (
|
|
BaseAPIClientTest, url_prefix, fake_request, DEFAULT_TIMEOUT_SECONDS,
|
|
)
|
|
|
|
|
|
class ExecTest(BaseAPIClientTest):
|
|
def test_exec_create(self):
|
|
self.client.exec_create(fake_api.FAKE_CONTAINER_ID, ['ls', '-1'])
|
|
|
|
args = fake_request.call_args
|
|
assert 'POST' == args[0][0], url_prefix + 'containers/{0}/exec'.format(
|
|
fake_api.FAKE_CONTAINER_ID
|
|
)
|
|
|
|
assert json.loads(args[1]['data']) == {
|
|
'Tty': False,
|
|
'AttachStdout': True,
|
|
'Container': fake_api.FAKE_CONTAINER_ID,
|
|
'Cmd': ['ls', '-1'],
|
|
'Privileged': False,
|
|
'AttachStdin': False,
|
|
'AttachStderr': True,
|
|
'User': ''
|
|
}
|
|
|
|
assert args[1]['headers'] == {'Content-Type': 'application/json'}
|
|
|
|
def test_exec_start(self):
|
|
self.client.exec_start(fake_api.FAKE_EXEC_ID)
|
|
|
|
args = fake_request.call_args
|
|
assert args[0][1] == url_prefix + 'exec/{0}/start'.format(
|
|
fake_api.FAKE_EXEC_ID
|
|
)
|
|
|
|
assert json.loads(args[1]['data']) == {
|
|
'Tty': False,
|
|
'Detach': False,
|
|
}
|
|
|
|
assert args[1]['headers'] == {
|
|
'Content-Type': 'application/json',
|
|
'Connection': 'Upgrade',
|
|
'Upgrade': 'tcp'
|
|
}
|
|
|
|
def test_exec_start_detached(self):
|
|
self.client.exec_start(fake_api.FAKE_EXEC_ID, detach=True)
|
|
|
|
args = fake_request.call_args
|
|
assert args[0][1] == url_prefix + 'exec/{0}/start'.format(
|
|
fake_api.FAKE_EXEC_ID
|
|
)
|
|
|
|
assert json.loads(args[1]['data']) == {
|
|
'Tty': False,
|
|
'Detach': True
|
|
}
|
|
|
|
assert args[1]['headers'] == {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
|
|
def test_exec_inspect(self):
|
|
self.client.exec_inspect(fake_api.FAKE_EXEC_ID)
|
|
|
|
args = fake_request.call_args
|
|
assert args[0][1] == url_prefix + 'exec/{0}/json'.format(
|
|
fake_api.FAKE_EXEC_ID
|
|
)
|
|
|
|
def test_exec_resize(self):
|
|
self.client.exec_resize(fake_api.FAKE_EXEC_ID, height=20, width=60)
|
|
|
|
fake_request.assert_called_with(
|
|
'POST',
|
|
url_prefix + 'exec/{0}/resize'.format(fake_api.FAKE_EXEC_ID),
|
|
params={'h': 20, 'w': 60},
|
|
timeout=DEFAULT_TIMEOUT_SECONDS
|
|
)
|