def test_run_invalid_command(): if MOCK: mock_docker(should_raise_error={'start': []}) t = DockerTasker() try: with pytest.raises(docker.errors.APIError): t.run(input_image_name, command=COMMAND) finally: # remove the container containers = t.d.containers(all=True) container_id = [c for c in containers if c["Command"] == COMMAND][0]['Id'] t.remove_container(container_id)
def test_run(): if MOCK: mock_docker() t = DockerTasker() container_id = t.run(input_image_name, command="id") try: t.wait(container_id) finally: t.remove_container(container_id)
def test_logs(): if MOCK: mock_docker() t = DockerTasker() container_id = t.run(input_image_name, command="id") try: t.wait(container_id) output = t.logs(container_id, stderr=True, stream=False) assert "\n".join(output).startswith("uid=") finally: t.remove_container(container_id)
def test_commit_container(temp_image_name): if MOCK: mock_docker() t = DockerTasker() container_id = t.run(INPUT_IMAGE, command="id") t.wait(container_id) image_id = t.commit_container(container_id, message="test message", image=temp_image_name) try: assert t.image_exists(image_id) finally: t.remove_container(container_id) t.remove_image(image_id)
def test_remove_image(temp_image_name): if MOCK: mock_docker(inspect_should_fail=True) t = DockerTasker() container_id = t.run(input_image_name, command="id") t.wait(container_id) image_id = t.commit_container(container_id, image=temp_image_name) try: t.remove_container(container_id) finally: t.remove_image(image_id) assert not t.image_exists(temp_image_name)
def test_remove_image(temp_image_name): # noqa if MOCK: mock_docker(inspect_should_fail=True) t = DockerTasker() container_id = t.run(input_image_name, command="id") t.wait(container_id) image_id = t.commit_container(container_id, image=temp_image_name) try: t.remove_container(container_id) finally: t.remove_image(image_id) assert not t.image_exists(temp_image_name)