def test_wait_success(self): client = Mock() client.api_version = '1.21' client.wait = Mock(return_value=0) docker_inspect_container = Mock(side_effect=[{ 'State': { 'Running': True } }, { 'State': { 'Stopped': True } }]) with patch.object(docker_mod, 'inspect_container', docker_inspect_container): with patch.dict(docker_mod.__context__, {'docker.client': client}): docker_mod._clear_context() result = docker_mod.wait('foo') self.assertEqual( result, { 'result': True, 'exit_status': 0, 'state': { 'new': 'stopped', 'old': 'running' } })
def test_wait_fails_on_exit_status_and_already_stopped(self): client = Mock() client.api_version = '1.21' client.wait = Mock(return_value=1) docker_inspect_container = Mock(side_effect=[{ 'State': { 'Stopped': True } }, { 'State': { 'Stopped': True } }]) with patch.object(docker_mod, 'inspect_container', docker_inspect_container): with patch.dict(docker_mod.__context__, {'docker.client': client}): docker_mod._clear_context() result = docker_mod.wait('foo', ignore_already_stopped=True, fail_on_exit_status=True) self.assertEqual( result, { 'result': False, 'comment': "Container 'foo' already stopped", 'exit_status': 1, 'state': { 'new': 'stopped', 'old': 'stopped' } })
def test_wait_fails_on_exit_status(self): client = Mock() client.api_version = '1.21' client.wait = Mock(return_value=1) get_client_mock = MagicMock(return_value=client) docker_inspect_container = Mock(side_effect=[{ 'State': { 'Running': True } }, { 'State': { 'Stopped': True } }]) with patch.object(docker_mod, 'inspect_container', docker_inspect_container): with patch.object(docker_mod, '_get_client', get_client_mock): docker_mod._clear_context() result = docker_mod.wait('foo', fail_on_exit_status=True) self.assertEqual( result, { 'result': False, 'exit_status': 1, 'state': { 'new': 'stopped', 'old': 'running' } })
def test_wait_success_already_stopped(self): client = Mock() client.api_version = '1.21' client.wait = Mock(return_value=0) get_client_mock = MagicMock(return_value=client) docker_inspect_container = Mock(side_effect=[ { 'State': { 'Stopped': True } }, { 'State': { 'Stopped': True } }, ]) with patch.object(docker_mod, 'inspect_container', docker_inspect_container): with patch.object(docker_mod, '_get_client', get_client_mock): docker_mod._clear_context() result = docker_mod.wait('foo', ignore_already_stopped=True) self.assertEqual( result, { 'result': True, 'comment': "Container 'foo' already stopped", 'exit_status': 0, 'state': { 'new': 'stopped', 'old': 'stopped' } })
def test_wait_fails_on_exit_status_and_already_stopped(): client = Mock() client.api_version = "1.21" client.wait = Mock(return_value=1) get_client_mock = MagicMock(return_value=client) docker_inspect_container = Mock(side_effect=[{ "State": { "Stopped": True } }, { "State": { "Stopped": True } }]) with patch.object(docker_mod, "inspect_container", docker_inspect_container): with patch.object(docker_mod, "_get_client", get_client_mock): docker_mod._clear_context() result = docker_mod.wait("foo", ignore_already_stopped=True, fail_on_exit_status=True) assert result == { "result": False, "comment": "Container 'foo' already stopped", "exit_status": 1, "state": { "new": "stopped", "old": "stopped" }, }
def test_wait_success(): client = Mock() client.api_version = "1.21" client.wait = Mock(return_value=0) get_client_mock = MagicMock(return_value=client) docker_inspect_container = Mock(side_effect=[{ "State": { "Running": True } }, { "State": { "Stopped": True } }]) with patch.object(docker_mod, "inspect_container", docker_inspect_container): with patch.object(docker_mod, "_get_client", get_client_mock): docker_mod._clear_context() result = docker_mod.wait("foo") assert result == { "result": True, "exit_status": 0, "state": { "new": "stopped", "old": "running" }, }
def test_wait_success_absent_container(): client = Mock() client.api_version = "1.21" get_client_mock = MagicMock(return_value=client) docker_inspect_container = Mock(side_effect=CommandExecutionError) with patch.object(docker_mod, "inspect_container", docker_inspect_container): with patch.object(docker_mod, "_get_client", get_client_mock): docker_mod._clear_context() result = docker_mod.wait("foo", ignore_already_stopped=True) assert result == {"result": True, "comment": "Container 'foo' absent"}
def test_wait_success_absent_container(self): client = Mock() client.api_version = '1.21' get_client_mock = MagicMock(return_value=client) docker_inspect_container = Mock(side_effect=CommandExecutionError) with patch.object(docker_mod, 'inspect_container', docker_inspect_container): with patch.object(docker_mod, '_get_client', get_client_mock): docker_mod._clear_context() result = docker_mod.wait('foo', ignore_already_stopped=True) self.assertEqual(result, {'result': True, 'comment': "Container 'foo' absent"})