Exemplo n.º 1
0
    def test_irisv2_message_execute_loyalty_mobile_coupon_recurring_ProdSanity(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        campaignId = CreateCampaign.create(campaignType,
                                           testControlType,
                                           updateNode=True,
                                           lockNode=True)['ID']
        couponSeriesId = CreateMessage.getCouponSeriesId(campaignId)
        approveRespone = AuthorizeMessage.approve(
            campaignType,
            testControlType,
            listType,
            channel,
            messageInfo,
            campaignId=campaignId,
            couponSeriesId=couponSeriesId)
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = campaignId
        response = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['PAYLOAD']

        AuthorizeMessageDBAssertion(campaignId, response, payload,
                                    testControlType).check()
Exemplo n.º 2
0
    def irisv2_message_execute_stickyList_particularDate_coupon(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        includeUsers = constant.config[
            'pocUsers'] + CreateAudience.getPocNewUsers(offset=5)
        approveRespone = AuthorizeMessage.approve(
            campaignType,
            testControlType,
            listType,
            channel,
            messageInfo,
            derivedListInfo={
                'excludeUsers': CreateAudience.getPocNewUsers(newUsers=True),
                'includeUsers': includeUsers,
                'groupId': self.listInfo[0]['gId'],
                'label': self.listInfo[0]['gLabel']
            })
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        response = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['PAYLOAD']

        AuthorizeMessageDBAssertion(campaignId, response, payload,
                                    testControlType).check()
Exemplo n.º 3
0
 def test_irisv2_message_execute_derivedThread_mobile_email_coupon_plain_live(
         self, campaignType, testControlType, channel, messageInfo):
     messageDetails = CreateMessage.create(
         campaignType,
         testControlType,
         'DERIVED',
         channel,
         messageInfo,
         derivedListInfo={
             'includedGroups': ['UPLOAD', 'LOYALTY', 'DERIVED'],
             'excludedGroup': ['UPLOADOLD'],
             'derived': ['UPLOADOLD', 'UPLOAD', 'LOYALTY'],
             'noOfUserUpload': 5
         })
     approveRespone = AuthorizeMessage.approve(
         campaignType,
         testControlType,
         'DERIVED',
         channel,
         messageInfo=messageInfo,
         messageCreateResponse=messageDetails)
     AuthorizeMessage.assertResponse(approveRespone, 200)
     campaignId = constant.config['node'][campaignType][testControlType][
         'CAMPAIGN']['ID']
     AuthorizeMessageDBAssertion(campaignId, messageDetails['RESPONSE'],
                                 messageDetails['PAYLOAD'],
                                 testControlType).check()
    def test_irisv2_message_execute_mobilePush_ContentType_OnlyAndroid(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        constant.config['mobilepush']['channels'] = ['android']
        try:
            approveRespone = AuthorizeMessage.approve(campaignType,
                                                      testControlType,
                                                      listType,
                                                      channel,
                                                      messageInfo,
                                                      updateNode=True)
            AuthorizeMessage.assertResponse(approveRespone, 200)

            campaignId = constant.config['node'][campaignType][
                testControlType]['CAMPAIGN']['ID']
            response = constant.config['node'][campaignType][testControlType][
                'LIST'][listType][channel]['MESSAGE'][
                    messageInfo['scheduleType']['type']][
                        messageInfo['offerType']]['RESPONSE']
            payload = constant.config['node'][campaignType][testControlType][
                'LIST'][listType][channel]['MESSAGE'][
                    messageInfo['scheduleType']['type']][
                        messageInfo['offerType']]['PAYLOAD']

            AuthorizeMessageDBAssertion(campaignId, response, payload,
                                        testControlType).check()
        finally:
            constant.config['mobilepush']['channels'] = ['android', 'ios']
Exemplo n.º 5
0
    def test_irisv2_message_execute_upload_email_particulardate_points_live(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        messageDetails = CreateMessage.create(campaignType,
                                              testControlType,
                                              listType,
                                              channel,
                                              messageInfo,
                                              updateNode=True)
        approveRespone = AuthorizeMessage.approve(
            campaignType,
            testControlType,
            listType,
            channel,
            messageInfo,
            messageCreateResponse=messageDetails)
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        response = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['PAYLOAD']
        AuthorizeMessageDBAssertion(
            campaignId,
            response,
            payload,
            testControlType,
            skippedReason=['No Loyalty Entry Found For User']).check()
Exemplo n.º 6
0
 def test_reminder_create_sms_coupon_email_particulardate_nonResponders_Coupon_appoved(self, campaignType,
                                                                                       testControlType, listType,
                                                                                       channel,
                                                                                       messageInfo):
     remindParams = {
         'reminderStrategy': 'COUPON_NOT_REDEEMED',
         'parentMessageId': constant.config['reminder']['coupon']['messageId']
     }
     campaignId = constant.config['reminder']['coupon']['campaignId']
     constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID'] = campaignId
     messageContent = CreateMessage.constructMessageContent(campaignType, testControlType,
                                                            messageInfo['messageStrategy'],
                                                            messageInfo['offerType'],
                                                            channel)
     messageContent['message_content_id_1']['offers'] = []
     messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo,
                                           listInfo='', campaignId=campaignId, remindParams=remindParams,
                                           lockNode=True, messageContent=messageContent)
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     message_calls().waitForJobDetailsStatusToClose(messageDetails['RESPONSE']['json']['entity']['id'],
                                                    'VARIANT_CREATION')
     approveRespone = AuthorizeMessage.approveWithCampaignAndMessageId(campaignId,
                                                                       messageDetails['RESPONSE']['json']['entity'][
                                                                           'id'])
     AuthorizeMessage.assertResponse(approveRespone, 200)
     AuthorizeMessageDBAssertion(campaignId, messageDetails['RESPONSE'], messageDetails['PAYLOAD'],
                                 testControlType).check()
Exemplo n.º 7
0
    def irisv2_message_execute_stickyList_immediate_plain_additionalProperties_UsingTinyURL(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        messageDetails = CreateMessage.create(campaignType,
                                              testControlType,
                                              listType,
                                              channel,
                                              messageInfo,
                                              updateNode=True,
                                              derivedListInfo={
                                                  'excludeUsers': [],
                                                  'includeUsers': ':1'
                                              })
        approveRespone = AuthorizeMessage.approve(
            campaignType,
            testControlType,
            listType,
            channel,
            messageInfo,
            messageCreateResponse=messageDetails)
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        response = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['PAYLOAD']

        AuthorizeMessageDBAssertion(campaignId, response, payload,
                                    testControlType).check()
Exemplo n.º 8
0
    def test_irisv2_message_personalize_execute_stickylist_Msms_Msms_particulardate_plain_plain_live_multiCategory(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        approveRespone = AuthorizeMessage.approve(campaignType,
                                                  testControlType,
                                                  listType,
                                                  channel,
                                                  messageInfo,
                                                  derivedListInfo={
                                                      'excludeUsers': [],
                                                      'includeUsers': ':1'
                                                  })
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        response = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['PAYLOAD']

        AuthorizeMessageDBAssertion(campaignId,
                                    response,
                                    payload,
                                    testControlType,
                                    personalizedMessage=True).check()
Exemplo n.º 9
0
    def irisv2_message_Sanity_create_execute_stickyList_immediate_plain(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        approveRespone = AuthorizeMessage.approve(campaignType,
                                                  testControlType,
                                                  listType,
                                                  channel,
                                                  messageInfo,
                                                  derivedListInfo={
                                                      'excludeUsers': [],
                                                      'includeUsers': ':1'
                                                  })
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        response = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['PAYLOAD']

        AuthorizeMessageDBAssertion(campaignId, response, payload,
                                    testControlType).check()
Exemplo n.º 10
0
    def test_irisv2_message_execute_loyalty_mobile_email_recurring_immediate_particulardate_allOffer_live_current(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        campaignId = CreateCampaign.create(campaignType,
                                           testControlType,
                                           updateNode=True,
                                           lockNode=True)['ID']
        approveRespone = AuthorizeMessage.approve(campaignType,
                                                  testControlType,
                                                  listType,
                                                  channel,
                                                  messageInfo,
                                                  campaignId=campaignId)
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = campaignId
        response = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['PAYLOAD']

        AuthorizeMessageDBAssertion(campaignId, response, payload,
                                    testControlType).check()
Exemplo n.º 11
0
    def test_irisv2_message_execute_stickylistThread_mobile_email_coupon_live_ProdSanity(
            self, campaignType, testControlType, listType, channel,
            messageInfo, skippedReason):
        approveRespone = AuthorizeMessage.approve(campaignType,
                                                  testControlType,
                                                  listType,
                                                  channel,
                                                  messageInfo,
                                                  derivedListInfo={
                                                      'excludeUsers': [],
                                                      'includeUsers': ':1'
                                                  })
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        response = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['PAYLOAD']

        AuthorizeMessageDBAssertion(campaignId,
                                    response,
                                    payload,
                                    testControlType,
                                    skippedReason=skippedReason).check()
 def irisv2_message_edit_PARTICULARDATE_upcoming_create_execute_plain_mobile_schedulle_body_Sanity(
         self, campaignType, testControlType, listType, channel,
         messageInfo):
     messageDetails = CreateMessage.create(campaignType,
                                           testControlType,
                                           listType,
                                           channel,
                                           messageInfo,
                                           updateNode=True,
                                           lockNode=True)
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     message_calls().waitForJobDetailsStatusToClose(
         messageDetails['RESPONSE']['json']['entity']['id'],
         'VARIANT_CREATION')
     dateTime = Utils.getTime(hours=5, minutes=32, dateTimeFormat=True)
     messageDetails['PAYLOAD'].update({
         'schedule': {
             'startDate':
             Utils.getTime(minutes=1, seconds=25, milliSeconds=True),
             'endDate':
             Utils.getTime(minutes=40, milliSeconds=True),
             'repeatOn': [1],
             'repeatType':
             'DAILY',
             'scheduleType':
             'RECURRING',
             'hour':
             int(dateTime[11:13]),
             'minute':
             int(dateTime[14:16])
         }
     })
     editInfo = CreateMessage.edit(
         constant.config['node'][campaignType][testControlType]['CAMPAIGN']
         ['ID'], messageDetails['RESPONSE']['json']['entity']['id'],
         messageDetails['PAYLOAD'])
     CreateMessage.assertResponse(editInfo['RESPONSE'], 200)
     message_calls().waitForJobDetailsStatusToClose(
         editInfo['RESPONSE']['json']['entity']['id'],
         'VARIANT_CREATION',
         version=1)
     approveRespone = AuthorizeMessage.approve(
         campaignType,
         testControlType,
         listType,
         channel,
         messageInfo,
         messageCreateResponse=editInfo)
     AuthorizeMessage.assertResponse(approveRespone, 200)
     campaignId = constant.config['node'][campaignType][testControlType][
         'CAMPAIGN']['ID']
     AuthorizeMessageDBAssertion(campaignId,
                                 editInfo['RESPONSE'],
                                 editInfo['PAYLOAD'],
                                 testControlType,
                                 version=1).check()
    def irisv2_message_Validation_StoreTag_Skip_create_execute_upload_mobile_immediate_plain(self, campaignType, testControlType,
                                                                                listType,
                                                                                channel, messageInfo):
        messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo,
                                              updateNode=True, lockNode=True)
        approveRespone = AuthorizeMessage.approve(campaignType, testControlType, listType, channel, messageInfo,
                                                  messageCreateResponse=messageDetails)
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID']
        AuthorizeMessageDBAssertion(campaignId, messageDetails['RESPONSE'], messageDetails['PAYLOAD'],
                                    testControlType,skippedReason=['NO_STORE','No entry for store present']).check()
    def irisv2_message_execute_upload_mobile_particularDate_coupon(self, campaignType, testControlType, listType,
                                                                        channel, messageInfo):
        approveRespone = AuthorizeMessage.approve(campaignType, testControlType, listType, channel, messageInfo)
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID']
        response = constant.config['node'][campaignType][testControlType]['LIST'][listType][channel]['MESSAGE'][
            messageInfo['scheduleType']['type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType]['LIST'][listType][channel]['MESSAGE'][
            messageInfo['scheduleType']['type']][messageInfo['offerType']]['PAYLOAD']

        AuthorizeMessageDBAssertion(campaignId, response, payload, testControlType).check()
Exemplo n.º 15
0
    def test_approveMessage_positiveScenarios_WithDifferntStoreType(self, campaignType, testControlType, listType,
                                                                    channel, messageInfo, storeType):
        approveRespone = AuthorizeMessage.approve(campaignType, testControlType, listType, channel, messageInfo,
                                                  updateNode=True, lockNode=True, storeType=storeType)
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID']
        response = constant.config['node'][campaignType][testControlType]['LIST'][listType][channel]['MESSAGE'][
            messageInfo['scheduleType']['type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType]['LIST'][listType][channel]['MESSAGE'][
            messageInfo['scheduleType']['type']][messageInfo['offerType']]['PAYLOAD']

        AuthorizeMessageDBAssertion(campaignId, response, payload, testControlType).check()
Exemplo n.º 16
0
 def test_irisv2_getStatusBy_messageId_All_User_Skipp(
         self, campaignType, testControlType, channel, messageInfo,
         queryParam):
     messageDetails = CreateMessage.create(campaignType,
                                           testControlType,
                                           'UPLOAD',
                                           channel,
                                           messageInfo,
                                           updateNode=True,
                                           lockNode=True)
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     message_calls().waitForJobDetailsStatusToClose(
         messageDetails['RESPONSE']['json']['entity']['id'],
         'VARIANT_CREATION')
     messageDetails['PAYLOAD']['messageContent']['message_content_id_1'][
         'emailBody'] = '{{unsubscribe}},{{last_transacted_store_external_id_2}}'
     editInfo = CreateMessage.edit(
         constant.config['node'][campaignType][testControlType]['CAMPAIGN']
         ['ID'], messageDetails['RESPONSE']['json']['entity']['id'],
         messageDetails['PAYLOAD'])
     CreateMessage.assertResponse(editInfo['RESPONSE'], 200)
     message_calls().waitForJobDetailsStatusToClose(
         editInfo['RESPONSE']['json']['entity']['id'],
         'VARIANT_CREATION',
         version=1)
     approveRespone = AuthorizeMessage.approve(
         campaignType,
         testControlType,
         'UPLOAD',
         channel,
         messageInfo,
         messageCreateResponse=editInfo)
     AuthorizeMessage.assertResponse(approveRespone, 200)
     campaignId = constant.config['node'][campaignType][testControlType][
         'CAMPAIGN']['ID']
     AuthorizeMessageDBAssertion(
         campaignId,
         editInfo['RESPONSE'],
         editInfo['PAYLOAD'],
         testControlType,
         version=1,
         skippedReason=['No entry for last shopped store present']).check()
     response = GetMonitoringDetails.getByMessageId(
         constant.config['node'][campaignType][testControlType]['CAMPAIGN']
         ['ID'], editInfo['RESPONSE']['json']['entity']['id'], queryParam)
     actualResponse, expectedResponse = GetMonitoringDetails.formatingMonitorDetails(
         response, isScheduledMsg=False, isDeliveryBreakEnabled=True)
     Assertion.constructAssertion(
         actualResponse == expectedResponse,
         'Monitoring Details response Matched Actual: {} and Expected: {}'.
         format(actualResponse, expectedResponse))
    def test_2_irisv2_message_execute_upload_mobile_particularDate_plain_UsingRateLimit(self, campaignType,
                                                                                      testControlType,
                                                                                      listType, channel, messageInfo):
        messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo,
                                              updateNode=True)
        approveRespone = AuthorizeMessage.approve(campaignType, testControlType, listType, channel, messageInfo,
                                                  messageCreateResponse=messageDetails)
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID']
        response = constant.config['node'][campaignType][testControlType]['LIST'][listType][channel]['MESSAGE'][
            messageInfo['scheduleType']['type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType]['LIST'][listType][channel]['MESSAGE'][
            messageInfo['scheduleType']['type']][messageInfo['offerType']]['PAYLOAD']
        AuthorizeMessageDBAssertion(campaignId, response, payload, testControlType).check()
Exemplo n.º 18
0
    def test_reminder_edit_allToNotTransacted_particularDate_coupons(self, campaignType, testControlType, listType,
                                                                   channel,
                                                                   messageInfo):
        remindParams = {
            'reminderStrategy': 'ALL',
            'parentMessageId': constant.config['reminder']['coupon']['messageId']
        }
        campaignId = constant.config['reminder']['coupon']['campaignId']
        messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo,
                                              listInfo='', campaignId=campaignId, remindParams=remindParams,
                                              lockNode=True)
        CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
        message_calls().waitForJobDetailsStatusToClose(messageDetails['RESPONSE']['json']['entity']['id'],
                                                       'VARIANT_CREATION')
        editInfo = {
            'messageContent': {
                'message_content_id_1': {
                    "storeType": "REGISTERED_STORE",
                    "offers": [],
                    "messageBody": "Edit Message {{first_name}} {{last_name}} {{fullname}}  {{dynamic_expiry_date_after_1_days.FORMAT_2}} {{voucher}} {{valid_days_from_create}} {{valid_till_date.FORMAT_2}} {{optout}}",
                    "channel": "SMS"
                }
            },
            'targetAudience': {
                "isDef": True,
                "orgUsers": [],
                "includeDefinition": {
                    "parentMessageId": constant.config['reminder']['coupon']['messageId'],
                    "defType": "parentMsgReminder",
                    "reminderStrategy": "NOT_TRANSACTED"
                }
            },
            'schedule': {'scheduleType': 'PARTICULAR_DATE',
                         'scheduledDate': Utils.getTime(minutes=3, seconds=30, milliSeconds=True)
                         }

        }
        editInfo = CreateMessage.edit(campaignId,
                                      messageDetails['RESPONSE']['json']['entity']['id'], messageDetails['PAYLOAD'],
                                      editInfo)
        message_calls().waitForJobDetailsStatusToClose(messageDetails['RESPONSE']['json']['entity']['id'],
                                                       'VARIANT_CREATION', version=1)
        approveRespone = AuthorizeMessage.approveWithCampaignAndMessageId(campaignId,
                                                                          editInfo['RESPONSE']['json']['entity'][
                                                                              'id'])
        AuthorizeMessage.assertResponse(approveRespone, 200)
        AuthorizeMessageDBAssertion(campaignId, editInfo['RESPONSE'], editInfo['PAYLOAD'],
                                    testControlType, version=1).check()
Exemplo n.º 19
0
 def test_reminder_create_plain_transactionType_All_Sanity(self, campaignType, testControlType, listType, channel,
                                                    messageInfo):
     remindParams = {
         'reminderStrategy': 'ALL',
         'parentMessageId': constant.config['reminder']['plain']['messageId']
     }
     campaignId = constant.config['reminder']['plain']['campaignId']
     messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo,
                                           listInfo='', campaignId=campaignId, remindParams=remindParams,
                                           lockNode=True)
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     message_calls().waitForJobDetailsStatusToClose(messageDetails['RESPONSE']['json']['entity']['id'], 'VARIANT_CREATION',sleepTime=20)
     approveRespone = AuthorizeMessage.approveWithCampaignAndMessageId(campaignId,
                                                                       messageDetails['RESPONSE']['json']['entity']['id'])
     AuthorizeMessage.assertResponse(approveRespone, 200)
     AuthorizeMessageDBAssertion(campaignId, messageDetails['RESPONSE'], messageDetails['PAYLOAD'],
                                 testControlType).check()
 def irisv2_message_edit_RECURRING_upcoming_create_execute_plain_mobile_schedulle_body_Sanity(
         self, campaignType, testControlType, listType, channel,
         messageInfo):
     messageDetails = CreateMessage.create(campaignType,
                                           testControlType,
                                           listType,
                                           channel,
                                           messageInfo,
                                           updateNode=True,
                                           lockNode=True)
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     message_calls().waitForJobDetailsStatusToClose(
         messageDetails['RESPONSE']['json']['entity']['id'],
         'VARIANT_CREATION')
     messageDetails['PAYLOAD'].update({
         'schedule': {
             'scheduleType': 'PARTICULAR_DATE',
             'scheduledDate': int(time.time() * 1000) + 2 * 60 * 1000
         }
     })
     editInfo = CreateMessage.edit(
         constant.config['node'][campaignType][testControlType]['CAMPAIGN']
         ['ID'], messageDetails['RESPONSE']['json']['entity']['id'],
         messageDetails['PAYLOAD'])
     CreateMessage.assertResponse(editInfo['RESPONSE'], 200)
     message_calls().waitForJobDetailsStatusToClose(
         editInfo['RESPONSE']['json']['entity']['id'],
         'VARIANT_CREATION',
         version=1)
     approveRespone = AuthorizeMessage.approve(
         campaignType,
         testControlType,
         listType,
         channel,
         messageInfo,
         messageCreateResponse=editInfo)
     AuthorizeMessage.assertResponse(approveRespone, 200)
     campaignId = constant.config['node'][campaignType][testControlType][
         'CAMPAIGN']['ID']
     AuthorizeMessageDBAssertion(campaignId,
                                 editInfo['RESPONSE'],
                                 editInfo['PAYLOAD'],
                                 testControlType,
                                 version=1).check()
Exemplo n.º 21
0
    def est_irisv2_message_execute_upload_sms_immediate_points_plain_live_callTask(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        #TODO Task Still pending .
        approveRespone = AuthorizeMessage.approve(campaignType,
                                                  testControlType, listType,
                                                  channel, messageInfo)
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        response = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['PAYLOAD']

        AuthorizeMessageDBAssertion(campaignId, response, payload,
                                    testControlType).check()
Exemplo n.º 22
0
    def test_approveMessage_USER_ID_positiveScenarios_WithDifferntCustomTags(self, campaignType, testControlType,
                                                                             listType,
                                                                             channel, messageInfo, customTags):
        listInfo = CreateAudience.uploadList(campaignType, testControlType, schemaIdentifier=[channel],
                                             schemaData=[channel, 'FIRST_NAME'] + customTags, newUser=False,
                                             campaignCheck=False, updateNode=True, lockNode=True)

        messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel,
                                              messageInfo=messageInfo, listInfo=listInfo, updateNode=True,
                                              lockNode=True, numberOfCustomTag=len(customTags))
        if not message_calls().waitForJobDetailsStatusToClose(messageDetails['RESPONSE']['json']['entity']['id'],
                                                              'VARIANT_CREATION'):
            raise Exception('VariantNotCreatedException')

        campaignId = constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID']
        approveRespone = AuthorizeMessage.approveWithCampaignAndMessageId(campaignId,
                                                                          messageDetails['RESPONSE']['json'][
                                                                              'entity']['id'])
        AuthorizeMessage.assertResponse(approveRespone, 200)
        AuthorizeMessageDBAssertion(campaignId, messageDetails['RESPONSE'], messageDetails['PAYLOAD'],
                                    testControlType).check()
Exemplo n.º 23
0
    def test_irisv2_message_personalize_execute_loyalty_smsssssssssssssssss_email_sms_immediate_coupon_points_plain_live_multiCategory(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        approveRespone = AuthorizeMessage.approve(campaignType,
                                                  testControlType, listType,
                                                  channel, messageInfo)
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        response = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['PAYLOAD']

        AuthorizeMessageDBAssertion(campaignId,
                                    response,
                                    payload,
                                    testControlType,
                                    personalizedMessage=True).check()
    def test_irisv2_message_Sanity_execute_mobilePush_android_text_ios_image_secondCTA_DeepLink_PrimaryCTA_ExternalURL_customTrue(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        approveRespone = AuthorizeMessage.approve(campaignType,
                                                  testControlType,
                                                  listType,
                                                  channel,
                                                  messageInfo,
                                                  updateNode=True)
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        response = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['PAYLOAD']

        AuthorizeMessageDBAssertion(campaignId, response, payload,
                                    testControlType).check()
    def test_irisv2_message_execute_mobilePush_android_image_secondCTA_Multiplevalue_primaryCTAEmable_IOS_Text(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        approveRespone = AuthorizeMessage.approve(campaignType,
                                                  testControlType,
                                                  listType,
                                                  channel,
                                                  messageInfo,
                                                  updateNode=True)
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        response = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['PAYLOAD']

        AuthorizeMessageDBAssertion(campaignId, response, payload,
                                    testControlType).check()
Exemplo n.º 26
0
    def test_irisv2_message_execute_upload_push_immediate_coupon_live_pushThread(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        try:
            actualOrgId = IrisHelper.updateOrgId(
                constant.config['mobilepush']['orgId'])
            actualOrgName = IrisHelper.updateOrgName(
                constant.config['mobilepush']['orgName'])
            campaignInfo = CreateCampaign.create(campaignType,
                                                 testControlType,
                                                 updateNode=True,
                                                 lockNode=True)
            couponSeriesId = CreateMessage.getCouponSeriesId(
                campaignInfo['ID'])
            approveRespone = AuthorizeMessage.approve(
                campaignType,
                testControlType,
                listType,
                channel,
                messageInfo,
                campaignId=campaignInfo['ID'],
                couponSeriesId=couponSeriesId)
            AuthorizeMessage.assertResponse(approveRespone, 200)

            campaignId = campaignInfo['ID']
            response = constant.config['node'][campaignType][testControlType][
                'LIST'][listType][channel]['MESSAGE'][
                    messageInfo['scheduleType']['type']][
                        messageInfo['offerType']]['RESPONSE']
            payload = constant.config['node'][campaignType][testControlType][
                'LIST'][listType][channel]['MESSAGE'][
                    messageInfo['scheduleType']['type']][
                        messageInfo['offerType']]['PAYLOAD']

            AuthorizeMessageDBAssertion(campaignId, response, payload,
                                        testControlType).check()
        finally:
            IrisHelper.updateOrgId(actualOrgId)
            IrisHelper.updateOrgName(actualOrgName)
Exemplo n.º 27
0
    def test_irisv2_message_personalize_execute_derived_smssssssssssssss_email_immediate_plain_plain_live_multiCategory(
            self, campaignType, testControlType, channel, messageInfo):
        messageDetails = CreateMessage.create(
            campaignType,
            testControlType,
            'DERIVED',
            channel,
            messageInfo,
            derivedListInfo={
                'includedGroups': ['UPLOAD', 'LOYALTY', 'DERIVED'],
                'excludedGroup': ['UPLOADOLD'],
                'derived': ['UPLOADOLD', 'UPLOAD', 'LOYALTY'],
                'noOfUserUpload': 5
            })
        approveRespone = AuthorizeMessage.approve(
            campaignType,
            testControlType,
            'DERIVED',
            channel,
            messageInfo=messageInfo,
            messageCreateResponse=messageDetails)
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        response = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['RESPONSE']
        payload = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][messageInfo['scheduleType'][
                'type']][messageInfo['offerType']]['PAYLOAD']

        AuthorizeMessageDBAssertion(campaignId,
                                    response,
                                    payload,
                                    testControlType,
                                    personalizedMessage=True).check()
Exemplo n.º 28
0
    def irisv2_message_sanity_execute_filter_immediate_plain_storeTag_lasttransactedstore(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        messageDetails = CreateMessage.create(campaignType,
                                              testControlType,
                                              listType,
                                              channel,
                                              messageInfo,
                                              updateNode=True,
                                              lockNode=True)
        approveRespone = AuthorizeMessage.approve(
            campaignType,
            testControlType,
            listType,
            channel,
            messageInfo,
            messageCreateResponse=messageDetails)
        AuthorizeMessage.assertResponse(approveRespone, 200)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        AuthorizeMessageDBAssertion(campaignId, messageDetails['RESPONSE'],
                                    messageDetails['PAYLOAD'],
                                    testControlType).check()
Exemplo n.º 29
0
 def test_irisv2_getStatusBy_messageId_Sanity(self, campaignType,
                                              testControlType, channel,
                                              messageInfo, queryParam):
     messageDetails = CreateMessage.create(campaignType,
                                           testControlType,
                                           'LOYALTY',
                                           channel,
                                           messageInfo,
                                           updateNode=True,
                                           lockNode=True)
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     message_calls().waitForJobDetailsStatusToClose(
         messageDetails['RESPONSE']['json']['entity']['id'],
         'VARIANT_CREATION')
     approveRespone = AuthorizeMessage.approve(
         campaignType,
         testControlType,
         'LOYALTY',
         channel,
         messageInfo,
         messageCreateResponse=messageDetails)
     AuthorizeMessage.assertResponse(approveRespone, 200)
     campaignId = constant.config['node'][campaignType][testControlType][
         'CAMPAIGN']['ID']
     AuthorizeMessageDBAssertion(campaignId, messageDetails['RESPONSE'],
                                 messageDetails['PAYLOAD'],
                                 testControlType).check()
     response = GetMonitoringDetails.getByMessageId(
         campaignId, messageDetails['RESPONSE']['json']['entity']['id'],
         queryParam)
     actualResponse, expectedResponse = GetMonitoringDetails.formatingMonitorDetails(
         response, isScheduledMsg=True, isDeliveryBreakEnabled=True)
     Assertion.constructAssertion(
         actualResponse == expectedResponse,
         'Monitoring Details response Matched Actual: {} and Expected: {}'.
         format(actualResponse, expectedResponse))
Exemplo n.º 30
0
    def irisv2_message_edit_reject_edit_stop_execute_Sanity(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        messageDetails = CreateMessage.create(campaignType,
                                              testControlType,
                                              listType,
                                              channel,
                                              messageInfo,
                                              updateNode=True,
                                              lockNode=True)
        CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
        message_calls().waitForJobDetailsStatusToClose(
            messageDetails['RESPONSE']['json']['entity']['id'],
            'VARIANT_CREATION')
        messageDetails['PAYLOAD'].update({
            'schedule': {
                'scheduleType': 'PARTICULAR_DATE',
                'scheduledDate': int(time.time() * 1000) + 4 * 60 * 1000
            }
        })
        #editing message
        editInfo = CreateMessage.edit(
            constant.config['node'][campaignType][testControlType]['CAMPAIGN']
            ['ID'], messageDetails['RESPONSE']['json']['entity']['id'],
            messageDetails['PAYLOAD'])
        CreateMessageDBAssertion(constant.config['node'][campaignType]
                                 [testControlType]['CAMPAIGN']['ID'],
                                 editInfo['RESPONSE']['json']['entity']['id'],
                                 editInfo['PAYLOAD'],
                                 version=1).check()

        #rejecting message
        rejectResponse = CreateMessage.reject(
            constant.config['node'][campaignType][testControlType]['CAMPAIGN']
            ['ID'], messageDetails['RESPONSE']['json']['entity']['id'])
        CreateMessage.assertResponse(rejectResponse, 200)
        CreateMessageDBAssertion(
            constant.config['node'][campaignType][testControlType]['CAMPAIGN']
            ['ID'],
            messageDetails['RESPONSE']['json']['entity']['id'],
            messageDetails['PAYLOAD'],
            approved='REJECTED').check()
        #editing message
        messageDetails['PAYLOAD'].update({
            'schedule': {
                'scheduleType': 'PARTICULAR_DATE',
                'scheduledDate': int(time.time() * 1000) + 4 * 60 * 1000
            }
        })
        editInfo = CreateMessage.edit(
            constant.config['node'][campaignType][testControlType]['CAMPAIGN']
            ['ID'], messageDetails['RESPONSE']['json']['entity']['id'],
            messageDetails['PAYLOAD'])
        CreateMessage.assertResponse(editInfo['RESPONSE'], 200)
        message_calls().waitForJobDetailsStatusToClose(
            editInfo['RESPONSE']['json']['entity']['id'],
            'VARIANT_CREATION',
            version=2)
        CreateMessageDBAssertion(constant.config['node'][campaignType]
                                 [testControlType]['CAMPAIGN']['ID'],
                                 editInfo['RESPONSE']['json']['entity']['id'],
                                 editInfo['PAYLOAD'],
                                 version=2).check()
        #approving message
        approveRespone = AuthorizeMessage.approve(
            campaignType,
            testControlType,
            listType,
            channel,
            messageInfo,
            messageCreateResponse=editInfo)
        AuthorizeMessage.assertResponse(approveRespone, 200)
        time.sleep(15)
        #stopping the message
        stopResponse = CreateMessage.stop(
            constant.config['node'][campaignType][testControlType]['CAMPAIGN']
            ['ID'], approveRespone['json']['entity']['messageId'])
        CreateMessage.assertResponse(stopResponse, 200)
        CreateMessageDBAssertion(
            constant.config['node'][campaignType][testControlType]['CAMPAIGN']
            ['ID'],
            messageDetails['RESPONSE']['json']['entity']['id'],
            messageDetails['PAYLOAD'],
            reject={
                'status': 'CLOSED'
            },
            approved='STOPPED').check()
        #editing message
        messageDetails['PAYLOAD'].update({
            'schedule': {
                'scheduleType': 'PARTICULAR_DATE',
                'scheduledDate': int(time.time() * 1000) + 4 * 60 * 1000
            }
        })
        editInfo = CreateMessage.edit(
            constant.config['node'][campaignType][testControlType]['CAMPAIGN']
            ['ID'], messageDetails['RESPONSE']['json']['entity']['id'],
            messageDetails['PAYLOAD'])
        CreateMessage.assertResponse(editInfo['RESPONSE'], 200)
        message_calls().waitForJobDetailsStatusToClose(
            editInfo['RESPONSE']['json']['entity']['id'],
            'VARIANT_CREATION',
            version=3)
        CreateMessageDBAssertion(constant.config['node'][campaignType]
                                 [testControlType]['CAMPAIGN']['ID'],
                                 editInfo['RESPONSE']['json']['entity']['id'],
                                 editInfo['PAYLOAD'],
                                 version=3).check()
        #approving message
        approveRespone = AuthorizeMessage.approve(
            campaignType,
            testControlType,
            listType,
            channel,
            messageInfo,
            messageCreateResponse=editInfo)
        AuthorizeMessage.assertResponse(approveRespone, 200)
        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        AuthorizeMessageDBAssertion(campaignId,
                                    editInfo['RESPONSE'],
                                    editInfo['PAYLOAD'],
                                    testControlType,
                                    version=3).check()