Пример #1
0
 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'
             }
         })
Пример #2
0
 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'
             }
         })
Пример #3
0
    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'
                }
            })
Пример #4
0
    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'
                }
            })
Пример #5
0
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"
        },
    }
Пример #6
0
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"
        },
    }
Пример #7
0
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"}
Пример #8
0
    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"})