def test_tries_upload(self, monkeypatch):
        mock_vault = mock.Mock()
        mock_vault.name = 'ThreePoint'
        mock_vault.upload_archive.return_value = 3
        mock_get_vault = mock.Mock()
        mock_get_vault.return_value = mock_vault
        mock_complete = mock.Mock()
        monkeypatch.setattr(backup, 'get_vault', mock_get_vault)
        monkeypatch.setattr(backup, '_push_archive_complete', mock_complete)

        backup._push_file_archive('Triangles', None, None, {}, {})

        mock_vault.upload_archive.assert_called_once_with('Triangles', description='Triangles')
    def test_upload_error(self, monkeypatch):
        mock_vault = mock.Mock()
        mock_vault.name = 'ThreePoint'
        mock_response = mock.Mock()
        mock_response.status = 400
        mock_response.read.return_value = json.dumps({
            'status': 400,
            'message': 'Jean Valjean means nothing now',
        }).encode('utf-8')
        error = UnexpectedHTTPResponseError(200, mock_response)
        mock_vault.upload_archive.side_effect = error
        mock_get_vault = mock.Mock()
        mock_get_vault.return_value = mock_vault
        mock_complete = mock.Mock()
        monkeypatch.setattr(backup, 'get_vault', mock_get_vault)
        monkeypatch.setattr(backup, '_push_archive_complete', mock_complete)

        with pytest.raises(UnexpectedHTTPResponseError):
            backup._push_file_archive('Triangles', None, None, {}, {})
        assert not mock_complete.called
    def test_calls_complete(self, monkeypatch, credentials, settings):
        mock_vault = mock.Mock()
        mock_complete = mock.Mock()
        mock_vault.name = 'ThreePoint'
        mock_vault.upload_archive.return_value = 3
        mock_get_vault = mock.Mock()
        mock_get_vault.return_value = mock_vault
        monkeypatch.setattr(backup, 'get_vault', mock_get_vault)
        monkeypatch.setattr(backup, '_push_archive_complete', mock_complete)

        backup._push_file_archive('Triangles', 0, None, credentials, settings)

        mock_complete.delay.assert_called_once_with(
            0,
            None,
            {
                'vault': 'ThreePoint',
                'archive': 3
            },
        )
    def test_upload_error_empty_file(self, monkeypatch):
        mock_vault = mock.Mock()
        mock_vault.name = 'ThreePoint'
        mock_response = mock.Mock()
        mock_response.status = 400
        mock_response.read.return_value = json.dumps({
            'status': 400,
            'message': 'Invalid Content-Length: 0',
        }).encode('utf-8')
        error = UnexpectedHTTPResponseError(200, mock_response)
        mock_vault.upload_archive.side_effect = error
        mock_get_vault = mock.Mock()
        mock_get_vault.return_value = mock_vault
        mock_complete = mock.Mock()
        monkeypatch.setattr(backup, 'get_vault', mock_get_vault)
        monkeypatch.setattr(backup, '_push_archive_complete', mock_complete)

        backup._push_file_archive('Triangles', None, None, {}, {})

        mock_vault.upload_archive.assert_called_once_with('Triangles', description='Triangles')
        assert not mock_complete.called
Example #5
0
    def test_upload_error(self, monkeypatch):
        mock_vault = mock.Mock()
        mock_vault.name = 'ThreePoint'
        mock_response = mock.Mock()
        mock_response.status = 400
        mock_response.read.return_value = json.dumps({
            'status':
            400,
            'message':
            'Jean Valjean means nothing now',
        }).encode('utf-8')
        error = UnexpectedHTTPResponseError(200, mock_response)
        mock_vault.upload_archive.side_effect = error
        mock_get_vault = mock.Mock()
        mock_get_vault.return_value = mock_vault
        mock_complete = mock.Mock()
        monkeypatch.setattr(backup, 'get_vault', mock_get_vault)
        monkeypatch.setattr(backup, '_push_archive_complete', mock_complete)

        with pytest.raises(UnexpectedHTTPResponseError):
            backup._push_file_archive('Triangles', None, None, {}, {})
        assert not mock_complete.called
Example #6
0
    def test_upload_error_empty_file(self, monkeypatch):
        mock_vault = mock.Mock()
        mock_vault.name = 'ThreePoint'
        mock_response = mock.Mock()
        mock_response.status = 400
        mock_response.read.return_value = json.dumps({
            'status':
            400,
            'message':
            'Invalid Content-Length: 0',
        }).encode('utf-8')
        error = UnexpectedHTTPResponseError(200, mock_response)
        mock_vault.upload_archive.side_effect = error
        mock_get_vault = mock.Mock()
        mock_get_vault.return_value = mock_vault
        mock_complete = mock.Mock()
        monkeypatch.setattr(backup, 'get_vault', mock_get_vault)
        monkeypatch.setattr(backup, '_push_archive_complete', mock_complete)

        backup._push_file_archive('Triangles', None, None, {}, {})

        mock_vault.upload_archive.assert_called_once_with(
            'Triangles', description='Triangles')
        assert not mock_complete.called