def test_irisv2_message_execute_flow_precheck_particularDate_NotAuthorized_remind_retrail_remind_GatewayUnavialable( self, campaignType, testControlType, listType, channel, messageInfo): preCheckError = { 'create': { 'status': 'TEMPORARY_FAILURE', 'errorDescription': 'CAMPAIGN_NOT_AUTHORIZED' }, 'execute': { 'status': 'TEMPORARY_FAILURE', 'errorDescription': 'GATEWAY_NOT_AVAILABLE' } } try: messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo, updateNode=True, lockNode=True) CreateMessage.assertResponse(messageDetails['RESPONSE'], 200) PreCheckDBValidation( constant.config['node'][campaignType][testControlType] ['CAMPAIGN']['ID'], messageDetails['RESPONSE']['json']['entity']['id'], messageInfo['scheduleType']['type'], ['REMINDED', 'OPENED'], executeCheck=False, precheck=preCheckError['create'], variantCheck=False).validateMessageFlow() IrisHelper.disableDomainGatewayMapId(channel) approveRespone = AuthorizeMessage.approve( campaignType, testControlType, listType, channel, messageInfo, messageCreateResponse=messageDetails) AuthorizeMessage.assertResponse(approveRespone, 200) Precheck_calls().waitForJobTypeUpdate( constant.config['node'][campaignType][testControlType] ['CAMPAIGN']['ID'], messageDetails['RESPONSE']['json']['entity']['id'], 'REMIND', 'PRECHECK', 'TEMPORARY_FAILURE', expectedError='GATEWAY_NOT_AVAILABLE') PreCheckDBValidation( constant.config['node'][campaignType][testControlType] ['CAMPAIGN']['ID'], messageDetails['RESPONSE']['json']['entity']['id'], messageInfo['scheduleType']['type'], ['REMINDED', 'OPENED'], executeCheck=False, precheck=preCheckError['execute'], variantCheck=False).validateMessageFlow() except AssertionError, exp: Assertion.constructAssertion(False, 'Reason :{}'.format(exp))
def test_irisv2_message_precheck_create_upload_mobile_particularDate_GatewayNotAvialable( self, campaignType, testControlType, listType, channel, messageInfo, preCheckErrorList): try: messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo, updateNode=True, lockNode=True) CreateMessage.assertResponse(messageDetails['RESPONSE'], 200) IrisHelper.disableDomainGatewayMapId(channel) preCheckResponse = PreCheck.executePrecheck( constant.config['node'][campaignType][testControlType] ['CAMPAIGN']['ID'], messageDetails['RESPONSE']['json']['entity']['id']) PreCheck.assertPreCheckResponse(preCheckResponse, 200) PreCheck.assertPrecheckStatus(preCheckResponse, preCheckErrorList) finally: IrisHelper.createNewDummyGateway(channel)
def test_irisv2_message_execute_flow_precheck_immediate_GatewayUnavialable_remind( self, campaignType, testControlType, listType, channel, messageInfo): preCheckError = { 'status': 'TEMPORARY_FAILURE', 'errorDescription': 'GATEWAY_NOT_AVAILABLE' } try: messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo, updateNode=True, lockNode=True) CreateMessage.assertResponse(messageDetails['RESPONSE'], 200) IrisHelper.disableDomainGatewayMapId(channel) approveRespone = AuthorizeMessage.approve( campaignType, testControlType, listType, channel, messageInfo, messageCreateResponse=messageDetails) AuthorizeMessage.assertResponse(approveRespone, 200) PreCheckDBValidation( constant.config['node'][campaignType][testControlType] ['CAMPAIGN']['ID'], messageDetails['RESPONSE']['json']['entity']['id'], messageInfo['scheduleType']['type'], ['REMINDED', 'OPENED'], remindCheck=False, precheck=preCheckError, variantCheck=False).validateMessageFlow() except AssertionError, exp: Assertion.constructAssertion(False, '{}'.format(exp))
def test_irisv2_message_execute_flow_precheck_failed_particularDate_gatewayNotAvialable_remind_execute_creditNotAvialable( self, campaignType, testControlType, listType, channel, messageInfo): preCheckError = { 'create': { 'status': 'TEMPORARY_FAILURE', 'errorDescription': 'CAMPAIGN_NOT_AUTHORIZED,GATEWAY_NOT_AVAILABLE' }, 'execute': { 'status': 'TEMPORARY_FAILURE', 'errorDescription': 'BULK_CREDITS_NOT_AVAILABLE' } } dummyGatewayCreated = False try: messageDetails = CreateMessage.create(campaignType, testControlType, listType, channel, messageInfo, updateNode=True, lockNode=True) IrisHelper.disableDomainGatewayMapId(channel) CreateMessage.assertResponse(messageDetails['RESPONSE'], 200) PreCheckDBValidation( constant.config['node'][campaignType][testControlType] ['CAMPAIGN']['ID'], messageDetails['RESPONSE']['json']['entity']['id'], messageInfo['scheduleType']['type'], ['REMINDED', 'OPENED'], executeCheck=False, precheck=preCheckError['create'], variantCheck=False).validateMessageFlow() IrisHelper.updateCredit(0, channel) if IrisHelper.createNewDummyGateway(channel): dummyGatewayCreated = True approveRespone = AuthorizeMessage.approve( campaignType, testControlType, listType, channel, messageInfo, messageCreateResponse=messageDetails) AuthorizeMessage.assertResponse(approveRespone, 200) Precheck_calls().waitForJobTypeUpdate( constant.config['node'][campaignType][testControlType] ['CAMPAIGN']['ID'], messageDetails['RESPONSE']['json']['entity']['id'], 'REMIND', 'PRECHECK', 'TEMPORARY_FAILURE', expectedError='BULK_CREDITS_NOT_AVAILABLE') PreCheckDBValidation( constant.config['node'][campaignType][testControlType] ['CAMPAIGN']['ID'], messageDetails['RESPONSE']['json']['entity']['id'], messageInfo['scheduleType']['type'], ['REMINDED', 'OPENED'], executeCheck=False, precheck=preCheckError['execute'], variantCheck=False).validateMessageFlow() finally: IrisHelper.updateCredit(99999, channel) if not dummyGatewayCreated: IrisHelper.createNewDummyGateway(channel)