예제 #1
0
    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))
예제 #2
0
 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)
예제 #3
0
    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))
예제 #4
0
    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)