def test_delete_campaign_with_invalid_id(self, token_first): """ Test if someone passes an invalid value like 0, it should raise InvalidUsage :param token_first: auth token_first """ invalid_id = 0 delete_campaign(invalid_id, token_first, expected_status=(codes.BAD_REQUEST, ))
def test_get_deleted_campaign(self, token_first, campaign_in_db): """ In this test, we will try to get a campaign that does not exists. We are expecting 404 here. :param token_first: auth token """ campaign_id = campaign_in_db['id'] delete_campaign(campaign_id, token_first) get_campaign(campaign_id, token_first, expected_status=(404, ))
def test_delete_scheduled_campaign(self, token_first, campaign_in_db, schedule_a_campaign): """ Try to delete a scheduled campaign , API should successfully delete that campaign :param token_first: auth token :param campaign_in_db: campaign object :param schedule_a_campaign: fixture to schedule a campaign """ delete_campaign(campaign_in_db['id'], token_first, expected_status=(codes.OK, ))
def test_delete_unscheduled_campaign(self, token_first, campaign_in_db): """ Try deleting a campaign that is not scheduled yet and it should successfully delete :param token_first: auth token :param campaign_in_db: campaign object """ # 200 Case, Campaign not found delete_campaign(campaign_in_db['id'], token_first, expected_status=(codes.OK, ))
def test_delete_campaign_from_diff_domain(self, token_second, campaign_in_db): """ Try to delete a campaign but the user is not owner of given campaign and he is from different domain. So API should not allow (403) :param token_second: auth token :param campaign_in_db: campaign object """ delete_campaign(campaign_in_db['id'], token_second, expected_status=(codes.FORBIDDEN, ))
def test_delete_campaign_with_user_from_same_domain( self, token_same_domain, campaign_in_db): """ Try to delete a campaign but the user is not owner of given campaign but from same domain So API should allow him to do so (200) :param token_same_domain: auth token :param campaign_in_db: campaign object """ delete_campaign(campaign_in_db['id'], token_same_domain, expected_status=(codes.OK, ))
def test_delete_non_existing_campaign(self, token_first): """ Test that if someone wants to delete a campaign that does not exists, it should raise ResourceNotFound 404 :param token_first: auth token_first """ non_existing_campaign_id = sys.maxint # 404 Case, Campaign not found delete_campaign(non_existing_campaign_id, token_first, expected_status=(codes.NOT_FOUND, ))
def test_campaigns_delete_with_deleted_record(self, token_first, campaign_in_db): """ We first delete a campaign, and again try to delete it. It should get ResourceNotFound error. :param token_first: auth token :param campaign_in_db: campaign created by user_first """ campaign_id = campaign_in_db['id'] delete_campaign(campaign_id, token_first) data = { 'ids': [campaign_in_db['id']] } delete_campaigns(data, token_first, expected_status=(codes.NOT_FOUND,))
def test_get_with_deleted_campaign(self, token_first, campaign_in_db, url_conversion): """ Here we first delete the campaign, and then test functionality of process_url_redirect by making HTTP GET call to endpoint /v1/redirect. It should give ResourceNotFound Error. But candidate should get Internal server error. Hence this test should get internal server error. """ delete_campaign(campaign_in_db['id'], token_first, expected_status=(codes.OK, )) response = send_request('get', url_conversion['source_url'], '', verify=False) assert response.status_code == codes.INTERNAL_SERVER_ERROR
def test_update_deleted_campaign(self, token_first, campaign_in_db, smartlist_first): """ Try to update a campaign that has been delete, API will raise ResourceNotFound (404) error :param token_first: auth token :param smartlist_first: smartlist object :param campaign_in_db: campaign object """ # Test `raise ResourceNotFound('Campaign not found with id %s' % campaign_id)` campaign_id = campaign_in_db['id'] delete_campaign(campaign_id, token_first) data = generate_campaign_data() data['smartlist_ids'] = [smartlist_first['id']] update_campaign(campaign_id, data, token_first, expected_status=(codes.NOT_FOUND, ))
def tear_down(): delete_campaign(campaign_id, token_first, expected_status=(codes.OK, codes.NOT_FOUND))