mirror of https://github.com/docker/docker-py.git
Update alpine version to 3.10, and rename BUSYBOX variable
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
23635d43ab
commit
73ad8b8f19
|
@ -9,7 +9,7 @@ from docker.utils.proxy import ProxyConfig
|
|||
import pytest
|
||||
import six
|
||||
|
||||
from .base import BaseAPIIntegrationTest, BUSYBOX
|
||||
from .base import BaseAPIIntegrationTest, TEST_IMG
|
||||
from ..helpers import random_name, requires_api_version, requires_experimental
|
||||
|
||||
|
||||
|
@ -277,7 +277,7 @@ class BuildTest(BaseAPIIntegrationTest):
|
|||
# Set up pingable endpoint on custom network
|
||||
network = self.client.create_network(random_name())['Id']
|
||||
self.tmp_networks.append(network)
|
||||
container = self.client.create_container(BUSYBOX, 'top')
|
||||
container = self.client.create_container(TEST_IMG, 'top')
|
||||
self.tmp_containers.append(container)
|
||||
self.client.start(container)
|
||||
self.client.connect_container_to_network(
|
||||
|
|
|
@ -15,7 +15,7 @@ from ..helpers import assert_cat_socket_detached_with_keys
|
|||
from ..helpers import ctrl_with
|
||||
from ..helpers import requires_api_version
|
||||
from .base import BaseAPIIntegrationTest
|
||||
from .base import BUSYBOX
|
||||
from .base import TEST_IMG
|
||||
from docker.constants import IS_WINDOWS_PLATFORM
|
||||
from docker.utils.socket import next_frame_header
|
||||
from docker.utils.socket import read_exactly
|
||||
|
@ -25,7 +25,7 @@ class ListContainersTest(BaseAPIIntegrationTest):
|
|||
def test_list_containers(self):
|
||||
res0 = self.client.containers(all=True)
|
||||
size = len(res0)
|
||||
res1 = self.client.create_container(BUSYBOX, 'true')
|
||||
res1 = self.client.create_container(TEST_IMG, 'true')
|
||||
assert 'Id' in res1
|
||||
self.client.start(res1['Id'])
|
||||
self.tmp_containers.append(res1['Id'])
|
||||
|
@ -44,13 +44,13 @@ class ListContainersTest(BaseAPIIntegrationTest):
|
|||
class CreateContainerTest(BaseAPIIntegrationTest):
|
||||
|
||||
def test_create(self):
|
||||
res = self.client.create_container(BUSYBOX, 'true')
|
||||
res = self.client.create_container(TEST_IMG, 'true')
|
||||
assert 'Id' in res
|
||||
self.tmp_containers.append(res['Id'])
|
||||
|
||||
def test_create_with_host_pid_mode(self):
|
||||
ctnr = self.client.create_container(
|
||||
BUSYBOX, 'true', host_config=self.client.create_host_config(
|
||||
TEST_IMG, 'true', host_config=self.client.create_host_config(
|
||||
pid_mode='host', network_mode='none'
|
||||
)
|
||||
)
|
||||
|
@ -65,7 +65,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_create_with_links(self):
|
||||
res0 = self.client.create_container(
|
||||
BUSYBOX, 'cat',
|
||||
TEST_IMG, 'cat',
|
||||
detach=True, stdin_open=True,
|
||||
environment={'FOO': '1'})
|
||||
|
||||
|
@ -75,7 +75,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
self.client.start(container1_id)
|
||||
|
||||
res1 = self.client.create_container(
|
||||
BUSYBOX, 'cat',
|
||||
TEST_IMG, 'cat',
|
||||
detach=True, stdin_open=True,
|
||||
environment={'FOO': '1'})
|
||||
|
||||
|
@ -94,7 +94,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
link_env_prefix2 = link_alias2.upper()
|
||||
|
||||
res2 = self.client.create_container(
|
||||
BUSYBOX, 'env', host_config=self.client.create_host_config(
|
||||
TEST_IMG, 'env', host_config=self.client.create_host_config(
|
||||
links={link_path1: link_alias1, link_path2: link_alias2},
|
||||
network_mode='bridge'
|
||||
)
|
||||
|
@ -114,7 +114,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_create_with_restart_policy(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['sleep', '2'],
|
||||
TEST_IMG, ['sleep', '2'],
|
||||
host_config=self.client.create_host_config(
|
||||
restart_policy={"Name": "always", "MaximumRetryCount": 0},
|
||||
network_mode='none'
|
||||
|
@ -133,21 +133,21 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
vol_names = ['foobar_vol0', 'foobar_vol1']
|
||||
|
||||
res0 = self.client.create_container(
|
||||
BUSYBOX, 'true', name=vol_names[0]
|
||||
TEST_IMG, 'true', name=vol_names[0]
|
||||
)
|
||||
container1_id = res0['Id']
|
||||
self.tmp_containers.append(container1_id)
|
||||
self.client.start(container1_id)
|
||||
|
||||
res1 = self.client.create_container(
|
||||
BUSYBOX, 'true', name=vol_names[1]
|
||||
TEST_IMG, 'true', name=vol_names[1]
|
||||
)
|
||||
container2_id = res1['Id']
|
||||
self.tmp_containers.append(container2_id)
|
||||
self.client.start(container2_id)
|
||||
|
||||
res = self.client.create_container(
|
||||
BUSYBOX, 'cat', detach=True, stdin_open=True,
|
||||
TEST_IMG, 'cat', detach=True, stdin_open=True,
|
||||
host_config=self.client.create_host_config(
|
||||
volumes_from=vol_names, network_mode='none'
|
||||
)
|
||||
|
@ -161,7 +161,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
def create_container_readonly_fs(self):
|
||||
ctnr = self.client.create_container(
|
||||
BUSYBOX, ['mkdir', '/shrine'],
|
||||
TEST_IMG, ['mkdir', '/shrine'],
|
||||
host_config=self.client.create_host_config(
|
||||
read_only=True, network_mode='none'
|
||||
)
|
||||
|
@ -173,7 +173,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
assert res != 0
|
||||
|
||||
def create_container_with_name(self):
|
||||
res = self.client.create_container(BUSYBOX, 'true', name='foobar')
|
||||
res = self.client.create_container(TEST_IMG, 'true', name='foobar')
|
||||
assert 'Id' in res
|
||||
self.tmp_containers.append(res['Id'])
|
||||
inspect = self.client.inspect_container(res['Id'])
|
||||
|
@ -182,7 +182,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
def create_container_privileged(self):
|
||||
res = self.client.create_container(
|
||||
BUSYBOX, 'true', host_config=self.client.create_host_config(
|
||||
TEST_IMG, 'true', host_config=self.client.create_host_config(
|
||||
privileged=True, network_mode='none'
|
||||
)
|
||||
)
|
||||
|
@ -208,7 +208,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
def test_create_with_mac_address(self):
|
||||
mac_address_expected = "02:42:ac:11:00:0a"
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['sleep', '60'], mac_address=mac_address_expected)
|
||||
TEST_IMG, ['sleep', '60'], mac_address=mac_address_expected)
|
||||
|
||||
id = container['Id']
|
||||
|
||||
|
@ -220,7 +220,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_group_id_ints(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'id -G',
|
||||
TEST_IMG, 'id -G',
|
||||
host_config=self.client.create_host_config(group_add=[1000, 1001])
|
||||
)
|
||||
self.tmp_containers.append(container)
|
||||
|
@ -236,7 +236,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_group_id_strings(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'id -G', host_config=self.client.create_host_config(
|
||||
TEST_IMG, 'id -G', host_config=self.client.create_host_config(
|
||||
group_add=['1000', '1001']
|
||||
)
|
||||
)
|
||||
|
@ -259,7 +259,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
)
|
||||
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['true'],
|
||||
TEST_IMG, ['true'],
|
||||
host_config=self.client.create_host_config(log_config=log_config)
|
||||
)
|
||||
self.tmp_containers.append(container['Id'])
|
||||
|
@ -281,7 +281,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
with pytest.raises(docker.errors.APIError) as excinfo:
|
||||
# raises an internal server error 500
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['true'], host_config=self.client.create_host_config(
|
||||
TEST_IMG, ['true'], host_config=self.client.create_host_config(
|
||||
log_config=log_config
|
||||
)
|
||||
)
|
||||
|
@ -296,7 +296,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
)
|
||||
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['true'],
|
||||
TEST_IMG, ['true'],
|
||||
host_config=self.client.create_host_config(log_config=log_config)
|
||||
)
|
||||
self.tmp_containers.append(container['Id'])
|
||||
|
@ -315,7 +315,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
)
|
||||
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['true'],
|
||||
TEST_IMG, ['true'],
|
||||
host_config=self.client.create_host_config(log_config=log_config)
|
||||
)
|
||||
self.tmp_containers.append(container['Id'])
|
||||
|
@ -329,7 +329,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_create_with_memory_constraints_with_str(self):
|
||||
ctnr = self.client.create_container(
|
||||
BUSYBOX, 'true',
|
||||
TEST_IMG, 'true',
|
||||
host_config=self.client.create_host_config(
|
||||
memswap_limit='1G',
|
||||
mem_limit='700M'
|
||||
|
@ -347,7 +347,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_create_with_memory_constraints_with_int(self):
|
||||
ctnr = self.client.create_container(
|
||||
BUSYBOX, 'true',
|
||||
TEST_IMG, 'true',
|
||||
host_config=self.client.create_host_config(mem_swappiness=40)
|
||||
)
|
||||
assert 'Id' in ctnr
|
||||
|
@ -361,7 +361,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_create_with_environment_variable_no_value(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX,
|
||||
TEST_IMG,
|
||||
['echo'],
|
||||
environment={'Foo': None, 'Other': 'one', 'Blank': ''},
|
||||
)
|
||||
|
@ -378,7 +378,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
}
|
||||
|
||||
container = self.client.create_container(
|
||||
BUSYBOX,
|
||||
TEST_IMG,
|
||||
['echo'],
|
||||
host_config=self.client.create_host_config(
|
||||
tmpfs=tmpfs))
|
||||
|
@ -390,7 +390,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
@requires_api_version('1.24')
|
||||
def test_create_with_isolation(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['echo'], host_config=self.client.create_host_config(
|
||||
TEST_IMG, ['echo'], host_config=self.client.create_host_config(
|
||||
isolation='default'
|
||||
)
|
||||
)
|
||||
|
@ -404,7 +404,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
auto_remove=True
|
||||
)
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['echo', 'test'], host_config=host_config
|
||||
TEST_IMG, ['echo', 'test'], host_config=host_config
|
||||
)
|
||||
self.tmp_containers.append(container['Id'])
|
||||
config = self.client.inspect_container(container)
|
||||
|
@ -413,7 +413,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
@requires_api_version('1.25')
|
||||
def test_create_with_stop_timeout(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['echo', 'test'], stop_timeout=25
|
||||
TEST_IMG, ['echo', 'test'], stop_timeout=25
|
||||
)
|
||||
self.tmp_containers.append(container['Id'])
|
||||
config = self.client.inspect_container(container)
|
||||
|
@ -426,7 +426,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
storage_opt={'size': '120G'}
|
||||
)
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['echo', 'test'], host_config=host_config
|
||||
TEST_IMG, ['echo', 'test'], host_config=host_config
|
||||
)
|
||||
self.tmp_containers.append(container)
|
||||
config = self.client.inspect_container(container)
|
||||
|
@ -437,7 +437,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
@requires_api_version('1.25')
|
||||
def test_create_with_init(self):
|
||||
ctnr = self.client.create_container(
|
||||
BUSYBOX, 'true',
|
||||
TEST_IMG, 'true',
|
||||
host_config=self.client.create_host_config(
|
||||
init=True
|
||||
)
|
||||
|
@ -451,7 +451,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
reason='CONFIG_RT_GROUP_SCHED isn\'t enabled')
|
||||
def test_create_with_cpu_rt_options(self):
|
||||
ctnr = self.client.create_container(
|
||||
BUSYBOX, 'true', host_config=self.client.create_host_config(
|
||||
TEST_IMG, 'true', host_config=self.client.create_host_config(
|
||||
cpu_rt_period=1000, cpu_rt_runtime=500
|
||||
)
|
||||
)
|
||||
|
@ -464,7 +464,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
def test_create_with_device_cgroup_rules(self):
|
||||
rule = 'c 7:128 rwm'
|
||||
ctnr = self.client.create_container(
|
||||
BUSYBOX, 'cat /sys/fs/cgroup/devices/devices.list',
|
||||
TEST_IMG, 'cat /sys/fs/cgroup/devices/devices.list',
|
||||
host_config=self.client.create_host_config(
|
||||
device_cgroup_rules=[rule]
|
||||
)
|
||||
|
@ -477,7 +477,7 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_create_with_uts_mode(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['echo'], host_config=self.client.create_host_config(
|
||||
TEST_IMG, ['echo'], host_config=self.client.create_host_config(
|
||||
uts_mode='host'
|
||||
)
|
||||
)
|
||||
|
@ -501,7 +501,7 @@ class VolumeBindTest(BaseAPIIntegrationTest):
|
|||
|
||||
self.run_with_volume(
|
||||
False,
|
||||
BUSYBOX,
|
||||
TEST_IMG,
|
||||
['touch', os.path.join(self.mount_dest, self.filename)],
|
||||
)
|
||||
|
||||
|
@ -509,7 +509,7 @@ class VolumeBindTest(BaseAPIIntegrationTest):
|
|||
|
||||
container = self.run_with_volume(
|
||||
False,
|
||||
BUSYBOX,
|
||||
TEST_IMG,
|
||||
['ls', self.mount_dest],
|
||||
)
|
||||
logs = self.client.logs(container)
|
||||
|
@ -523,12 +523,12 @@ class VolumeBindTest(BaseAPIIntegrationTest):
|
|||
def test_create_with_binds_ro(self):
|
||||
self.run_with_volume(
|
||||
False,
|
||||
BUSYBOX,
|
||||
TEST_IMG,
|
||||
['touch', os.path.join(self.mount_dest, self.filename)],
|
||||
)
|
||||
container = self.run_with_volume(
|
||||
True,
|
||||
BUSYBOX,
|
||||
TEST_IMG,
|
||||
['ls', self.mount_dest],
|
||||
)
|
||||
logs = self.client.logs(container)
|
||||
|
@ -547,7 +547,7 @@ class VolumeBindTest(BaseAPIIntegrationTest):
|
|||
)
|
||||
host_config = self.client.create_host_config(mounts=[mount])
|
||||
container = self.run_container(
|
||||
BUSYBOX, ['ls', self.mount_dest],
|
||||
TEST_IMG, ['ls', self.mount_dest],
|
||||
host_config=host_config
|
||||
)
|
||||
assert container
|
||||
|
@ -566,7 +566,7 @@ class VolumeBindTest(BaseAPIIntegrationTest):
|
|||
)
|
||||
host_config = self.client.create_host_config(mounts=[mount])
|
||||
container = self.run_container(
|
||||
BUSYBOX, ['ls', self.mount_dest],
|
||||
TEST_IMG, ['ls', self.mount_dest],
|
||||
host_config=host_config
|
||||
)
|
||||
assert container
|
||||
|
@ -585,7 +585,7 @@ class VolumeBindTest(BaseAPIIntegrationTest):
|
|||
)
|
||||
host_config = self.client.create_host_config(mounts=[mount])
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['true'], host_config=host_config,
|
||||
TEST_IMG, ['true'], host_config=host_config,
|
||||
)
|
||||
assert container
|
||||
inspect_data = self.client.inspect_container(container)
|
||||
|
@ -631,7 +631,7 @@ class ArchiveTest(BaseAPIIntegrationTest):
|
|||
def test_get_file_archive_from_container(self):
|
||||
data = 'The Maid and the Pocket Watch of Blood'
|
||||
ctnr = self.client.create_container(
|
||||
BUSYBOX, 'sh -c "echo {0} > /vol1/data.txt"'.format(data),
|
||||
TEST_IMG, 'sh -c "echo {0} > /vol1/data.txt"'.format(data),
|
||||
volumes=['/vol1']
|
||||
)
|
||||
self.tmp_containers.append(ctnr)
|
||||
|
@ -650,7 +650,7 @@ class ArchiveTest(BaseAPIIntegrationTest):
|
|||
def test_get_file_stat_from_container(self):
|
||||
data = 'The Maid and the Pocket Watch of Blood'
|
||||
ctnr = self.client.create_container(
|
||||
BUSYBOX, 'sh -c "echo -n {0} > /vol1/data.txt"'.format(data),
|
||||
TEST_IMG, 'sh -c "echo -n {0} > /vol1/data.txt"'.format(data),
|
||||
volumes=['/vol1']
|
||||
)
|
||||
self.tmp_containers.append(ctnr)
|
||||
|
@ -668,7 +668,7 @@ class ArchiveTest(BaseAPIIntegrationTest):
|
|||
test_file.write(data)
|
||||
test_file.seek(0)
|
||||
ctnr = self.client.create_container(
|
||||
BUSYBOX,
|
||||
TEST_IMG,
|
||||
'cat {0}'.format(
|
||||
os.path.join('/vol1/', os.path.basename(test_file.name))
|
||||
),
|
||||
|
@ -690,7 +690,7 @@ class ArchiveTest(BaseAPIIntegrationTest):
|
|||
dirs = ['foo', 'bar']
|
||||
base = helpers.make_tree(dirs, files)
|
||||
ctnr = self.client.create_container(
|
||||
BUSYBOX, 'ls -p /vol1', volumes=['/vol1']
|
||||
TEST_IMG, 'ls -p /vol1', volumes=['/vol1']
|
||||
)
|
||||
self.tmp_containers.append(ctnr)
|
||||
with docker.utils.tar(base) as test_tar:
|
||||
|
@ -711,7 +711,7 @@ class RenameContainerTest(BaseAPIIntegrationTest):
|
|||
def test_rename_container(self):
|
||||
version = self.client.version()['Version']
|
||||
name = 'hong_meiling'
|
||||
res = self.client.create_container(BUSYBOX, 'true')
|
||||
res = self.client.create_container(TEST_IMG, 'true')
|
||||
assert 'Id' in res
|
||||
self.tmp_containers.append(res['Id'])
|
||||
self.client.rename(res, name)
|
||||
|
@ -725,7 +725,7 @@ class RenameContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
class StartContainerTest(BaseAPIIntegrationTest):
|
||||
def test_start_container(self):
|
||||
res = self.client.create_container(BUSYBOX, 'true')
|
||||
res = self.client.create_container(TEST_IMG, 'true')
|
||||
assert 'Id' in res
|
||||
self.tmp_containers.append(res['Id'])
|
||||
self.client.start(res['Id'])
|
||||
|
@ -741,7 +741,7 @@ class StartContainerTest(BaseAPIIntegrationTest):
|
|||
assert inspect['State']['ExitCode'] == 0
|
||||
|
||||
def test_start_container_with_dict_instead_of_id(self):
|
||||
res = self.client.create_container(BUSYBOX, 'true')
|
||||
res = self.client.create_container(TEST_IMG, 'true')
|
||||
assert 'Id' in res
|
||||
self.tmp_containers.append(res['Id'])
|
||||
self.client.start(res)
|
||||
|
@ -769,7 +769,7 @@ class StartContainerTest(BaseAPIIntegrationTest):
|
|||
'true && echo "Night of Nights"'
|
||||
]
|
||||
for cmd in commands:
|
||||
container = self.client.create_container(BUSYBOX, cmd)
|
||||
container = self.client.create_container(TEST_IMG, cmd)
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -779,7 +779,7 @@ class StartContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
class WaitTest(BaseAPIIntegrationTest):
|
||||
def test_wait(self):
|
||||
res = self.client.create_container(BUSYBOX, ['sleep', '3'])
|
||||
res = self.client.create_container(TEST_IMG, ['sleep', '3'])
|
||||
id = res['Id']
|
||||
self.tmp_containers.append(id)
|
||||
self.client.start(id)
|
||||
|
@ -792,7 +792,7 @@ class WaitTest(BaseAPIIntegrationTest):
|
|||
assert inspect['State']['ExitCode'] == exitcode
|
||||
|
||||
def test_wait_with_dict_instead_of_id(self):
|
||||
res = self.client.create_container(BUSYBOX, ['sleep', '3'])
|
||||
res = self.client.create_container(TEST_IMG, ['sleep', '3'])
|
||||
id = res['Id']
|
||||
self.tmp_containers.append(id)
|
||||
self.client.start(res)
|
||||
|
@ -806,13 +806,13 @@ class WaitTest(BaseAPIIntegrationTest):
|
|||
|
||||
@requires_api_version('1.30')
|
||||
def test_wait_with_condition(self):
|
||||
ctnr = self.client.create_container(BUSYBOX, 'true')
|
||||
ctnr = self.client.create_container(TEST_IMG, 'true')
|
||||
self.tmp_containers.append(ctnr)
|
||||
with pytest.raises(requests.exceptions.ConnectionError):
|
||||
self.client.wait(ctnr, condition='removed', timeout=1)
|
||||
|
||||
ctnr = self.client.create_container(
|
||||
BUSYBOX, ['sleep', '3'],
|
||||
TEST_IMG, ['sleep', '3'],
|
||||
host_config=self.client.create_host_config(auto_remove=True)
|
||||
)
|
||||
self.tmp_containers.append(ctnr)
|
||||
|
@ -826,7 +826,7 @@ class LogsTest(BaseAPIIntegrationTest):
|
|||
def test_logs(self):
|
||||
snippet = 'Flowering Nights (Sakuya Iyazoi)'
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'echo {0}'.format(snippet)
|
||||
TEST_IMG, 'echo {0}'.format(snippet)
|
||||
)
|
||||
id = container['Id']
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -840,7 +840,7 @@ class LogsTest(BaseAPIIntegrationTest):
|
|||
snippet = '''Line1
|
||||
Line2'''
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'echo "{0}"'.format(snippet)
|
||||
TEST_IMG, 'echo "{0}"'.format(snippet)
|
||||
)
|
||||
id = container['Id']
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -853,7 +853,7 @@ Line2'''
|
|||
def test_logs_streaming_and_follow(self):
|
||||
snippet = 'Flowering Nights (Sakuya Iyazoi)'
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'echo {0}'.format(snippet)
|
||||
TEST_IMG, 'echo {0}'.format(snippet)
|
||||
)
|
||||
id = container['Id']
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -873,7 +873,7 @@ Line2'''
|
|||
def test_logs_streaming_and_follow_and_cancel(self):
|
||||
snippet = 'Flowering Nights (Sakuya Iyazoi)'
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'sh -c "echo \\"{0}\\" && sleep 3"'.format(snippet)
|
||||
TEST_IMG, 'sh -c "echo \\"{0}\\" && sleep 3"'.format(snippet)
|
||||
)
|
||||
id = container['Id']
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -891,7 +891,7 @@ Line2'''
|
|||
def test_logs_with_dict_instead_of_id(self):
|
||||
snippet = 'Flowering Nights (Sakuya Iyazoi)'
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'echo {0}'.format(snippet)
|
||||
TEST_IMG, 'echo {0}'.format(snippet)
|
||||
)
|
||||
id = container['Id']
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -904,7 +904,7 @@ Line2'''
|
|||
def test_logs_with_tail_0(self):
|
||||
snippet = 'Flowering Nights (Sakuya Iyazoi)'
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'echo "{0}"'.format(snippet)
|
||||
TEST_IMG, 'echo "{0}"'.format(snippet)
|
||||
)
|
||||
id = container['Id']
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -918,7 +918,7 @@ Line2'''
|
|||
def test_logs_with_until(self):
|
||||
snippet = 'Shanghai Teahouse (Hong Meiling)'
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'echo "{0}"'.format(snippet)
|
||||
TEST_IMG, 'echo "{0}"'.format(snippet)
|
||||
)
|
||||
|
||||
self.tmp_containers.append(container)
|
||||
|
@ -933,7 +933,7 @@ Line2'''
|
|||
|
||||
class DiffTest(BaseAPIIntegrationTest):
|
||||
def test_diff(self):
|
||||
container = self.client.create_container(BUSYBOX, ['touch', '/test'])
|
||||
container = self.client.create_container(TEST_IMG, ['touch', '/test'])
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -946,7 +946,7 @@ class DiffTest(BaseAPIIntegrationTest):
|
|||
assert test_diff[0]['Kind'] == 1
|
||||
|
||||
def test_diff_with_dict_instead_of_id(self):
|
||||
container = self.client.create_container(BUSYBOX, ['touch', '/test'])
|
||||
container = self.client.create_container(TEST_IMG, ['touch', '/test'])
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -961,7 +961,7 @@ class DiffTest(BaseAPIIntegrationTest):
|
|||
|
||||
class StopTest(BaseAPIIntegrationTest):
|
||||
def test_stop(self):
|
||||
container = self.client.create_container(BUSYBOX, ['sleep', '9999'])
|
||||
container = self.client.create_container(TEST_IMG, ['sleep', '9999'])
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -973,7 +973,7 @@ class StopTest(BaseAPIIntegrationTest):
|
|||
assert state['Running'] is False
|
||||
|
||||
def test_stop_with_dict_instead_of_id(self):
|
||||
container = self.client.create_container(BUSYBOX, ['sleep', '9999'])
|
||||
container = self.client.create_container(TEST_IMG, ['sleep', '9999'])
|
||||
assert 'Id' in container
|
||||
id = container['Id']
|
||||
self.client.start(container)
|
||||
|
@ -988,7 +988,7 @@ class StopTest(BaseAPIIntegrationTest):
|
|||
|
||||
class KillTest(BaseAPIIntegrationTest):
|
||||
def test_kill(self):
|
||||
container = self.client.create_container(BUSYBOX, ['sleep', '9999'])
|
||||
container = self.client.create_container(TEST_IMG, ['sleep', '9999'])
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -1002,7 +1002,7 @@ class KillTest(BaseAPIIntegrationTest):
|
|||
assert state['Running'] is False
|
||||
|
||||
def test_kill_with_dict_instead_of_id(self):
|
||||
container = self.client.create_container(BUSYBOX, ['sleep', '9999'])
|
||||
container = self.client.create_container(TEST_IMG, ['sleep', '9999'])
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -1016,7 +1016,7 @@ class KillTest(BaseAPIIntegrationTest):
|
|||
assert state['Running'] is False
|
||||
|
||||
def test_kill_with_signal(self):
|
||||
id = self.client.create_container(BUSYBOX, ['sleep', '60'])
|
||||
id = self.client.create_container(TEST_IMG, ['sleep', '60'])
|
||||
self.tmp_containers.append(id)
|
||||
self.client.start(id)
|
||||
self.client.kill(
|
||||
|
@ -1033,7 +1033,7 @@ class KillTest(BaseAPIIntegrationTest):
|
|||
assert state['Running'] is False, state
|
||||
|
||||
def test_kill_with_signal_name(self):
|
||||
id = self.client.create_container(BUSYBOX, ['sleep', '60'])
|
||||
id = self.client.create_container(TEST_IMG, ['sleep', '60'])
|
||||
self.client.start(id)
|
||||
self.tmp_containers.append(id)
|
||||
self.client.kill(id, signal='SIGKILL')
|
||||
|
@ -1048,7 +1048,7 @@ class KillTest(BaseAPIIntegrationTest):
|
|||
assert state['Running'] is False, state
|
||||
|
||||
def test_kill_with_signal_integer(self):
|
||||
id = self.client.create_container(BUSYBOX, ['sleep', '60'])
|
||||
id = self.client.create_container(TEST_IMG, ['sleep', '60'])
|
||||
self.client.start(id)
|
||||
self.tmp_containers.append(id)
|
||||
self.client.kill(id, signal=9)
|
||||
|
@ -1077,7 +1077,7 @@ class PortTest(BaseAPIIntegrationTest):
|
|||
]
|
||||
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['sleep', '60'], ports=ports,
|
||||
TEST_IMG, ['sleep', '60'], ports=ports,
|
||||
host_config=self.client.create_host_config(
|
||||
port_bindings=port_bindings, network_mode='bridge'
|
||||
)
|
||||
|
@ -1104,7 +1104,7 @@ class PortTest(BaseAPIIntegrationTest):
|
|||
class ContainerTopTest(BaseAPIIntegrationTest):
|
||||
def test_top(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['sleep', '60']
|
||||
TEST_IMG, ['sleep', '60']
|
||||
)
|
||||
|
||||
self.tmp_containers.append(container)
|
||||
|
@ -1124,7 +1124,7 @@ class ContainerTopTest(BaseAPIIntegrationTest):
|
|||
)
|
||||
def test_top_with_psargs(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['sleep', '60'])
|
||||
TEST_IMG, ['sleep', '60'])
|
||||
|
||||
self.tmp_containers.append(container)
|
||||
|
||||
|
@ -1140,7 +1140,7 @@ class ContainerTopTest(BaseAPIIntegrationTest):
|
|||
|
||||
class RestartContainerTest(BaseAPIIntegrationTest):
|
||||
def test_restart(self):
|
||||
container = self.client.create_container(BUSYBOX, ['sleep', '9999'])
|
||||
container = self.client.create_container(TEST_IMG, ['sleep', '9999'])
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -1159,7 +1159,7 @@ class RestartContainerTest(BaseAPIIntegrationTest):
|
|||
self.client.kill(id)
|
||||
|
||||
def test_restart_with_low_timeout(self):
|
||||
container = self.client.create_container(BUSYBOX, ['sleep', '9999'])
|
||||
container = self.client.create_container(TEST_IMG, ['sleep', '9999'])
|
||||
self.client.start(container)
|
||||
self.client.timeout = 3
|
||||
self.client.restart(container, timeout=1)
|
||||
|
@ -1168,7 +1168,7 @@ class RestartContainerTest(BaseAPIIntegrationTest):
|
|||
self.client.kill(container)
|
||||
|
||||
def test_restart_with_dict_instead_of_id(self):
|
||||
container = self.client.create_container(BUSYBOX, ['sleep', '9999'])
|
||||
container = self.client.create_container(TEST_IMG, ['sleep', '9999'])
|
||||
assert 'Id' in container
|
||||
id = container['Id']
|
||||
self.client.start(container)
|
||||
|
@ -1190,7 +1190,7 @@ class RestartContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
class RemoveContainerTest(BaseAPIIntegrationTest):
|
||||
def test_remove(self):
|
||||
container = self.client.create_container(BUSYBOX, ['true'])
|
||||
container = self.client.create_container(TEST_IMG, ['true'])
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
self.client.wait(id)
|
||||
|
@ -1200,7 +1200,7 @@ class RemoveContainerTest(BaseAPIIntegrationTest):
|
|||
assert len(res) == 0
|
||||
|
||||
def test_remove_with_dict_instead_of_id(self):
|
||||
container = self.client.create_container(BUSYBOX, ['true'])
|
||||
container = self.client.create_container(TEST_IMG, ['true'])
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
self.client.wait(id)
|
||||
|
@ -1212,7 +1212,7 @@ class RemoveContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
class AttachContainerTest(BaseAPIIntegrationTest):
|
||||
def test_run_container_streaming(self):
|
||||
container = self.client.create_container(BUSYBOX, '/bin/sh',
|
||||
container = self.client.create_container(TEST_IMG, '/bin/sh',
|
||||
detach=True, stdin_open=True)
|
||||
id = container['Id']
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -1224,7 +1224,7 @@ class AttachContainerTest(BaseAPIIntegrationTest):
|
|||
line = 'hi there and stuff and things, words!'
|
||||
# `echo` appends CRLF, `printf` doesn't
|
||||
command = "printf '{0}'".format(line)
|
||||
container = self.client.create_container(BUSYBOX, command,
|
||||
container = self.client.create_container(TEST_IMG, command,
|
||||
detach=True, tty=False)
|
||||
self.tmp_containers.append(container)
|
||||
|
||||
|
@ -1242,7 +1242,7 @@ class AttachContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_attach_no_stream(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'echo hello'
|
||||
TEST_IMG, 'echo hello'
|
||||
)
|
||||
self.tmp_containers.append(container)
|
||||
self.client.start(container)
|
||||
|
@ -1257,7 +1257,7 @@ class AttachContainerTest(BaseAPIIntegrationTest):
|
|||
reason='Flaky test on TLS')
|
||||
def test_attach_stream_and_cancel(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'sh -c "sleep 2 && echo hello && sleep 60"',
|
||||
TEST_IMG, 'sh -c "sleep 2 && echo hello && sleep 60"',
|
||||
tty=True
|
||||
)
|
||||
self.tmp_containers.append(container)
|
||||
|
@ -1275,7 +1275,7 @@ class AttachContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_detach_with_default(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'cat',
|
||||
TEST_IMG, 'cat',
|
||||
detach=True, stdin_open=True, tty=True
|
||||
)
|
||||
self.tmp_containers.append(container)
|
||||
|
@ -1294,7 +1294,7 @@ class AttachContainerTest(BaseAPIIntegrationTest):
|
|||
self.client._general_configs['detachKeys'] = 'ctrl-p'
|
||||
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'cat',
|
||||
TEST_IMG, 'cat',
|
||||
detach=True, stdin_open=True, tty=True
|
||||
)
|
||||
self.tmp_containers.append(container)
|
||||
|
@ -1311,7 +1311,7 @@ class AttachContainerTest(BaseAPIIntegrationTest):
|
|||
self.client._general_configs['detachKeys'] = 'ctrl-p'
|
||||
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'cat',
|
||||
TEST_IMG, 'cat',
|
||||
detach=True, stdin_open=True, tty=True
|
||||
)
|
||||
self.tmp_containers.append(container)
|
||||
|
@ -1327,7 +1327,7 @@ class AttachContainerTest(BaseAPIIntegrationTest):
|
|||
|
||||
class PauseTest(BaseAPIIntegrationTest):
|
||||
def test_pause_unpause(self):
|
||||
container = self.client.create_container(BUSYBOX, ['sleep', '9999'])
|
||||
container = self.client.create_container(TEST_IMG, ['sleep', '9999'])
|
||||
id = container['Id']
|
||||
self.tmp_containers.append(id)
|
||||
self.client.start(container)
|
||||
|
@ -1358,9 +1358,9 @@ class PruneTest(BaseAPIIntegrationTest):
|
|||
@requires_api_version('1.25')
|
||||
def test_prune_containers(self):
|
||||
container1 = self.client.create_container(
|
||||
BUSYBOX, ['sh', '-c', 'echo hello > /data.txt']
|
||||
TEST_IMG, ['sh', '-c', 'echo hello > /data.txt']
|
||||
)
|
||||
container2 = self.client.create_container(BUSYBOX, ['sleep', '9999'])
|
||||
container2 = self.client.create_container(TEST_IMG, ['sleep', '9999'])
|
||||
self.client.start(container1)
|
||||
self.client.start(container2)
|
||||
self.client.wait(container1)
|
||||
|
@ -1373,7 +1373,7 @@ class PruneTest(BaseAPIIntegrationTest):
|
|||
class GetContainerStatsTest(BaseAPIIntegrationTest):
|
||||
def test_get_container_stats_no_stream(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['sleep', '60'],
|
||||
TEST_IMG, ['sleep', '60'],
|
||||
)
|
||||
self.tmp_containers.append(container)
|
||||
self.client.start(container)
|
||||
|
@ -1387,7 +1387,7 @@ class GetContainerStatsTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_get_container_stats_stream(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['sleep', '60'],
|
||||
TEST_IMG, ['sleep', '60'],
|
||||
)
|
||||
self.tmp_containers.append(container)
|
||||
self.client.start(container)
|
||||
|
@ -1405,7 +1405,7 @@ class ContainerUpdateTest(BaseAPIIntegrationTest):
|
|||
old_mem_limit = 400 * 1024 * 1024
|
||||
new_mem_limit = 300 * 1024 * 1024
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'top', host_config=self.client.create_host_config(
|
||||
TEST_IMG, 'top', host_config=self.client.create_host_config(
|
||||
mem_limit=old_mem_limit
|
||||
)
|
||||
)
|
||||
|
@ -1426,7 +1426,7 @@ class ContainerUpdateTest(BaseAPIIntegrationTest):
|
|||
'Name': 'on-failure'
|
||||
}
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['sleep', '60'],
|
||||
TEST_IMG, ['sleep', '60'],
|
||||
host_config=self.client.create_host_config(
|
||||
restart_policy=old_restart_policy
|
||||
)
|
||||
|
@ -1450,7 +1450,7 @@ class ContainerCPUTest(BaseAPIIntegrationTest):
|
|||
def test_container_cpu_shares(self):
|
||||
cpu_shares = 512
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'ls', host_config=self.client.create_host_config(
|
||||
TEST_IMG, 'ls', host_config=self.client.create_host_config(
|
||||
cpu_shares=cpu_shares
|
||||
)
|
||||
)
|
||||
|
@ -1462,7 +1462,7 @@ class ContainerCPUTest(BaseAPIIntegrationTest):
|
|||
def test_container_cpuset(self):
|
||||
cpuset_cpus = "0,1"
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'ls', host_config=self.client.create_host_config(
|
||||
TEST_IMG, 'ls', host_config=self.client.create_host_config(
|
||||
cpuset_cpus=cpuset_cpus
|
||||
)
|
||||
)
|
||||
|
@ -1474,7 +1474,7 @@ class ContainerCPUTest(BaseAPIIntegrationTest):
|
|||
@requires_api_version('1.25')
|
||||
def test_create_with_runtime(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, ['echo', 'test'], runtime='runc'
|
||||
TEST_IMG, ['echo', 'test'], runtime='runc'
|
||||
)
|
||||
self.tmp_containers.append(container['Id'])
|
||||
config = self.client.inspect_container(container)
|
||||
|
@ -1485,7 +1485,7 @@ class LinkTest(BaseAPIIntegrationTest):
|
|||
def test_remove_link(self):
|
||||
# Create containers
|
||||
container1 = self.client.create_container(
|
||||
BUSYBOX, 'cat', detach=True, stdin_open=True
|
||||
TEST_IMG, 'cat', detach=True, stdin_open=True
|
||||
)
|
||||
container1_id = container1['Id']
|
||||
self.tmp_containers.append(container1_id)
|
||||
|
@ -1497,7 +1497,7 @@ class LinkTest(BaseAPIIntegrationTest):
|
|||
link_alias = 'mylink'
|
||||
|
||||
container2 = self.client.create_container(
|
||||
BUSYBOX, 'cat', host_config=self.client.create_host_config(
|
||||
TEST_IMG, 'cat', host_config=self.client.create_host_config(
|
||||
links={link_path: link_alias}
|
||||
)
|
||||
)
|
||||
|
|
|
@ -2,7 +2,7 @@ from ..helpers import assert_cat_socket_detached_with_keys
|
|||
from ..helpers import ctrl_with
|
||||
from ..helpers import requires_api_version
|
||||
from .base import BaseAPIIntegrationTest
|
||||
from .base import BUSYBOX
|
||||
from .base import TEST_IMG
|
||||
from docker.utils.proxy import ProxyConfig
|
||||
from docker.utils.socket import next_frame_header
|
||||
from docker.utils.socket import read_exactly
|
||||
|
@ -16,7 +16,7 @@ class ExecTest(BaseAPIIntegrationTest):
|
|||
)
|
||||
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'cat', detach=True, stdin_open=True,
|
||||
TEST_IMG, 'cat', detach=True, stdin_open=True,
|
||||
)
|
||||
self.client.start(container)
|
||||
self.tmp_containers.append(container)
|
||||
|
@ -48,7 +48,7 @@ class ExecTest(BaseAPIIntegrationTest):
|
|||
assert item in output
|
||||
|
||||
def test_execute_command(self):
|
||||
container = self.client.create_container(BUSYBOX, 'cat',
|
||||
container = self.client.create_container(TEST_IMG, 'cat',
|
||||
detach=True, stdin_open=True)
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
|
@ -61,7 +61,7 @@ class ExecTest(BaseAPIIntegrationTest):
|
|||
assert exec_log == b'hello\n'
|
||||
|
||||
def test_exec_command_string(self):
|
||||
container = self.client.create_container(BUSYBOX, 'cat',
|
||||
container = self.client.create_container(TEST_IMG, 'cat',
|
||||
detach=True, stdin_open=True)
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
|
@ -74,7 +74,7 @@ class ExecTest(BaseAPIIntegrationTest):
|
|||
assert exec_log == b'hello world\n'
|
||||
|
||||
def test_exec_command_as_user(self):
|
||||
container = self.client.create_container(BUSYBOX, 'cat',
|
||||
container = self.client.create_container(TEST_IMG, 'cat',
|
||||
detach=True, stdin_open=True)
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
|
@ -87,7 +87,7 @@ class ExecTest(BaseAPIIntegrationTest):
|
|||
assert exec_log == b'postgres\n'
|
||||
|
||||
def test_exec_command_as_root(self):
|
||||
container = self.client.create_container(BUSYBOX, 'cat',
|
||||
container = self.client.create_container(TEST_IMG, 'cat',
|
||||
detach=True, stdin_open=True)
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
|
@ -100,7 +100,7 @@ class ExecTest(BaseAPIIntegrationTest):
|
|||
assert exec_log == b'root\n'
|
||||
|
||||
def test_exec_command_streaming(self):
|
||||
container = self.client.create_container(BUSYBOX, 'cat',
|
||||
container = self.client.create_container(TEST_IMG, 'cat',
|
||||
detach=True, stdin_open=True)
|
||||
id = container['Id']
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -115,7 +115,7 @@ class ExecTest(BaseAPIIntegrationTest):
|
|||
assert res == b'hello\nworld\n'
|
||||
|
||||
def test_exec_start_socket(self):
|
||||
container = self.client.create_container(BUSYBOX, 'cat',
|
||||
container = self.client.create_container(TEST_IMG, 'cat',
|
||||
detach=True, stdin_open=True)
|
||||
container_id = container['Id']
|
||||
self.client.start(container_id)
|
||||
|
@ -137,7 +137,7 @@ class ExecTest(BaseAPIIntegrationTest):
|
|||
assert data.decode('utf-8') == line
|
||||
|
||||
def test_exec_start_detached(self):
|
||||
container = self.client.create_container(BUSYBOX, 'cat',
|
||||
container = self.client.create_container(TEST_IMG, 'cat',
|
||||
detach=True, stdin_open=True)
|
||||
container_id = container['Id']
|
||||
self.client.start(container_id)
|
||||
|
@ -152,7 +152,7 @@ class ExecTest(BaseAPIIntegrationTest):
|
|||
assert response == ""
|
||||
|
||||
def test_exec_inspect(self):
|
||||
container = self.client.create_container(BUSYBOX, 'cat',
|
||||
container = self.client.create_container(TEST_IMG, 'cat',
|
||||
detach=True, stdin_open=True)
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
|
@ -167,7 +167,7 @@ class ExecTest(BaseAPIIntegrationTest):
|
|||
|
||||
@requires_api_version('1.25')
|
||||
def test_exec_command_with_env(self):
|
||||
container = self.client.create_container(BUSYBOX, 'cat',
|
||||
container = self.client.create_container(TEST_IMG, 'cat',
|
||||
detach=True, stdin_open=True)
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
|
@ -182,7 +182,7 @@ class ExecTest(BaseAPIIntegrationTest):
|
|||
@requires_api_version('1.35')
|
||||
def test_exec_command_with_workdir(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'cat', detach=True, stdin_open=True
|
||||
TEST_IMG, 'cat', detach=True, stdin_open=True
|
||||
)
|
||||
self.tmp_containers.append(container)
|
||||
self.client.start(container)
|
||||
|
@ -193,7 +193,7 @@ class ExecTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_detach_with_default(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'cat', detach=True, stdin_open=True
|
||||
TEST_IMG, 'cat', detach=True, stdin_open=True
|
||||
)
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
|
@ -212,7 +212,7 @@ class ExecTest(BaseAPIIntegrationTest):
|
|||
def test_detach_with_config_file(self):
|
||||
self.client._general_configs['detachKeys'] = 'ctrl-p'
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'cat', detach=True, stdin_open=True
|
||||
TEST_IMG, 'cat', detach=True, stdin_open=True
|
||||
)
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
|
@ -241,7 +241,7 @@ class ExecDemuxTest(BaseAPIIntegrationTest):
|
|||
def setUp(self):
|
||||
super(ExecDemuxTest, self).setUp()
|
||||
self.container = self.client.create_container(
|
||||
BUSYBOX, 'cat', detach=True, stdin_open=True
|
||||
TEST_IMG, 'cat', detach=True, stdin_open=True
|
||||
)
|
||||
self.client.start(self.container)
|
||||
self.tmp_containers.append(self.container)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from .base import BaseAPIIntegrationTest, BUSYBOX
|
||||
from .base import BaseAPIIntegrationTest, TEST_IMG
|
||||
from .. import helpers
|
||||
|
||||
SECOND = 1000000000
|
||||
|
@ -16,7 +16,7 @@ class HealthcheckTest(BaseAPIIntegrationTest):
|
|||
@helpers.requires_api_version('1.24')
|
||||
def test_healthcheck_shell_command(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'top', healthcheck=dict(test='echo "hello world"'))
|
||||
TEST_IMG, 'top', healthcheck=dict(test='echo "hello world"'))
|
||||
self.tmp_containers.append(container)
|
||||
|
||||
res = self.client.inspect_container(container)
|
||||
|
@ -27,7 +27,7 @@ class HealthcheckTest(BaseAPIIntegrationTest):
|
|||
@helpers.requires_api_version('1.24')
|
||||
def test_healthcheck_passes(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'top', healthcheck=dict(
|
||||
TEST_IMG, 'top', healthcheck=dict(
|
||||
test="true",
|
||||
interval=1 * SECOND,
|
||||
timeout=1 * SECOND,
|
||||
|
@ -40,7 +40,7 @@ class HealthcheckTest(BaseAPIIntegrationTest):
|
|||
@helpers.requires_api_version('1.24')
|
||||
def test_healthcheck_fails(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'top', healthcheck=dict(
|
||||
TEST_IMG, 'top', healthcheck=dict(
|
||||
test="false",
|
||||
interval=1 * SECOND,
|
||||
timeout=1 * SECOND,
|
||||
|
@ -53,7 +53,7 @@ class HealthcheckTest(BaseAPIIntegrationTest):
|
|||
@helpers.requires_api_version('1.29')
|
||||
def test_healthcheck_start_period(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'top', healthcheck=dict(
|
||||
TEST_IMG, 'top', healthcheck=dict(
|
||||
test="echo 'x' >> /counter.txt && "
|
||||
"test `cat /counter.txt | wc -l` -ge 3",
|
||||
interval=1 * SECOND,
|
||||
|
|
|
@ -15,7 +15,7 @@ from six.moves import socketserver
|
|||
import docker
|
||||
|
||||
from ..helpers import requires_api_version, requires_experimental
|
||||
from .base import BaseAPIIntegrationTest, BUSYBOX
|
||||
from .base import BaseAPIIntegrationTest, TEST_IMG
|
||||
|
||||
|
||||
class ListImagesTest(BaseAPIIntegrationTest):
|
||||
|
@ -77,7 +77,7 @@ class PullImageTest(BaseAPIIntegrationTest):
|
|||
|
||||
class CommitTest(BaseAPIIntegrationTest):
|
||||
def test_commit(self):
|
||||
container = self.client.create_container(BUSYBOX, ['touch', '/test'])
|
||||
container = self.client.create_container(TEST_IMG, ['touch', '/test'])
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -90,13 +90,13 @@ class CommitTest(BaseAPIIntegrationTest):
|
|||
assert img['Container'].startswith(id)
|
||||
assert 'ContainerConfig' in img
|
||||
assert 'Image' in img['ContainerConfig']
|
||||
assert BUSYBOX == img['ContainerConfig']['Image']
|
||||
busybox_id = self.client.inspect_image(BUSYBOX)['Id']
|
||||
assert TEST_IMG == img['ContainerConfig']['Image']
|
||||
busybox_id = self.client.inspect_image(TEST_IMG)['Id']
|
||||
assert 'Parent' in img
|
||||
assert img['Parent'] == busybox_id
|
||||
|
||||
def test_commit_with_changes(self):
|
||||
cid = self.client.create_container(BUSYBOX, ['touch', '/test'])
|
||||
cid = self.client.create_container(TEST_IMG, ['touch', '/test'])
|
||||
self.tmp_containers.append(cid)
|
||||
self.client.start(cid)
|
||||
img_id = self.client.commit(
|
||||
|
@ -112,7 +112,7 @@ class CommitTest(BaseAPIIntegrationTest):
|
|||
|
||||
class RemoveImageTest(BaseAPIIntegrationTest):
|
||||
def test_remove(self):
|
||||
container = self.client.create_container(BUSYBOX, ['touch', '/test'])
|
||||
container = self.client.create_container(TEST_IMG, ['touch', '/test'])
|
||||
id = container['Id']
|
||||
self.client.start(id)
|
||||
self.tmp_containers.append(id)
|
||||
|
@ -319,7 +319,7 @@ class PruneImagesTest(BaseAPIIntegrationTest):
|
|||
pass
|
||||
|
||||
# Ensure busybox does not get pruned
|
||||
ctnr = self.client.create_container(BUSYBOX, ['sleep', '9999'])
|
||||
ctnr = self.client.create_container(TEST_IMG, ['sleep', '9999'])
|
||||
self.tmp_containers.append(ctnr)
|
||||
|
||||
self.client.pull('hello-world', tag='latest')
|
||||
|
@ -343,7 +343,7 @@ class SaveLoadImagesTest(BaseAPIIntegrationTest):
|
|||
@requires_api_version('1.23')
|
||||
def test_get_image_load_image(self):
|
||||
with tempfile.TemporaryFile() as f:
|
||||
stream = self.client.get_image(BUSYBOX)
|
||||
stream = self.client.get_image(TEST_IMG)
|
||||
for chunk in stream:
|
||||
f.write(chunk)
|
||||
|
||||
|
@ -351,7 +351,7 @@ class SaveLoadImagesTest(BaseAPIIntegrationTest):
|
|||
result = self.client.load_image(f.read())
|
||||
|
||||
success = False
|
||||
result_line = 'Loaded image: {}\n'.format(BUSYBOX)
|
||||
result_line = 'Loaded image: {}\n'.format(TEST_IMG)
|
||||
for data in result:
|
||||
print(data)
|
||||
if 'stream' in data:
|
||||
|
|
|
@ -3,7 +3,7 @@ from docker.types import IPAMConfig, IPAMPool
|
|||
import pytest
|
||||
|
||||
from ..helpers import random_name, requires_api_version
|
||||
from .base import BaseAPIIntegrationTest, BUSYBOX
|
||||
from .base import BaseAPIIntegrationTest, TEST_IMG
|
||||
|
||||
|
||||
class TestNetworks(BaseAPIIntegrationTest):
|
||||
|
@ -92,7 +92,7 @@ class TestNetworks(BaseAPIIntegrationTest):
|
|||
def test_connect_and_disconnect_container(self):
|
||||
net_name, net_id = self.create_network()
|
||||
|
||||
container = self.client.create_container(BUSYBOX, 'top')
|
||||
container = self.client.create_container(TEST_IMG, 'top')
|
||||
self.tmp_containers.append(container)
|
||||
self.client.start(container)
|
||||
|
||||
|
@ -119,7 +119,7 @@ class TestNetworks(BaseAPIIntegrationTest):
|
|||
def test_connect_and_force_disconnect_container(self):
|
||||
net_name, net_id = self.create_network()
|
||||
|
||||
container = self.client.create_container(BUSYBOX, 'top')
|
||||
container = self.client.create_container(TEST_IMG, 'top')
|
||||
self.tmp_containers.append(container)
|
||||
self.client.start(container)
|
||||
|
||||
|
@ -144,7 +144,7 @@ class TestNetworks(BaseAPIIntegrationTest):
|
|||
def test_connect_with_aliases(self):
|
||||
net_name, net_id = self.create_network()
|
||||
|
||||
container = self.client.create_container(BUSYBOX, 'top')
|
||||
container = self.client.create_container(TEST_IMG, 'top')
|
||||
self.tmp_containers.append(container)
|
||||
self.client.start(container)
|
||||
|
||||
|
@ -161,7 +161,7 @@ class TestNetworks(BaseAPIIntegrationTest):
|
|||
net_name, net_id = self.create_network()
|
||||
|
||||
container = self.client.create_container(
|
||||
image=BUSYBOX,
|
||||
image=TEST_IMG,
|
||||
command='top',
|
||||
host_config=self.client.create_host_config(network_mode=net_name),
|
||||
)
|
||||
|
@ -181,7 +181,7 @@ class TestNetworks(BaseAPIIntegrationTest):
|
|||
net_name, net_id = self.create_network()
|
||||
|
||||
container = self.client.create_container(
|
||||
image=BUSYBOX,
|
||||
image=TEST_IMG,
|
||||
command='top',
|
||||
host_config=self.client.create_host_config(
|
||||
network_mode=net_name,
|
||||
|
@ -211,7 +211,7 @@ class TestNetworks(BaseAPIIntegrationTest):
|
|||
),
|
||||
)
|
||||
container = self.client.create_container(
|
||||
image=BUSYBOX, command='top',
|
||||
image=TEST_IMG, command='top',
|
||||
host_config=self.client.create_host_config(network_mode=net_name),
|
||||
networking_config=self.client.create_networking_config({
|
||||
net_name: self.client.create_endpoint_config(
|
||||
|
@ -237,7 +237,7 @@ class TestNetworks(BaseAPIIntegrationTest):
|
|||
),
|
||||
)
|
||||
container = self.client.create_container(
|
||||
image=BUSYBOX, command='top',
|
||||
image=TEST_IMG, command='top',
|
||||
host_config=self.client.create_host_config(network_mode=net_name),
|
||||
networking_config=self.client.create_networking_config({
|
||||
net_name: self.client.create_endpoint_config(
|
||||
|
@ -257,7 +257,7 @@ class TestNetworks(BaseAPIIntegrationTest):
|
|||
@requires_api_version('1.24')
|
||||
def test_create_with_linklocal_ips(self):
|
||||
container = self.client.create_container(
|
||||
BUSYBOX, 'top',
|
||||
TEST_IMG, 'top',
|
||||
networking_config=self.client.create_networking_config(
|
||||
{
|
||||
'bridge': self.client.create_endpoint_config(
|
||||
|
|
|
@ -10,7 +10,7 @@ import six
|
|||
from ..helpers import (
|
||||
force_leave_swarm, requires_api_version, requires_experimental
|
||||
)
|
||||
from .base import BaseAPIIntegrationTest, BUSYBOX
|
||||
from .base import BaseAPIIntegrationTest, TEST_IMG
|
||||
|
||||
|
||||
class ServiceTest(BaseAPIIntegrationTest):
|
||||
|
@ -60,7 +60,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
name = self.get_service_name()
|
||||
|
||||
container_spec = docker.types.ContainerSpec(
|
||||
BUSYBOX, ['echo', 'hello']
|
||||
TEST_IMG, ['echo', 'hello']
|
||||
)
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
return name, self.client.create_service(
|
||||
|
@ -156,7 +156,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_create_service_custom_log_driver(self):
|
||||
container_spec = docker.types.ContainerSpec(
|
||||
BUSYBOX, ['echo', 'hello']
|
||||
TEST_IMG, ['echo', 'hello']
|
||||
)
|
||||
log_cfg = docker.types.DriverConfig('none')
|
||||
task_tmpl = docker.types.TaskTemplate(
|
||||
|
@ -174,7 +174,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
def test_create_service_with_volume_mount(self):
|
||||
vol_name = self.get_service_name()
|
||||
container_spec = docker.types.ContainerSpec(
|
||||
BUSYBOX, ['ls'],
|
||||
TEST_IMG, ['ls'],
|
||||
mounts=[
|
||||
docker.types.Mount(target='/test', source=vol_name)
|
||||
]
|
||||
|
@ -194,7 +194,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
assert mount['Type'] == 'volume'
|
||||
|
||||
def test_create_service_with_resources_constraints(self):
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
resources = docker.types.Resources(
|
||||
cpu_limit=4000000, mem_limit=3 * 1024 * 1024 * 1024,
|
||||
cpu_reservation=3500000, mem_reservation=2 * 1024 * 1024 * 1024
|
||||
|
@ -214,7 +214,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
]
|
||||
|
||||
def _create_service_with_generic_resources(self, generic_resources):
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
|
||||
resources = docker.types.Resources(
|
||||
generic_resources=generic_resources
|
||||
|
@ -265,7 +265,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
self._create_service_with_generic_resources(test_input)
|
||||
|
||||
def test_create_service_with_update_config(self):
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
update_config = docker.types.UpdateConfig(
|
||||
parallelism=10, delay=5, failure_action='pause'
|
||||
|
@ -283,7 +283,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
|
||||
@requires_api_version('1.28')
|
||||
def test_create_service_with_failure_action_rollback(self):
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
update_config = docker.types.UpdateConfig(failure_action='rollback')
|
||||
name = self.get_service_name()
|
||||
|
@ -314,7 +314,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
|
||||
@requires_api_version('1.28')
|
||||
def test_create_service_with_rollback_config(self):
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
rollback_cfg = docker.types.RollbackConfig(
|
||||
parallelism=10, delay=5, failure_action='pause',
|
||||
|
@ -334,7 +334,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
assert rollback_cfg['MaxFailureRatio'] == rc['MaxFailureRatio']
|
||||
|
||||
def test_create_service_with_restart_policy(self):
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
policy = docker.types.RestartPolicy(
|
||||
docker.types.RestartPolicy.condition_types.ANY,
|
||||
delay=5, max_attempts=5
|
||||
|
@ -357,7 +357,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
'dockerpytest_2', driver='overlay', ipam={'Driver': 'default'}
|
||||
)
|
||||
self.tmp_networks.append(net2['Id'])
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
name = self.get_service_name()
|
||||
svc_id = self.client.create_service(
|
||||
|
@ -373,7 +373,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_create_service_with_placement(self):
|
||||
node_id = self.client.nodes()[0]['ID']
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
task_tmpl = docker.types.TaskTemplate(
|
||||
container_spec, placement=['node.id=={}'.format(node_id)]
|
||||
)
|
||||
|
@ -386,7 +386,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_create_service_with_placement_object(self):
|
||||
node_id = self.client.nodes()[0]['ID']
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
placemt = docker.types.Placement(
|
||||
constraints=['node.id=={}'.format(node_id)]
|
||||
)
|
||||
|
@ -401,7 +401,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
|
||||
@requires_api_version('1.30')
|
||||
def test_create_service_with_placement_platform(self):
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
placemt = docker.types.Placement(platforms=[('x86_64', 'linux')])
|
||||
task_tmpl = docker.types.TaskTemplate(
|
||||
container_spec, placement=placemt
|
||||
|
@ -414,7 +414,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
|
||||
@requires_api_version('1.27')
|
||||
def test_create_service_with_placement_preferences(self):
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
placemt = docker.types.Placement(preferences=[
|
||||
{'Spread': {'SpreadDescriptor': 'com.dockerpy.test'}}
|
||||
])
|
||||
|
@ -429,7 +429,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
|
||||
@requires_api_version('1.27')
|
||||
def test_create_service_with_placement_preferences_tuple(self):
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
placemt = docker.types.Placement(preferences=(
|
||||
('spread', 'com.dockerpy.test'),
|
||||
))
|
||||
|
@ -443,7 +443,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
assert svc_info['Spec']['TaskTemplate']['Placement'] == placemt
|
||||
|
||||
def test_create_service_with_endpoint_spec(self):
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
name = self.get_service_name()
|
||||
endpoint_spec = docker.types.EndpointSpec(ports={
|
||||
|
@ -473,7 +473,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
|
||||
@requires_api_version('1.32')
|
||||
def test_create_service_with_endpoint_spec_host_publish_mode(self):
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
name = self.get_service_name()
|
||||
endpoint_spec = docker.types.EndpointSpec(ports={
|
||||
|
@ -493,7 +493,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_create_service_with_env(self):
|
||||
container_spec = docker.types.ContainerSpec(
|
||||
BUSYBOX, ['true'], env={'DOCKER_PY_TEST': 1}
|
||||
TEST_IMG, ['true'], env={'DOCKER_PY_TEST': 1}
|
||||
)
|
||||
task_tmpl = docker.types.TaskTemplate(
|
||||
container_spec,
|
||||
|
@ -509,7 +509,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
|
||||
@requires_api_version('1.29')
|
||||
def test_create_service_with_update_order(self):
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
update_config = docker.types.UpdateConfig(
|
||||
parallelism=10, delay=5, order='start-first'
|
||||
|
@ -528,7 +528,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
@requires_api_version('1.25')
|
||||
def test_create_service_with_tty(self):
|
||||
container_spec = docker.types.ContainerSpec(
|
||||
BUSYBOX, ['true'], tty=True
|
||||
TEST_IMG, ['true'], tty=True
|
||||
)
|
||||
task_tmpl = docker.types.TaskTemplate(
|
||||
container_spec,
|
||||
|
@ -545,7 +545,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
@requires_api_version('1.25')
|
||||
def test_create_service_with_tty_dict(self):
|
||||
container_spec = {
|
||||
'Image': BUSYBOX,
|
||||
'Image': TEST_IMG,
|
||||
'Command': ['true'],
|
||||
'TTY': True
|
||||
}
|
||||
|
@ -561,7 +561,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_create_service_global_mode(self):
|
||||
container_spec = docker.types.ContainerSpec(
|
||||
BUSYBOX, ['echo', 'hello']
|
||||
TEST_IMG, ['echo', 'hello']
|
||||
)
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
name = self.get_service_name()
|
||||
|
@ -574,7 +574,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
|
||||
def test_create_service_replicated_mode(self):
|
||||
container_spec = docker.types.ContainerSpec(
|
||||
BUSYBOX, ['echo', 'hello']
|
||||
TEST_IMG, ['echo', 'hello']
|
||||
)
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
name = self.get_service_name()
|
||||
|
@ -767,7 +767,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
search=['local'], options=['debug']
|
||||
)
|
||||
container_spec = docker.types.ContainerSpec(
|
||||
BUSYBOX, ['sleep', '999'], dns_config=dns_config
|
||||
TEST_IMG, ['sleep', '999'], dns_config=dns_config
|
||||
)
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
name = self.get_service_name()
|
||||
|
@ -787,7 +787,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
start_period=3 * second, interval=int(second / 2),
|
||||
)
|
||||
container_spec = docker.types.ContainerSpec(
|
||||
BUSYBOX, ['sleep', '999'], healthcheck=hc
|
||||
TEST_IMG, ['sleep', '999'], healthcheck=hc
|
||||
)
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
name = self.get_service_name()
|
||||
|
@ -804,7 +804,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
@requires_api_version('1.28')
|
||||
def test_create_service_with_readonly(self):
|
||||
container_spec = docker.types.ContainerSpec(
|
||||
BUSYBOX, ['sleep', '999'], read_only=True
|
||||
TEST_IMG, ['sleep', '999'], read_only=True
|
||||
)
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
name = self.get_service_name()
|
||||
|
@ -818,7 +818,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
@requires_api_version('1.28')
|
||||
def test_create_service_with_stop_signal(self):
|
||||
container_spec = docker.types.ContainerSpec(
|
||||
BUSYBOX, ['sleep', '999'], stop_signal='SIGINT'
|
||||
TEST_IMG, ['sleep', '999'], stop_signal='SIGINT'
|
||||
)
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
name = self.get_service_name()
|
||||
|
@ -836,7 +836,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
def test_create_service_with_privileges(self):
|
||||
priv = docker.types.Privileges(selinux_disable=True)
|
||||
container_spec = docker.types.ContainerSpec(
|
||||
BUSYBOX, ['sleep', '999'], privileges=priv
|
||||
TEST_IMG, ['sleep', '999'], privileges=priv
|
||||
)
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
name = self.get_service_name()
|
||||
|
@ -992,7 +992,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
assert labels['container.label'] == 'SampleLabel'
|
||||
|
||||
def test_update_service_with_defaults_update_config(self):
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
update_config = docker.types.UpdateConfig(
|
||||
parallelism=10, delay=5, failure_action='pause'
|
||||
|
@ -1031,7 +1031,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
'dockerpytest_2', driver='overlay', ipam={'Driver': 'default'}
|
||||
)
|
||||
self.tmp_networks.append(net2['Id'])
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
name = self.get_service_name()
|
||||
svc_id = self.client.create_service(
|
||||
|
@ -1070,7 +1070,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
]
|
||||
|
||||
def test_update_service_with_defaults_endpoint_spec(self):
|
||||
container_spec = docker.types.ContainerSpec(BUSYBOX, ['true'])
|
||||
container_spec = docker.types.ContainerSpec(TEST_IMG, ['true'])
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
name = self.get_service_name()
|
||||
endpoint_spec = docker.types.EndpointSpec(ports={
|
||||
|
@ -1134,7 +1134,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
start_period=3 * second, interval=int(second / 2),
|
||||
)
|
||||
container_spec = docker.types.ContainerSpec(
|
||||
BUSYBOX, ['sleep', '999'], healthcheck=hc
|
||||
TEST_IMG, ['sleep', '999'], healthcheck=hc
|
||||
)
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
name = self.get_service_name()
|
||||
|
@ -1149,7 +1149,7 @@ class ServiceTest(BaseAPIIntegrationTest):
|
|||
)
|
||||
|
||||
container_spec = docker.types.ContainerSpec(
|
||||
BUSYBOX, ['sleep', '999'], healthcheck={}
|
||||
TEST_IMG, ['sleep', '999'], healthcheck={}
|
||||
)
|
||||
task_tmpl = docker.types.TaskTemplate(container_spec)
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import docker
|
|||
from .. import helpers
|
||||
from docker.utils import kwargs_from_env
|
||||
|
||||
BUSYBOX = 'alpine:3.9.3' # FIXME: this should probably be renamed
|
||||
TEST_IMG = 'alpine:3.10'
|
||||
TEST_API_VERSION = os.environ.get('DOCKER_TEST_API_VERSION')
|
||||
|
||||
|
||||
|
@ -108,7 +108,7 @@ class BaseAPIIntegrationTest(BaseIntegrationTest):
|
|||
|
||||
return container
|
||||
|
||||
def create_and_start(self, image=BUSYBOX, command='top', **kwargs):
|
||||
def create_and_start(self, image=TEST_IMG, command='top', **kwargs):
|
||||
container = self.client.create_container(
|
||||
image=image, command=command, **kwargs)
|
||||
self.tmp_containers.append(container)
|
||||
|
|
|
@ -7,7 +7,7 @@ import docker.errors
|
|||
from docker.utils import kwargs_from_env
|
||||
import pytest
|
||||
|
||||
from .base import BUSYBOX
|
||||
from .base import TEST_IMG
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True, scope='session')
|
||||
|
@ -15,15 +15,15 @@ def setup_test_session():
|
|||
warnings.simplefilter('error')
|
||||
c = docker.APIClient(version='auto', **kwargs_from_env())
|
||||
try:
|
||||
c.inspect_image(BUSYBOX)
|
||||
c.inspect_image(TEST_IMG)
|
||||
except docker.errors.NotFound:
|
||||
print("\npulling {0}".format(BUSYBOX), file=sys.stderr)
|
||||
for data in c.pull(BUSYBOX, stream=True, decode=True):
|
||||
print("\npulling {0}".format(TEST_IMG), file=sys.stderr)
|
||||
for data in c.pull(TEST_IMG, stream=True, decode=True):
|
||||
status = data.get("status")
|
||||
progress = data.get("progress")
|
||||
detail = "{0} - {1}".format(status, progress)
|
||||
print(detail, file=sys.stderr)
|
||||
|
||||
# Double make sure we now have busybox
|
||||
c.inspect_image(BUSYBOX)
|
||||
c.inspect_image(TEST_IMG)
|
||||
c.close()
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
from docker.errors import APIError
|
||||
from .base import BaseAPIIntegrationTest, BUSYBOX
|
||||
from .base import BaseAPIIntegrationTest, TEST_IMG
|
||||
import pytest
|
||||
|
||||
|
||||
class ErrorsTest(BaseAPIIntegrationTest):
|
||||
def test_api_error_parses_json(self):
|
||||
container = self.client.create_container(BUSYBOX, ['sleep', '10'])
|
||||
container = self.client.create_container(TEST_IMG, ['sleep', '10'])
|
||||
self.client.start(container['Id'])
|
||||
with pytest.raises(APIError) as cm:
|
||||
self.client.remove_container(container['Id'])
|
||||
|
|
|
@ -4,7 +4,7 @@ import tempfile
|
|||
import docker
|
||||
import pytest
|
||||
|
||||
from .base import BaseIntegrationTest, BUSYBOX, TEST_API_VERSION
|
||||
from .base import BaseIntegrationTest, TEST_IMG, TEST_API_VERSION
|
||||
from ..helpers import random_name
|
||||
|
||||
|
||||
|
@ -72,8 +72,8 @@ class ImageCollectionTest(BaseIntegrationTest):
|
|||
|
||||
def test_pull_with_tag(self):
|
||||
client = docker.from_env(version=TEST_API_VERSION)
|
||||
image = client.images.pull('alpine', tag='3.3')
|
||||
assert 'alpine:3.3' in image.attrs['RepoTags']
|
||||
image = client.images.pull('alpine', tag='3.10')
|
||||
assert 'alpine:3.10' in image.attrs['RepoTags']
|
||||
|
||||
def test_pull_with_sha(self):
|
||||
image_ref = (
|
||||
|
@ -97,7 +97,7 @@ class ImageCollectionTest(BaseIntegrationTest):
|
|||
|
||||
def test_save_and_load(self):
|
||||
client = docker.from_env(version=TEST_API_VERSION)
|
||||
image = client.images.get(BUSYBOX)
|
||||
image = client.images.get(TEST_IMG)
|
||||
with tempfile.TemporaryFile() as f:
|
||||
stream = image.save()
|
||||
for chunk in stream:
|
||||
|
@ -111,7 +111,7 @@ class ImageCollectionTest(BaseIntegrationTest):
|
|||
|
||||
def test_save_and_load_repo_name(self):
|
||||
client = docker.from_env(version=TEST_API_VERSION)
|
||||
image = client.images.get(BUSYBOX)
|
||||
image = client.images.get(TEST_IMG)
|
||||
additional_tag = random_name()
|
||||
image.tag(additional_tag)
|
||||
self.tmp_imgs.append(additional_tag)
|
||||
|
@ -131,7 +131,7 @@ class ImageCollectionTest(BaseIntegrationTest):
|
|||
|
||||
def test_save_name_error(self):
|
||||
client = docker.from_env(version=TEST_API_VERSION)
|
||||
image = client.images.get(BUSYBOX)
|
||||
image = client.images.get(TEST_IMG)
|
||||
with pytest.raises(docker.errors.InvalidArgument):
|
||||
image.save(named='sakuya/izayoi')
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ import random
|
|||
import docker
|
||||
import six
|
||||
|
||||
from .base import BaseAPIIntegrationTest, BUSYBOX
|
||||
from .base import BaseAPIIntegrationTest, TEST_IMG
|
||||
import pytest
|
||||
|
||||
|
||||
|
@ -19,7 +19,7 @@ class TestRegressions(BaseAPIIntegrationTest):
|
|||
|
||||
def test_542_truncate_ids_client_side(self):
|
||||
self.client.start(
|
||||
self.client.create_container(BUSYBOX, ['true'])
|
||||
self.client.create_container(TEST_IMG, ['true'])
|
||||
)
|
||||
result = self.client.containers(all=True, trunc=True)
|
||||
assert len(result[0]['Id']) == 12
|
||||
|
@ -30,12 +30,12 @@ class TestRegressions(BaseAPIIntegrationTest):
|
|||
|
||||
def test_649_handle_timeout_value_none(self):
|
||||
self.client.timeout = None
|
||||
ctnr = self.client.create_container(BUSYBOX, ['sleep', '2'])
|
||||
ctnr = self.client.create_container(TEST_IMG, ['sleep', '2'])
|
||||
self.client.start(ctnr)
|
||||
self.client.stop(ctnr)
|
||||
|
||||
def test_715_handle_user_param_as_int_value(self):
|
||||
ctnr = self.client.create_container(BUSYBOX, ['id', '-u'], user=1000)
|
||||
ctnr = self.client.create_container(TEST_IMG, ['id', '-u'], user=1000)
|
||||
self.client.start(ctnr)
|
||||
self.client.wait(ctnr)
|
||||
logs = self.client.logs(ctnr)
|
||||
|
@ -47,7 +47,7 @@ class TestRegressions(BaseAPIIntegrationTest):
|
|||
|
||||
tcp_port, udp_port = random.sample(range(9999, 32000), 2)
|
||||
ctnr = self.client.create_container(
|
||||
BUSYBOX, ['sleep', '9999'], ports=[2000, (2000, 'udp')],
|
||||
TEST_IMG, ['sleep', '9999'], ports=[2000, (2000, 'udp')],
|
||||
host_config=self.client.create_host_config(
|
||||
port_bindings={'2000/tcp': tcp_port, '2000/udp': udp_port}
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue