def test_remove_human_obj_in_wrong_url(self): human_obj = self.create_human_obj() num_of_obj = self.get_num_of_obj(self.list_url) num_of_cat_obj = self.get_num_of_obj(vn.CAT_VIEW_LIST) # Attempt to delete human instance in cat endpoint response = self.remove_obj( url=vn.CAT_VIEW_DETAIL, data=self.data, pk=human_obj.pk, token=get_valid_token_key() ) self.assertNotEqual( response.status_code, status.HTTP_204_NO_CONTENT, "#TPV-D06: Delete operation accidentally succeed" ) self.assertEqual( response.status_code, status.HTTP_404_NOT_FOUND, "#TPV-D06: Non-existing page was somehow reached" ) new_num_of_obj = self.get_num_of_obj(self.list_url) self.assertEqual( new_num_of_obj, num_of_obj, "#TPV-D06: Total no. of objects is unexpectedly reduced" ) new_num_of_cat_obj = self.get_num_of_obj(vn.CAT_VIEW_LIST) self.assertEqual( new_num_of_cat_obj, num_of_cat_obj, "#TPV-D06: Total no. of objects is unexpectedly reduced" )
def test_add_cat_obj_with_valid_token(self): num_of_obj = self.get_num_of_obj(self.list_url) response = self.add_obj( url=self.list_url, data=self.data, token=get_valid_token_key(), ) self.assertEqual(response.status_code, status.HTTP_201_CREATED, "#TCV-A01: Add cat object with valid token failed") new_num_of_obj = self.get_num_of_obj(self.list_url) self.assertEqual( new_num_of_obj, num_of_obj + 1, "#TCV-A01: Cat object is not added in the total count")
def test_modify_cat_obj_with_invalid_data(self): cat_obj = self.create_cat_obj() # Generate Breed data as invalid data for Cat instance invalid_data = factory.build(dict, FACTORY_CLASS=BreedFactory) response = self.modify_obj( url=self.detail_url, data=invalid_data, pk=cat_obj.pk, token=get_valid_token_key(), ) self.assertEqual( response.status_code, status.HTTP_400_BAD_REQUEST, "#TCV-M05: Able to modify cat object with invalid data")
def test_add_cat_obj_with_invalid_data(self): num_of_cat_obj = self.get_num_of_obj(self.list_url) # Generate Breed data as invalid data for Cat instance invalid_data = factory.build(dict, FACTORY_CLASS=BreedFactory) response = self.add_obj(url=self.list_url, data=invalid_data, token=get_valid_token_key()) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST, "#TCV-A06: Able to add cat object with invalid data") new_num_of_cat_obj = self.get_num_of_obj(self.list_url) self.assertEqual( new_num_of_cat_obj, num_of_cat_obj, "#TCV-A06: Cat object is accidentally added to total count")
def test_modify_breed_obj_with_invalid_data(self): breed_obj = self.create_breed_obj() # Generate Home data as invalid data for Breed instance invalid_data = factory.build(dict, FACTORY_CLASS=HomeFactory) response = self.modify_obj( url=self.detail_url, data=invalid_data, pk=breed_obj.pk, token=get_valid_token_key(), ) self.assertEqual( response.status_code, status.HTTP_400_BAD_REQUEST, "#TBV-M05: Able tp modify breed object with invalid data")
def test_modify_breed_obj_with_valid_token(self): breed_obj = self.create_breed_obj() response = self.modify_obj( url=self.detail_url, data=self.new_data, pk=breed_obj.pk, token=get_valid_token_key(), ) self.assertEqual( response.status_code, status.HTTP_200_OK, "#TBV-M01: Modify breed object with valid token failed") self.assertEqual( response.json(), self.get_breed_obj_url(self.new_data), "#TBV-M01: Breed object was not modified with valid token")
def test_modify_cat_obj_with_valid_token(self): cat_obj = self.create_cat_obj() response = self.modify_obj( url=self.detail_url, data=self.new_data, pk=cat_obj.pk, token=get_valid_token_key(), ) self.assertEqual( response.status_code, status.HTTP_200_OK, "#TCV-M01: Modify cat object with valid token failed") # convert http response into json for comparing purpose self.assertEqual( response.json(), self.get_cat_obj_url(self.new_data), "#TCV-M01: Cat object was not modified with valid token")
def test_remove_cat_obj_with_wrong_pk(self): cat_obj = self.create_cat_obj() num_of_obj = self.get_num_of_obj(self.list_url) response = self.remove_obj( url=vn.BREED_VIEW_DETAIL, data=self.data, pk=99, # wrong pk token=get_valid_token_key()) self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND, "#TCV-D06: Non-existing page was somehow reached") new_num_of_obj = self.get_num_of_obj(self.list_url) self.assertEqual( new_num_of_obj, num_of_obj, "#TCV-D06: Total no. of cat objects is unexpectedly reduced")
def test_remove_cat_obj_with_valid_token(self): cat_obj = self.create_cat_obj() num_of_obj = self.get_num_of_obj(self.list_url) response = self.remove_obj( url=self.detail_url, data=self.data, pk=cat_obj.pk, token=get_valid_token_key(), ) self.assertEqual( response.status_code, status.HTTP_204_NO_CONTENT, "#TCV-D01: Remove cat object with valid token failed") new_num_of_obj = self.get_num_of_obj(self.list_url) self.assertEqual(new_num_of_obj, num_of_obj - 1, "#TCV-D01: Total count of Cat object is not reduced")
def test_add_breed_obj_with_valid_token(self): num_of_obj = self.get_num_of_obj(self.list_url) response = self.add_obj( url=self.list_url, data=self.data, token=get_valid_token_key(), ) self.assertEqual(response.status_code, status.HTTP_201_CREATED, "#TBV-A01: Add breed object with valid token failed") self.assertEqual(response.json(), self.get_breed_obj_url(self.data), "#TBV-A01: Add objects is not the same") new_num_of_obj = self.get_num_of_obj(self.list_url) self.assertEqual( new_num_of_obj, num_of_obj + 1, "#TBV-A01: Breed object is not added in the total count")
def test_partial_modify_cat_obj_with_valid_token(self): cat_obj = self.create_cat_obj() self.data['name'] = "modify test name" response = self.partial_modify_obj( url=self.detail_url, data=self.data, pk=cat_obj.pk, token=get_valid_token_key(), ) self.assertEqual( response.status_code, status.HTTP_200_OK, "#TCV-P01: partial_modify Cat object with valid token failed") # convert http response into json for comparing purpose self.assertEqual( response.json(), self.get_cat_obj_url(self.data), "#TCV-P01: Cat object was not partially modified with valid token")
def test_remove_not_existing_cat_obj(self): CatFactory.create_batch(10) num_of_obj = self.get_num_of_obj(self.list_url) response = self.remove_obj(url=self.detail_url, data=None, pk=99, token=get_valid_token_key()) self.assertNotEqual(response.status_code, status.HTTP_204_NO_CONTENT, "#TCV-D05: Delete operation accidentally succeed") self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND, "#TCV-D05: Non-existing page was somehow reached") new_num_of_obj = self.get_num_of_obj(self.list_url) self.assertEqual( new_num_of_obj, num_of_obj, "#TCV-D05: Total no. of objects is unexpectedly reduced")
def test_partial_modify_home_obj_with_valid_token(self): home_obj = self.create_home_obj() self.data['name'] = "modify test name" # modifying name only response = self.partial_modify_obj( url=self.detail_url, data=self.data, pk=home_obj.pk, token=get_valid_token_key(), ) self.assertEqual( response.status_code, status.HTTP_200_OK, "#THV-P01: partial_modify Home object with valid token failed") self.assertEqual( response.json(), self.get_home_obj_url(self.data), "#THV-P01: Home object was not partially modified with valid token" )
def test_remove_home_obj_with_valid_token(self): home_obj = self.create_home_obj() num_of_obj = self.get_num_of_obj(self.list_url) # attempt to remove the home_obj created response = self.remove_obj( url=self.detail_url, data=self.data, pk=home_obj.pk, token=get_valid_token_key(), ) self.assertEqual( response.status_code, status.HTTP_204_NO_CONTENT, "#THV-D01: Remove home object with valid token failed") new_num_of_obj = self.get_num_of_obj(self.list_url) self.assertEqual(new_num_of_obj, num_of_obj - 1, "#THV-D01: Total no. of objects is not reduced by 1")
def test_add_cat_obj_in_wrong_url(self): num_of_cat_obj = self.get_num_of_obj(self.list_url) num_of_breed_obj = self.get_num_of_obj(vn.BREED_VIEW_LIST) # Attempt to add cat obj in breed endpoint response = self.add_obj(url=vn.BREED_VIEW_LIST, data=self.data, token=get_valid_token_key()) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST, "#TCV-A05: Bad Request was not produced") new_num_of_cat_obj = self.get_num_of_obj(self.list_url) new_num_of_breed_obj = self.get_num_of_obj(vn.BREED_VIEW_LIST) self.assertEqual( new_num_of_cat_obj, num_of_cat_obj, "#TCV-A05: Cat object is accidentally added to total count") self.assertEqual( new_num_of_cat_obj, num_of_cat_obj, "#TCV-A05: Cat object is accidentally added to cat total count")
def test_add_human_obj_in_wrong_url(self): num_of_human_obj = self.get_num_of_obj(self.list_url) num_of_home_obj = self.get_num_of_obj(vn.HOME_VIEW_LIST) # Attempt to add human obj in home endpoint response = self.add_obj( url=vn.HOME_VIEW_LIST, data=self.data, token=get_valid_token_key() ) self.assertEqual( response.status_code, status.HTTP_400_BAD_REQUEST, "#TPV-A05: Bad Request was not produced" ) new_num_of_human_obj = self.get_num_of_obj(self.list_url) new_num_of_home_obj = self.get_num_of_obj(vn.HOME_VIEW_LIST) self.assertEqual( new_num_of_human_obj, num_of_human_obj, "#TPV-A05: Human object is accidentally added to total count" ) self.assertEqual( new_num_of_home_obj, num_of_home_obj, "#TPV-A05: Human object is accidentally added to home total count" )