def irisv2_message_create_filter_derived_EMAIL_particularDate_points(self, campaignType, testControlType,
                                                                        channel, messageInfo):
     messageDetails = CreateMessage.create(campaignType, testControlType, 'DERIVED', channel, messageInfo,derivedListInfo={ 'includedGroups' : ['UPLOADOLD', 'LOYALTY'],'excludedGroup' : ['UPLOADOLD'], 'noOfUserUpload' : 5})
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     CreateMessageDBAssertion(constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID'],
                              messageDetails['RESPONSE']['json']['entity']['id'], messageDetails['PAYLOAD'],
                              offer=True).check()
Esempio n. 2
0
    def test_irisv2_getMessage_queryParam_withVariation(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        CreateMessage.create(campaignType, testControlType, listType, channel,
                             messageInfo)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        messageId = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][
                messageInfo['scheduleType']['type']][messageInfo['offerType']][
                    'RESPONSE']['json']['entity']['id']

        for eachType in ['MESSAGE_TARGET_AUDIENCE', 'VARIANT_CREATION']:
            status = message_calls().waitForJobDetailsStatusToClose(
                messageId, eachType, maxNumberOfAttempts=20)

        if status:
            getMessageResponse = GetMessage.getMessageById(
                campaignId, messageId, [('includeVariant', 'true')])
            GetMessage.assertResponse(getMessageResponse, 200)
            CreateMessageDBAssertion(
                campaignId, messageId,
                getMessageResponse['json']['entity']).check()
            VariantDBAssertion(
                campaignId, messageId, getMessageResponse['json']['entity']
                ['messageVariantList']).check()
        else:
            Assertion.constructAssertion(
                False, 'Variant_Creation is Not Closed in Specified time')
Esempio n. 3
0
 def test_irisv2_messageStatus_upload_email_particulardate_point_notApproved_Reject(
         self, campaignType, testControlType, listType, channel,
         messageInfo):
     messageDetails = CreateMessage.create(campaignType,
                                           testControlType,
                                           listType,
                                           channel,
                                           messageInfo,
                                           updateNode=True,
                                           lockNode=True)
     message_calls().waitForJobDetailsStatusToClose(
         messageDetails['RESPONSE']['json']['entity']['id'],
         'VARIANT_CREATION')
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     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'],
         reject={
             'status': 'CLOSED'
         },
         approved='REJECTED').check()
Esempio n. 4
0
    def test_irisv2_getMessage_queryParam_withTargetAudience(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        CreateMessage.create(campaignType, testControlType, listType, channel,
                             messageInfo)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        messageId = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][
                messageInfo['scheduleType']['type']][messageInfo['offerType']][
                    'RESPONSE']['json']['entity']['id']

        getMessageResponse = GetMessage.getMessageById(
            campaignId, messageId, [('includeAudience', 'true')])
        GetMessage.assertResponse(getMessageResponse, 200)
        CreateMessageDBAssertion(campaignId, messageId,
                                 getMessageResponse['json']['entity']).check()
        GetListDBAssertion(
            constant.config['node'][campaignType][testControlType]['LIST']
            [listType][channel]['ID'], {
                'json': {
                    'entity':
                    getMessageResponse['json']['entity']['targetAudience']
                    ['includeAudienceGroupInfo'][0]
                }
            },
            campaignHashLookUp=False,
            createAudienceJob=False,
            reachabilityCheck=False,
            campaignGroupRecipients=False).check()
Esempio n. 5
0
 def test_irisv2_messageStatus_sms_recurring_points_Approved_Stop(
         self, campaignType, testControlType, listType, channel,
         messageInfo):
     messageDetails = CreateMessage.create(campaignType, testControlType,
                                           listType, channel, messageInfo)
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     message_calls().waitForJobDetailsStatusToClose(
         messageDetails['RESPONSE']['json']['entity']['id'],
         'VARIANT_CREATION')
     approveRespone = AuthorizeMessage.approve(
         campaignType,
         testControlType,
         listType,
         channel,
         messageInfo,
         messageCreateResponse=messageDetails)
     AuthorizeMessage.assertResponse(approveRespone, 200)
     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()
Esempio n. 6
0
 def irisv2_message_create_upload_mobile_particularDate_points(self, campaignType, testControlType, listType,
                                                                   channel, messageInfo):
     messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo)
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     CreateMessageDBAssertion(constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID'],
                              messageDetails['RESPONSE']['json']['entity']['id'], messageDetails['PAYLOAD'],
                              offer=True).check()
