def test_get_returns_http_403_if_user_is_not_superuser_or_have_no_access_to_the_data( self, data_get_by_id, user_get_by_id, read_access_mock): # Arrange data = self.fixture.data_collection[self.fixture.USER_1_WORKSPACE_1] user_request = create_mock_user("65467", is_staff=True) user_new_owner = create_mock_user("123") data_get_by_id.return_value = data user_get_by_id.return_value = user_new_owner read_access_mock.return_value = [] # Act response = RequestMock.do_request_patch( data_rest_views.DataChangeOwner.as_view(), user_request, param={ "pk": data.id, "user_id": self.fixture.workspace_1.id }, ) # Assert self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
def test_is_staff_returns_http_200( self, instance_serializer_data, instance_get_all ): instance_get_all.return_value = {} instance_serializer_data.return_value = True response = RequestMock.do_request_get( instance_views.InstanceDetail.as_view(), create_mock_user("1", is_staff=True), param={"pk": self.fake_id}, ) self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_select_all_metadata_formats(self): # Arrange user = create_mock_user("1", is_staff=True) # Act response = RequestMock.do_request_get( rest_oai_provider_metadata_format.MetadataFormatsList.as_view(), user, self.data, ) # Assert self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_get_other_user_blob_returns_http_200(self): # Arrange user = create_mock_user("2") # Act response = RequestMock.do_request_get( views.BlobDownload.as_view(), user, param={"pk": str(self.fixture.blob_1.id)}, ) # Assert self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_add_data_source_adds_data_source_if_not_found( self, mock_get, mock_save): # create query query = _create_query() # Arrange mock_get.side_effect = exceptions.DoesNotExist("") mock_save.return_value = query mock_user = create_mock_user("1") origin_data_sources = len(query.data_sources) data_source = _create_data_source("Remote", "/remote/url") query_api.add_data_source(query, data_source, mock_user) self.assertTrue(len(query.data_sources) == origin_data_sources + 1)
def test_staff_returns_http_200(self, oai_provider_set_serializer_data, oai_provider_set_get_by_id): oai_provider_set_serializer_data.return_value = True oai_provider_set_get_by_id.return_value = {} mock_user = create_mock_user("1", is_staff=True) response = RequestMock.do_request_get( oai_provider_views.SetDetail.as_view(), mock_user, param={"set_id": self.fake_id}, ) self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_get_returns_http_404_when_data_not_found(self, mock_get_by_id): # Arrange mock_user = create_mock_user('1') mock_get_by_id.side_effect = DoesNotExist("error") # Mock response = RequestMock.do_request_get( views.TemplateVersionManagerDetail.as_view(), mock_user, param={'pk': 'invalid'}) # Assert self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
def test_add_registry_raises_exception_if_url_already_exists(self): """Test add registry with existing URL""" # Arrange mock_user = create_mock_user("1", is_superuser=True) mock_request = create_mock_request(user=mock_user) # Act + Assert with self.assertRaises(oai_pmh_exceptions.OAIAPINotUniqueError): oai_registry_api.add_registry_by_url( self.fixture.url, self.fixture.harvest_rate, self.fixture.harvest, request=mock_request, )
def test_staff_returns_http_200(self, mock_data_get_by_id): mock_data = Data(template="template", user_id="1", dict_content=OrderedDict(), title="title") mock_data_get_by_id.return_value = mock_data mock_user = create_mock_user("1", is_staff=True) response = RequestMock.do_request_get(get_result_from_data_id, mock_user, data={"id": 0}) self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_get_filtered_by_incorrect_workspace_returns_no_data(self): # Arrange user = create_mock_user("1") # Act response = RequestMock.do_request_get( data_rest_views.DataList.as_view(), user, data={"workspace": "5da8ac0622301d1240f2551b"}, ) # Assert self.assertEqual(len(response.data), 0)
def test_get_all_by_correct_workspace_returns_data(self): # Arrange user = create_mock_user("1", is_superuser=True) # Act response = RequestMock.do_request_get( data_rest_views.DataListByWorkspace.as_view(), user, param={"workspace_id": self.fixture.workspace_1.id}, ) # Assert self.assertEqual(len(response.data), 2)
def test_get_filtered_by_correct_workspace_returns_data(self): # Arrange user = create_mock_user("1") # Act response = RequestMock.do_request_get( data_rest_views.DataList.as_view(), user, data={"workspace": self.fixture.workspace_1.id}, ) # Assert self.assertEqual(len(response.data), 2)
def test_patch_wrong_id_returns_http_404(self): # Arrange user = create_mock_user("1") # Act response = RequestMock.do_request_patch( data_rest_views.DataDetail.as_view(), user, param={"pk": "507f1f77bcf86cd799439011"}, ) # Assert self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
def test_get_filtered_by_incorrect_template_returns_no_data(self): # Arrange user = create_mock_user("1") # Act response = RequestMock.do_request_get( data_rest_views.DataList.as_view(), user, data={"template": "507f1f77bcf86cd799439011"}, ) # Assert self.assertEqual(len(response.data), 0)
def test_get_raise_500_sever_error_when_general_error_occured(self): # Arrange user = create_mock_user('0') self.param = {'pk': '0'} # Act response = RequestMock.do_request_get( exporter_views.ExporterDetail.as_view(), user, self.data, self.param) # Assert self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
def test_get_raise_500_sever_error_when_general_error_occurred(self): # Arrange user = create_mock_user("0") self.param = {"pk": "0"} # Act response = RequestMock.do_request_get( saved_query_views.SavedQueryDetail.as_view(), user, self.data, self.param) # Assert self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
def test_data_check_xml_file_is_valid_raises_xml_error_if_failed_during_validation( self, ): # Arrange user = create_mock_user("3") mock_request = create_mock_request(user=user) template = _get_template() data = _create_data( template, user_id="3", title="title", content="<new_tag></new_tag>" ) # Act # Assert with self.assertRaises(exceptions.XMLError): data_api.check_xml_file_is_valid(data, request=mock_request)
def test_get_returns_http_200(self): # Arrange user = create_mock_user("1") # Act response = RequestMock.do_request_get( template_rest_views.TemplateDownload.as_view(), user, param={"pk": self.fixture.user1_template.id}, ) # Assert self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_staff_returns_http_204(self, oai_provider_set_delete, oai_provider_set_get_by_id): oai_provider_set_get_by_id.return_value = _create_mock_provider() oai_provider_set_delete.return_value = {} mock_user = create_mock_user("1", is_staff=True) response = RequestMock.do_request_delete( oai_provider_views.SetDetail.as_view(), mock_user, param={"set_id": self.fake_id}, ) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
def test_get_wrong_id_returns_http_404(self): # Arrange user = create_mock_user("1") # Act response = RequestMock.do_request_get( template_rest_views.TemplateDownload.as_view(), user, param={"pk": "507f1f77bcf86cd799439011"}, ) # Assert self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
def test_staff_returns_http_200(self, mock_oai_record_api_get_by_id, mock_serializer_data): # Arrange user = create_mock_user("1", is_staff=True) mock_oai_record_api_get_by_id.return_value = Mock(spec=OaiRecord) mock_serializer_data.return_value = Mock(spec=ResultSerializer) # Act response = RequestMock.do_request_get( result_views.get_result_from_data_id, user=user, data=self.data) # Assert self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_get_no_buckets_types_returns_all_types_if_no_buckets( self, mock_get_all_buckets, mock_get_global_version_managers): # Arrange mock_user = create_mock_user("1", is_superuser=True) mock_request = create_mock_request(user=mock_user) mock_type1 = _create_mock_type_version_manager() mock_type2 = _create_mock_type_version_manager() mock_get_global_version_managers.return_value = [ mock_type1, mock_type2 ] mock_get_all_buckets.return_value = [] self.assertTrue(len(get_no_buckets_types(request=mock_request)) == 2)
def test_get_filtered_by_correct_name_returns_http_200(self): # Arrange user = create_mock_user("1", is_superuser=True) # Act response = RequestMock.do_request_get( views.BlobList.as_view(), user, data={"filename": self.fixture.blob_1.filename}, ) # Assert self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_get_returns_data(self, mock_xml_content): # Arrange user = create_mock_user('1') mock_xml_content.return_value = "content" # Act response = RequestMock.do_request_get( data_rest_views.DataDetail.as_view(), user, param={'pk': self.fixture.data_1.id}) # Assert self.assertEqual(response.data['title'], self.fixture.data_1.title)
def test_add_data_source_does_not_add_data_source_if_found( self, mock_get, mock_save): # create query query = _create_query() # Arrange mock_get.return_value = query.data_sources[0] mock_save.return_value = query mock_user = create_mock_user("1") origin_data_sources = len(query.data_sources) data_source = _create_data_source("Remote", "/remote/url") query_api.add_data_source(query, data_source, mock_user) self.assertTrue(len(query.data_sources) == origin_data_sources)
def test_get_data_containing_ascii_returns_data(self, mock_xml_content): # Arrange user = create_mock_user('1') mock_xml_content.return_value = "\xc3te\xc3" # Act response = RequestMock.do_request_get( data_rest_views.DataDetail.as_view(), user, param={'pk': self.fixture.data_1.id}) # Assert self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_select_metadata_format_returns(self): # Arrange user = create_mock_user("1", is_staff=True) # Act response = RequestMock.do_request_get( rest_oai_provider_metadata_format.MetadataFormatDetail.as_view(), user=user, param=self.param, ) # Assert self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_patch_wrong_template_returns_http_400(self): # Arrange user = create_mock_user('1') # Act response = RequestMock.do_request_patch( data_rest_views.DataDetail.as_view(), user, data={'template': '507f1f77bcf86cd799439011'}, param={'pk': self.fixture.data_1.id}) # Assert self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
def test_get_filtered_by_incorrect_is_disabled_returns_no_tvm(self): # Arrange user = create_mock_user("1") # Act response = RequestMock.do_request_get( views.GlobalTypeVersionManagerList.as_view(), user, data={"is_disabled": not self.fixture.type_vm_1.is_disabled}, ) # Assert self.assertEqual(len(response.data), 0)
def test_authenticated_returns_http_200(self, mock_execute_query): # Arrange user = create_mock_user("1") data = self.one_record_data mock_execute_query.return_value = Response(status=status.HTTP_200_OK) # Act response = RequestMock.do_request_post( query_views.ExecuteQueryView.as_view(), user=user, data=data ) # Assert self.assertEqual(response.status_code, status.HTTP_200_OK)