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()
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')
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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')
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()
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()
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()
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()
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)