Esempio n. 7
0
 def irisv2_message_create_filter_immediate_plain(self, campaignType, testControlType,
                                                       channel, messageInfo):
     messageDetails = CreateMessage.create(campaignType, testControlType, 'LOYALTY', channel, messageInfo)
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     CreateMessageDBAssertion(constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID'],
                              messageDetails['RESPONSE']['json']['entity']['id'],
                              messageDetails['PAYLOAD']).check()
 def irisv2_message_create_filter_derived_SMS_immediate_plain_additionalProperties_UsingTinyURL(self, campaignType,
                                                                                                testControlType,
                                                                                                channel,
                                                                                                messageInfo):
     messageDetails = CreateMessage.create(campaignType, testControlType, 'DERIVED', channel, messageInfo,derivedListInfo={ 'includedGroups' : ['UPLOADOLD', 'LOYALTY'],'excludedGroup' : ['UPLOADOLD'], 'noOfUserUpload' : 5})
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     CreateMessageDBAssertion(constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID'],
                              messageDetails['RESPONSE']['json']['entity']['id'], messageDetails['PAYLOAD']).check()
Esempio n. 9
0
 def validateGetAll(response, campaignId):
     numberOfMessageInCampaign = message_calls().getNumberOfMessagesInCampaign(campaignId)
     Assertion.constructAssertion(numberOfMessageInCampaign == len(response),
                                  'NumberOf Messages In Db :{} and in response :{}'.format(numberOfMessageInCampaign,
                                                                                           len(response)))
     for eachMessage in response:
         messageResponse = eachMessage
         CreateMessageDBAssertion(campaignId, messageResponse['messageId'], messageResponse, getAllTest=True).check()
Esempio n. 10
0
 def irisv2_message_create_upload_mobile_immediate_plain_lapsed(self, campaignType, testControlType, listType,
                                                                     channel, messageInfo):
     CreateCampaign.create(campaignType, testControlType, endDate=int(
         time.time() * 1000) + 5 * 60 * 1000)  # Extending Campaign for 5 Mins to set message
     messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo)
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     CreateMessageDBAssertion(constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID'],
                              messageDetails['RESPONSE']['json']['entity']['id'], messageDetails['PAYLOAD']).check()
Esempio n. 11
0
 def irisv2_message_create_filter_mobile_Recurring_plain_UsingTinyURL(self, campaignType, testControlType,
                                                                           listType, channel, messageInfo):
     messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo,
                                           updateNode=True,
                                           lockNode=True)
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     CreateMessageDBAssertion(constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID'],
                              messageDetails['RESPONSE']['json']['entity']['id'], messageDetails['PAYLOAD']).check()
Esempio n. 12
0
 def irisv2_message_create_upload_mobile_immediate_plain_additionalProperties_UsingRateLimit(self, campaignType,
                                                                                                  testControlType,
                                                                                                  listType, channel,
                                                                                                  messageInfo):
     messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo,
                                           updateNode=True,
                                           lockNode=True)
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     CreateMessageDBAssertion(constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID'],
                              messageDetails['RESPONSE']['json']['entity']['id'], messageDetails['PAYLOAD']).check()
Esempio n. 13
0
    def test_irisv2_getMessage_create_filter_mobile_Recurring_points(self, campaignType, testControlType, listType,
                                                                   channel, messageInfo):
        CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo)
        campaignId = constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID']
        messageId = constant.config['node'][campaignType][testControlType]['LIST'][listType][channel]['MESSAGE'][
            messageInfo['scheduleType']['type']][messageInfo['offerType']]['RESPONSE']['json']['entity']['id']

        getMessageResponse = GetMessage.getMessageById(campaignId, messageId)
        GetMessage.assertResponse(getMessageResponse, 200)
        CreateMessageDBAssertion(campaignId, messageId, getMessageResponse['json']['entity']).check()
