コード例 #1
0
def workspace_handler():
    s3_workspace_handler = S3WorkspaceHandler(mock.MagicMock(),
                                              logger_=mock.MagicMock())
    s3_workspace_handler._upload = mock.MagicMock()
    s3_workspace_handler._get_upload_data = mock.MagicMock()
    s3_workspace_handler._get_upload_data.return_value = mock_upload_data

    return s3_workspace_handler
コード例 #2
0
    def test_multipart_upload_raises_exception(self, mock_post):
        workspace_handler = S3WorkspaceHandler(mock.MagicMock(),
                                               mock.MagicMock())
        workspace_handler._get_files_dict = mock.MagicMock()

        mock_response = mock.MagicMock()
        mock_response.ok = False
        mock_post.return_value = mock_response
        with pytest.raises(exceptions.S3UploadFailedError):
            workspace_handler._upload('foo', {'url': 'bar', 'fields': []})
コード例 #3
0
    def test_multipart_upload_ok(self, mock_post):
        workspace_handler = S3WorkspaceHandler(mock.MagicMock(),
                                               mock.MagicMock())
        workspace_handler._get_files_dict = mock.MagicMock()

        mock_response = mock.MagicMock()
        mock_response.ok = True
        mock_post.return_value = mock_response

        workspace_handler._upload('foo', {'url': 'bar', 'fields': []})
コード例 #4
0
    def test_return_json_with_presigned_url_response(self):
        mock_response = mock.MagicMock()
        mock_response.json.return_value = mock_upload_response

        workspace_handler = S3WorkspaceHandler(mock.MagicMock(),
                                               mock.MagicMock())
        workspace_handler.experiments_api.get.return_value = mock_response

        upload_data = workspace_handler._get_upload_data('foo', 'bar')
        assert upload_data == mock_upload_data
コード例 #5
0
    def test_raise_exception_on_40x_presigned_url_response(
            self, code, exception):
        mock_response = mock.MagicMock()
        mock_response.status_code = code

        workspace_handler = S3WorkspaceHandler(mock.MagicMock(),
                                               mock.MagicMock())
        workspace_handler.experiments_api.get.return_value = mock_response

        with pytest.raises(exception):
            workspace_handler._get_upload_data('foo', 'bar')
コード例 #6
0
 def test_raise_exception_when_more_than_one_workspace_provided(
         self, params, workspace_handler):
     workspace_handler = S3WorkspaceHandler(mock.MagicMock, mock.MagicMock)
     with pytest.raises(click.UsageError):
         workspace_handler.handle(params)
コード例 #7
0
 def __init__(self, workspace_handler=None, **kwargs):
     super(ExperimentCommand, self).__init__(**kwargs)
     self._workspace_handler = workspace_handler or S3WorkspaceHandler(
         experiments_api=self.api, logger_=self.logger)