def test_mergeList_LiveCampaign_mobile(self, campaignAndListType, userType, numberOfUsers, customTagCount): mergeListresponse, mergeListPayload, campaignId = campaignList.mergeList( {}, campaignType=campaignAndListType, userType=userType, numberOfUsers=numberOfUsers, numberOfCustomTags=customTagCount) campaignList.assertMergeList(mergeListresponse, 200) groupVersionDetailResult, bucketId = campaignList.assertCreateListDbCalls( mergeListresponse.get('json').get('entity').get('listId'), mergeListPayload, campaignAndListType[1], expectedTestUsers=mergeListresponse.get('json').get('entity').get( 'recipientsResponse').get('test'), expectedControlUsers=mergeListresponse.get('json').get( 'entity').get('recipientsResponse').get('control')) Logger.log('GroupVersionId : {}, bucketId : {}'.format( groupVersionDetailResult, bucketId)) addRecipientResponse = { 'json': { 'entity': mergeListresponse.get('json').get('entity').get( 'recipientsResponse') } } campaignList.assertAddRecipientDbCalls( addRecipientResponse, mergeListPayload.get('recipients'), mergeListresponse, campaignId, bucketId, { 'TEST': groupVersionDetailResult.get('TEST'), 'CONTROL': groupVersionDetailResult.get('CONTROL') }, userType)
def test_mergeList_WrongCampaignId(self): mergeListresponse, mergeListPayload, campaignId = campaignList.mergeList( {'name': 'IRIS_WRONG_CAMPAIGNID_' + str(int(time.time()))}, campaignId=-1) campaignList.assertMergeList( mergeListresponse, 400, 100, 'Invalid request : must be greater than or equal to 1')
def test_mergeList_popKeysFromAddRecipientPayload(self, campaignAndListType, keyToPop, statusCode, errorCode, errorMessage): mergeListresponse, mergeListPayload, campaignId = campaignList.mergeList( keyToPop, campaignType=campaignAndListType, process='pop') campaignList.assertMergeList(mergeListresponse, statusCode, errorCode, errorMessage)
def test_mergeList_WrongValuesInCustomTagAndDataPassed( self, payloadToUpdate, statusCode, errorCode, errorMessage): mergeListresponse, mergeListPayload, campaignId = campaignList.mergeList( payloadData=payloadToUpdate) campaignList.assertMergeList(mergeListresponse, statusCode, errorCode, errorMessage) campaignList.assertInvalidDataInListResponse( mergeListresponse, payloadToUpdate['recipients']['data'], ['Data does not match with schema'])
def test_mergeList_WrongDataSourceInSchema(self, campaignAndListType): mergeListresponse, mergeListPayload, campaignId = campaignList.mergeList( { 'recipients': { 'dataSource': 'wrong', 'schema': 'firstName,lastName,mobile', 'data': ['Test1,Automation1,8497846843'] } }, campaignType=campaignAndListType) campaignList.assertMergeList(mergeListresponse, 400, 100, '')
def test_mergeList_BoundaryValue_NumberOfUsers(self, campaignAndListType, userType, numberOfUsers, customTagCount, statusCode, errorCode, errorMessage): mergeListresponse, mergeListPayload, campaignId = campaignList.mergeList( {}, campaignType=campaignAndListType, userType=userType, numberOfUsers=numberOfUsers, numberOfCustomTags=customTagCount) campaignList.assertMergeList(mergeListresponse, statusCode, errorCode, errorMessage)
def test_mergeList_DuplicateData(self, campaignAndListType, schema, data): mergeListresponse, mergeListPayload, campaignId = campaignList.mergeList( { 'recipients': { 'dataSource': 'CSV', 'schema': schema, 'data': data }, 'name': 'IRIS_MERGE_DUPLICATE_' + str(int(time.time())) }, campaignType=campaignAndListType) campaignList.assertMergeList(mergeListresponse, 200) Assertion.constructAssertion( mergeListresponse.get('json').get('entity').get( 'recipientsResponse').get('test') == 1, 'Matching test count to be 1 as 2 data were passed of same details' )
def test_mergeList_AppendingInSameList(self, campaignAndListType, userType, numberOfUsers, customTagCount): mergeListresponse, mergeListPayload, campaignId = campaignList.mergeList( {}, campaignType=campaignAndListType, userType=userType, numberOfUsers=numberOfUsers, numberOfCustomTags=customTagCount) campaignList.assertMergeList(mergeListresponse, 200) addRecipientResponse, addRecipientPayload = campaignList.addRecipient( {}, campaignId, mergeListresponse.get('json').get('entity').get('listId'), str(userType), int(numberOfUsers), int(customTagCount)) campaignList.assertAddRecipient(addRecipientResponse, 200) Assertion.constructAssertion( addRecipientResponse.get('json').get('entity').get('test') + addRecipientResponse.get('json').get('entity').get('control') == numberOfUsers * 2, 'Matching Data has got Appended')
def test_campaignShard_upload_paste_email_customTag( self, campaignType, userType, numberOfUsers, customTagCount): mergeListresponse, mergeListPayload, campaignId = campaignList.mergeList( {}, campaignId=self.campaignId[campaignType], campaignType=['LIVE', campaignType, 'List', 'TAGS', 0], userType=userType, numberOfUsers=numberOfUsers, numberOfCustomTags=customTagCount, newUser=False) campaignList.assertMergeList(mergeListresponse, 200) CampaignShardDBAssertion(self.campaignId[campaignType], campaignType, 'upload', mergeListPayload['name'], mergeListresponse['json']['entity']['listId'], mergeListPayload['recipients']['schema'], mergeListPayload['recipients']['data'], numberOfCustomTags=customTagCount, numberOfGroupTags=0).check()
def test_mergeList_WrongSchemaAndData(self, campaignAndListType, schema, data, reasonResponse): mergeListresponse, mergeListPayload, campaignId = campaignList.mergeList( { 'recipients': { 'schema': schema, 'data': data }, 'name': 'IRIS_MERGE_LIST_' + str(int(time.time())) }, campaignType=campaignAndListType) campaignList.assertMergeList(mergeListresponse, 200) addRecipientResponse = addRecipientResponse = { 'json': { 'entity': mergeListresponse.get('json').get('entity').get( 'recipientsResponse') } } campaignList.assertInvalidDataInListResponse(addRecipientResponse, data, reasonResponse)