Esempio n. 14
0
    def tests_irisv2_getMessage_Sanity_create_stickyList_immediate_plain(self, campaignType, testControlType,
                                                                 channel, messageInfo):
        CreateMessage.create(campaignType, testControlType, 'ORG_USERS', channel, messageInfo, derivedListInfo={'excludeUsers': [], 'includeUsers': ':1'})

        campaignId = constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID']
        messageId = constant.config['node'][campaignType][testControlType]['LIST']['ORG_USERS'][channel]['MESSAGE'][
            messageInfo['scheduleType']['type']][messageInfo['offerType']]['RESPONSE']['json']['entity']['id']

        getMessageResponse = GetMessage.getMessageById(campaignId, messageId)
        GetMessage.assertResponse(getMessageResponse, 200)
        CreateMessageDBAssertion(campaignId,messageId,getMessageResponse['json']['entity']).check()
Esempio n. 15
0
    def test_irisv2_getMessage_create_filter_mobile_plain_UsingTinyURL(self, campaignType, testControlType,
                                                                               listType, channel, messageInfo):
        messageInfo= CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo,
                             updateNode=True,
                             lockNode=True)
        campaignId = constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID']
        messageId = messageInfo['RESPONSE']['json']['entity']['id']

        getMessageResponse = GetMessage.getMessageById(campaignId, messageId)
        GetMessage.assertResponse(getMessageResponse, 200)
        CreateMessageDBAssertion(campaignId, messageId, getMessageResponse['json']['entity']).check()
Esempio n. 16
0
    def tests_irisv2_getMessage_create_stickyList_immediate_points(self, campaignType, testControlType,
                                                                  channel, messageInfo):
        CreateMessage.create(campaignType, testControlType, 'ORG_USERS', channel, messageInfo,
                                              derivedListInfo={'excludeUsers': CreateAudience.getPocNewUsers(),
                                                     'includeUsers': constant.config['pocUsers'] + CreateAudience.getPocNewUsers(newUsers=True),
                                                     'groupId': self.listInfo[0]['gId'],
                                                     'label': self.listInfo[0]['gLabel']})
        campaignId = constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID']
        messageId = constant.config['node'][campaignType][testControlType]['LIST']['ORG_USERS'][channel]['MESSAGE'][
            messageInfo['scheduleType']['type']][messageInfo['offerType']]['RESPONSE']['json']['entity']['id']

        getMessageResponse = GetMessage.getMessageById(campaignId, messageId)
        GetMessage.assertResponse(getMessageResponse, 200)
        CreateMessageDBAssertion(campaignId, messageId, getMessageResponse['json']['entity'],offer=True).check()
Esempio n. 17
0
    def test_irisv2_messageStatus_push_particulardate_Approved_Stopt(
            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)

            messageDetails = CreateMessage.create(
                campaignType,
                testControlType,
                listType,
                channel,
                messageInfo,
                campaignId=campaignInfo['ID'],
                updateNode=True)
            CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
            message_calls().waitForJobDetailsStatusToClose(
                messageDetails['RESPONSE']['json']['entity']['id'],
                'VARIANT_CREATION')
            approveRespone = AuthorizeMessage.approve(
                campaignType,
                testControlType,
                listType,
                channel,
                messageInfo,
                campaignId=campaignInfo['ID'],
                messageCreateResponse=messageDetails)
            AuthorizeMessage.assertResponse(approveRespone, 200)
            stopResponse = CreateMessage.stop(
                campaignInfo['ID'],
                approveRespone['json']['entity']['messageId'])
            CreateMessage.assertResponse(stopResponse, 200)
            CreateMessageDBAssertion(
                campaignInfo['ID'],
                messageDetails['RESPONSE']['json']['entity']['id'],
                messageDetails['PAYLOAD'],
                reject={
                    'status': 'CLOSED'
                },
                approved='STOPPED').check()
        finally:
            IrisHelper.updateOrgId(actualOrgId)
            IrisHelper.updateOrgName(actualOrgName)
 def irisv2_message_Sanity_create_mobilePush_ContentType_android_text_ios_image(
         self, campaignType, testControlType, listType, channel,
         messageInfo):
     messageDetails = CreateMessage.create(campaignType,
                                           testControlType,
                                           listType,
                                           channel,
                                           messageInfo,
                                           updateNode=True,
                                           lockNode=True)
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     CreateMessageDBAssertion(
         constant.config['node'][campaignType][testControlType]['CAMPAIGN']
         ['ID'], messageDetails['RESPONSE']['json']['entity']['id'],
         messageDetails['PAYLOAD']).check()
 def irisv2_message_Sanity_create_stickyList_immediate_plain(
         self, campaignType, testControlType, channel, messageInfo):
     messageDetails = CreateMessage.create(campaignType,
                                           testControlType,
                                           'ORG_USERS',
                                           channel,
                                           messageInfo,
                                           derivedListInfo={
                                               'excludeUsers': [],
                                               'includeUsers': ':1'
                                           })
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     CreateMessageDBAssertion(
         constant.config['node'][campaignType][testControlType]['CAMPAIGN']
         ['ID'], messageDetails['RESPONSE']['json']['entity']['id'],
         messageDetails['PAYLOAD']).check()
 def irisv2_message_create_stickyList_immediate_coupon(
         self, campaignType, testControlType, channel, messageInfo):
     messageDetails = CreateMessage.create(
         campaignType,
         testControlType,
         'ORG_USERS',
         channel,
         messageInfo,
         derivedListInfo={
             'excludeUsers': CreateAudience.getPocNewUsers(newUsers=True),
             'includeUsers': CreateAudience.getPocNewUsers(offset=3)
         })
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     CreateMessageDBAssertion(
         constant.config['node'][campaignType][testControlType]['CAMPAIGN']
         ['ID'], messageDetails['RESPONSE']['json']['entity']['id'],
         messageDetails['PAYLOAD']).check()
