예제 #1
0
 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)
예제 #2
0
 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')
예제 #3
0
 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)
예제 #4
0
 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'])
예제 #5
0
 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, '')
예제 #6
0
 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)
예제 #7
0
 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'
     )
예제 #8
0
 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')
예제 #9
0
 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()
예제 #10
0
 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)