def test_get_task_from_instance(mock_client): mock_client.get_paasta_api_client.return_value = None with raises(utils.PaastaTaskNotFound): utils.get_task_from_instance('cluster1', 'my-service', 'main') mock_client.get_paasta_api_client.assert_called_with(cluster='cluster1') mock_api = mock.Mock() mock_client.get_paasta_api_client.return_value = mock_api mock_task_1 = mock.Mock() mock_task_2 = mock.Mock() mock_tasks = [mock_task_1, mock_task_2] mock_result = mock.Mock(return_value=mock_tasks) mock_task_result = mock.Mock(return_value=mock_task_2) mock_api.service.tasks_instance.return_value = mock.Mock(result=mock_result) mock_api.service.task_instance.return_value = mock.Mock(result=mock_task_result) ret = utils.get_task_from_instance('cluster1', 'my-service', 'main', task_id='123') assert ret == mock_task_2 mock_api.service.task_instance.assert_called_with( service='my-service', instance='main', verbose=True, task_id='123', ) ret = utils.get_task_from_instance('cluster1', 'my-service', 'main') assert ret == mock_task_1 mock_api.service.tasks_instance.assert_called_with( service='my-service', instance='main', verbose=True, slave_hostname=None, ) mock_result = mock.Mock(return_value=[]) mock_api.service.tasks_instance.return_value = mock.Mock(result=mock_result) with raises(utils.PaastaTaskNotFound): ret = utils.get_task_from_instance( 'cluster1', 'my-service', 'main', slave_hostname='test', ) mock_api.service.tasks_instance.side_effect = HTTPError(response=mock.Mock(status_code=500)) with raises(utils.PaastaTaskNotFound): ret = utils.get_task_from_instance( 'cluster1', 'my-service', 'main', slave_hostname='test', ) mock_api.service.tasks_instance.assert_called_with( service='my-service', instance='main', verbose=True, slave_hostname='test', ) mock_api.service.tasks_instance.side_effect = HTTPNotFound(response=mock.Mock(status_code=404)) with raises(utils.PaastaTaskNotFound): ret = utils.get_task_from_instance( 'cluster1', 'my-service', 'main', slave_hostname='test', )
def get_logs(self, job_id): """Get logs of a job.""" response, http_response = self._client.jobs.get_logs(job_id=job_id).result() if http_response.status_code == 404: raise HTTPNotFound( "The given job ID was not found. Error: {}".format(http_response.data) ) return http_response.text
def check_status(self, job_id): """Check status of a job.""" response, http_response = self._client.jobs.get_job(job_id=job_id).\ result() if http_response.status_code == 404: raise HTTPNotFound( 'The given job ID was not found. Error: {}'.format( http_response.data)) return response
def test_delete_project_not_exists(self, swagger_client_factory): swagger_client = self._get_swagger_client_mock(swagger_client_factory) # when: swagger_client.api.deleteProject.side_effect = HTTPNotFound( response=MagicMock() ) # then: with self.assertRaises(ProjectNotFound): delete_project(name="org/proj", api_token=API_TOKEN)
def test_workspace_members_not_exists(self, swagger_client_factory): swagger_client = self._get_swagger_client_mock(swagger_client_factory) # when: swagger_client.api.listOrganizationMembers.side_effect = HTTPNotFound( response=MagicMock() ) # then: with self.assertRaises(WorkspaceNotFound): get_workspace_member_list(name="org2", api_token=API_TOKEN)
def test_remove_project_member_project_not_found(self, swagger_client_factory): swagger_client = self._get_swagger_client_mock(swagger_client_factory) # when: swagger_client.api.deleteProjectMember.side_effect = HTTPNotFound( response=MagicMock() ) # then: with self.assertRaises(ProjectNotFound): remove_project_member( name="org/proj", username="******", api_token=API_TOKEN )
def test_delete_order_not_found(self, mock_bitmex): mock_result = mock.MagicMock() mock_result.Order.Order_cancel.return_value.\ result.side_effect = HTTPNotFound(mock.MagicMock()) mock_bitmex.return_value = mock_result url = _add_query_parameters_to_url( reverse("order-detail", kwargs={'order_id': 'some order_id'}), {'account': self.account_name}, ) response = self.client.delete(url, follow=True) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) self.assertIn('error', response.data)
def test_create_order_not_found(self, mock_bitmex): mock_result = mock.MagicMock() mock_result.Order.Order_new.return_value. \ result.side_effect = HTTPNotFound(mock.MagicMock()) mock_bitmex.return_value = mock_result url = _add_query_parameters_to_url( reverse("orders"), {'account': self.account_name}, ) response = self.client.post(url, data=self.base_post_data, follow=True) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) self.assertIn('error', response.data)
def test_track_to_new_artifact( self, track_to_new_artifact_mock, swagger_client_factory ): # given swagger_client = self._get_swagger_client_mock(swagger_client_factory) backend = HostedNeptuneBackend(credentials) container_id = str(uuid.uuid4()) project_id = str(uuid.uuid4()) response_error = MagicMock() response_error.errorDescription = "error1" swagger_client.api.executeOperations.return_value.response.return_value.result = [ response_error ] swagger_client.api.getArtifactAttribute.side_effect = HTTPNotFound( response=MagicMock() ) for container_type in self.container_types: with self.subTest(msg=f"For type {container_type.value}"): track_to_new_artifact_mock.reset_mock() swagger_client_factory.reset_mock() # when backend.execute_operations( container_id=container_id, container_type=container_type, operations=[ TrackFilesToArtifact( path=["sub", "one"], project_id=project_id, entries=[("/path/to/file", "/path/to")], ), TrackFilesToArtifact( path=["sub", "two"], project_id=project_id, entries=[ ("/path/to/file1", None), ("/path/to/file2", None), ], ), TrackFilesToArtifact( path=["sub", "three"], project_id=project_id, entries=[("/path/to/file1", None)], ), TrackFilesToArtifact( path=["sub", "three"], project_id=project_id, entries=[("/path/to/file2", None)], ), ], ) # then track_to_new_artifact_mock.assert_has_calls( [ call( swagger_client=swagger_client, project_id=project_id, path=["sub", "one"], parent_identifier=str(container_id), entries=[("/path/to/file", "/path/to")], default_request_params=DEFAULT_REQUEST_KWARGS, ), call( swagger_client=swagger_client, project_id=project_id, path=["sub", "two"], parent_identifier=str(container_id), entries=[ ("/path/to/file1", None), ("/path/to/file2", None), ], default_request_params=DEFAULT_REQUEST_KWARGS, ), call( swagger_client=swagger_client, project_id=project_id, path=["sub", "three"], parent_identifier=str(container_id), entries=[ ("/path/to/file1", None), ("/path/to/file2", None), ], default_request_params=DEFAULT_REQUEST_KWARGS, ), ], any_order=True, )