Esempio n. 21
0
    def test_irisv2_getMessage_queryParam_WithBothTargetAudienceAndVariation_HavingOffer(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        CreateMessage.create(campaignType, testControlType, listType, channel,
                             messageInfo)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        messageId = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][
                messageInfo['scheduleType']['type']][messageInfo['offerType']][
                    'RESPONSE']['json']['entity']['id']

        for eachType in ['MESSAGE_TARGET_AUDIENCE', 'VARIANT_CREATION']:
            status = message_calls().waitForJobDetailsStatusToClose(
                messageId, eachType, maxNumberOfAttempts=20)

        if status:
            getMessageResponse = GetMessage.getMessageById(
                campaignId, messageId, [('includeVariant', 'true'),
                                        ('includeAudience', 'true')])
            GetMessage.assertResponse(getMessageResponse, 200)
            CreateMessageDBAssertion(
                campaignId, messageId,
                getMessageResponse['json']['entity']).check()
            VariantDBAssertion(
                campaignId,
                messageId,
                getMessageResponse['json']['entity']['messageVariantList'],
                offer=True).check()
            GetListDBAssertion(
                constant.config['node'][campaignType][testControlType]['LIST']
                [listType][channel]['ID'], {
                    'json': {
                        'entity':
                        getMessageResponse['json']['entity']['targetAudience']
                        ['includeAudienceGroupInfo'][0]
                    }
                },
                campaignHashLookUp=False,
                createAudienceJob=False,
                reachabilityCheck=False,
                campaignGroupRecipients=False).check()
        else:
            Assertion.constructAssertion(
                False, 'Variant_Creation is Not Closed in Specified time')
Esempio n. 22
0
 def irisv2_message_edit_RECURRING_upcoming_create_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'])
     CreateMessageDBAssertion(constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID'],
                              editInfo['RESPONSE']['json']['entity']['id'], editInfo['PAYLOAD'], version=1).check()
Esempio n. 23
0
 def irisv2_message_create_filter_mobile_Recurring_plain_cronPattern(self, campaignType, testControlType,
                                                                         listType,
                                                                         channel, scheduleType, cronPattern):
     messageInfo = {
         'scheduleType': scheduleType,
         'offerType': 'PLAIN',
         'messageStrategy': {'type': 'DEFAULT'},
         'channels': ['SMS', 'EMAIL'],
         'useTinyUrl': False,
         'encryptUrl': False,
         'skipRateLimit': True
     }
     messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo,
                                           updateNode=True, lockNode=True)
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     CreateMessageDBAssertion(constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID'],
                              messageDetails['RESPONSE']['json']['entity']['id'],
                              messageDetails['PAYLOAD'],cronPattern=cronPattern).check()
    def test_irisv2_getMessage_mobilePush_queryParam_withTargetAudience(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        CreateMessage.create(campaignType, testControlType, listType, channel,
                             messageInfo)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        messageId = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][
                messageInfo['scheduleType']['type']][messageInfo['offerType']][
                    'RESPONSE']['json']['entity']['id']

        getMessageResponse = GetMessage.getMessageById(
            campaignId, messageId, [('includeAudience', 'true')])
        GetMessage.assertResponse(getMessageResponse, 200)
        CreateMessageDBAssertion(campaignId, messageId,
                                 getMessageResponse['json']['entity']).check()
Esempio n. 25
0
    def test_irisv2_getMessage_create_mobilePush_id_immediate_plain_lapsed(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        CreateCampaign.create(campaignType,
                              testControlType,
                              endDate=int(time.time() * 1000) + 5 * 60 * 1000)
        CreateMessage.create(campaignType, testControlType, listType, channel,
                             messageInfo)
        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        messageId = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][
                messageInfo['scheduleType']['type']][messageInfo['offerType']][
                    'RESPONSE']['json']['entity']['id']

        getMessageResponse = GetMessage.getMessageById(campaignId, messageId)
        GetMessage.assertResponse(getMessageResponse, 200)
        CreateMessageDBAssertion(campaignId, messageId,
                                 getMessageResponse['json']['entity']).check()
    def irisv2_message_create_filter_derived_SMS_particularDate_plain(self, campaignType, testControlType,
                                                                                  channel, messageInfo):
        messageDetails = CreateMessage.create(campaignType, testControlType, 'DERIVED', channel, messageInfo,
                                              derivedListInfo={'includedGroups': ['UPLOADOLD', 'LOYALTY'],
                                                               'excludedGroup': ['UPLOADOLD'], 'noOfUserUpload': 5})
        CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
        CreateMessageDBAssertion(constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID'],
                                 messageDetails['RESPONSE']['json']['entity']['id'], messageDetails['PAYLOAD']).check()



        @pytest.mark.parametrize('campaignType,testControlType,channel,messageInfo', [
            ('LIVE', 'ORG', 'EMAIL',
             {'scheduleType': {'type': 'PARTICULARDATE'}, 'offerType': 'PLAIN', 'messageStrategy': {'type': 'DEFAULT'},
              'channels': ['SMS', 'EMAIL'], 'useTinyUrl': False, 'encryptUrl': False, 'skipRateLimit': True}),
            ('LIVE', 'CUSTOM', 'EMAIL',
             {'scheduleType': {'type': 'PARTICULARDATE'}, 'offerType': 'PLAIN', 'messageStrategy': {'type': 'DEFAULT'},
              'channels': ['SMS', 'EMAIL'], 'useTinyUrl': False, 'encryptUrl': False, 'skipRateLimit': True}),
            ('LIVE', 'SKIP', 'EMAIL',
             {'scheduleType': {'type': 'PARTICULARDATE'}, 'offerType': 'PLAIN', 'messageStrategy': {'type': 'DEFAULT'},
              'channels': ['SMS', 'EMAIL'], 'useTinyUrl': False, 'encryptUrl': False, 'skipRateLimit': True}),
            ('UPCOMING', 'ORG', 'EMAIL',
             {'scheduleType': {'type': 'PARTICULARDATE'}, 'offerType': 'PLAIN', 'messageStrategy': {'type': 'DEFAULT'},
              'channels': ['SMS', 'EMAIL'], 'useTinyUrl': False, 'encryptUrl': False, 'skipRateLimit': True}),
            ('UPCOMING', 'CUSTOM', 'EMAIL',
             {'scheduleType': {'type': 'PARTICULARDATE'}, 'offerType': 'PLAIN', 'messageStrategy': {'type': 'DEFAULT'},
              'channels': ['SMS', 'EMAIL'], 'useTinyUrl': False, 'encryptUrl': False, 'skipRateLimit': True}),
            ('UPCOMING', 'SKIP', 'EMAIL',
             {'scheduleType': {'type': 'PARTICULARDATE'}, 'offerType': 'PLAIN', 'messageStrategy': {'type': 'DEFAULT'},
              'channels': ['SMS', 'EMAIL'], 'useTinyUrl': False, 'encryptUrl': False, 'skipRateLimit': True})
        ])
        def irisv2_message_create_filter_derived_EMAIL_particularDate_plain(self, campaignType,
                                                                                        testControlType,
                                                                                        channel, messageInfo):
            messageDetails = CreateMessage.create(campaignType, testControlType, 'DERIVED', channel, messageInfo,
                                                  derivedListInfo={'includedGroups': ['UPLOADOLD', 'LOYALTY'],
                                                                   'excludedGroup': ['UPLOADOLD'], 'noOfUserUpload': 5})
            CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
            CreateMessageDBAssertion(constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID'],
                                     messageDetails['RESPONSE']['json']['entity']['id'],
                                     messageDetails['PAYLOAD']).check()
    def test_irisv2_getMessage_mobilePush_queryParam_With_QueryParamPassedButAsFalse(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        CreateMessage.create(campaignType, testControlType, listType, channel,
                             messageInfo)

        campaignId = constant.config['node'][campaignType][testControlType][
            'CAMPAIGN']['ID']
        messageId = constant.config['node'][campaignType][testControlType][
            'LIST'][listType][channel]['MESSAGE'][
                messageInfo['scheduleType']['type']][messageInfo['offerType']][
                    'RESPONSE']['json']['entity']['id']

        for eachType in ['MESSAGE_TARGET_AUDIENCE', 'VARIANT_CREATION']:
            status = message_calls().waitForJobDetailsStatusToClose(
                messageId, eachType, maxNumberOfAttempts=20)

        if status:
            getMessageResponse = GetMessage.getMessageById(
                campaignId, messageId, [('includeVariant', 'false'),
                                        ('includeAudience', 'false')])
            GetMessage.assertResponse(getMessageResponse, 200)
            CreateMessageDBAssertion(
                campaignId, messageId,
                getMessageResponse['json']['entity']).check()
            Assertion.constructAssertion(
                'messageVariantList'
                not in getMessageResponse['json']['entity'],
                'messageVariantList Key Check in Response',
                verify=True)
            Assertion.constructAssertion(
                'includeAudienceGroupInfo'
                not in getMessageResponse['json']['entity']['targetAudience'],
                'includeAudienceGroupInfo Key Check in Response->json->Entity->message->targetAudience',
                verify=True)
        else:
            Assertion.constructAssertion(
                False, 'Variant_Creation is Not Closed in Specified time')
 def irisv2_message_create_stickyList_particularDate_points(
         self, campaignType, testControlType, channel, messageInfo):
     includeUsers = constant.config[
         'pocUsers'] + CreateAudience.getPocNewUsers(offset=8)
     messageDetails = CreateMessage.create(
         campaignType,
         testControlType,
         'ORG_USERS',
         channel,
         messageInfo,
         derivedListInfo={
             'excludeUsers': CreateAudience.getPocNewUsers(newUsers=True),
             'includeUsers': includeUsers,
             'groupId': self.listInfo[0]['gId'],
             'label': self.listInfo[0]['gLabel']
         })
     CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
     CreateMessageDBAssertion(
         constant.config['node'][campaignType][testControlType]['CAMPAIGN']
         ['ID'],
         messageDetails['RESPONSE']['json']['entity']['id'],
         messageDetails['PAYLOAD'],
         offer=True).check()
Esempio n. 29
0
 def irisv2_message_edit_PARTICULARDATE_upcoming_create_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=30, 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'])
     CreateMessageDBAssertion(constant.config['node'][campaignType][testControlType]['CAMPAIGN']['ID'],
                              editInfo['RESPONSE']['json']['entity']['id'], editInfo['PAYLOAD'],version=1).check()
Esempio n. 30
0
    def test_irisv2_messageStatus_push_recurring_coupon_notApproved_Reject(
            self, campaignType, testControlType, listType, channel,
            messageInfo):
        try:
            actualOrgId = IrisHelper.updateOrgId(
                constant.config['mobilepush']['orgId'])
            actualOrgName = IrisHelper.updateOrgName(
                constant.config['mobilepush']['orgName'])

            messageDetails = CreateMessage.create(campaignType,
                                                  testControlType,
                                                  listType,
                                                  channel,
                                                  messageInfo,
                                                  updateNode=True,
                                                  lockNode=True)
            message_calls().waitForJobDetailsStatusToClose(
                messageDetails['RESPONSE']['json']['entity']['id'],
                'VARIANT_CREATION')
            CreateMessage.assertResponse(messageDetails['RESPONSE'], 200)
            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'],
                reject={
                    'status': 'CLOSED'
                },
                approved='REJECTED').check()
        finally:
            IrisHelper.updateOrgId(actualOrgId)
            IrisHelper.updateOrgName(actualOrgName)