예제 #1
0
    def test_outboundCampaign_differentName_parellelRequest(self):
        que = Queue.Queue()
        threads_list = list()

        for i in range(1, 11):
            threads_list.append(
                Thread(target=lambda q, arg1: q.put(
                    {'createCampaign': campaigns.createCampaign(arg1)}),
                       args=(que, {
                           'name':
                           str(i) + '_' + str(int(time.time() * 100000)),
                           'goalId':
                           constant.irisGenericValues['goalId'],
                           'objectiveId':
                           constant.irisGenericValues['objectiveId']
                       })))
        [x.start() for x in threads_list]
        [x.join() for x in threads_list]

        while not que.empty():
            result = que.get().get('createCampaign')
            Logger.log('Checking for Campaign Created:', result)
            campaigns.assertCreateCampaign(result[0], 200)
            campaigns.assertCreateCampaignDBCall(
                result[0]['json']['entity']['campaignId'], result[1])
예제 #2
0
 def test_createCoupon_campaignConceptType_CouponOrgType(
         self, description, payloadData):
     parentChild = dbCallsCoupons.getParentChildRelationOnEntities()
     Logger.log('Parent and Child Map :', parentChild)
     try:
         if construct.updateAuthenticate('concept') == True:
             conceptId = str(auth.authLogin()['json']['user']
                             ['aryaUserRoles']['CONCEPT'][0]['entityId'])
             createCampaignresponse, createCampaignPayload = campaigns.createCampaign(
                 {
                     'entityId': conceptId,
                     'name': 'IRIS_' + str(int(time.time())),
                     'goalId': constant.irisGenericValues['goalId'],
                     'objectiveId':
                     constant.irisGenericValues['objectiveId']
                 })
             if construct.updateAuthenticate() == True:
                 Logger.log('PayloadDate Including till list :',
                            payloadData)
                 response, payload, campaignId = coupons.createCoupons(
                     payloadData=payloadData,
                     campaignId=createCampaignresponse['json']['entity']
                     ['campaignId'])
                 coupons.assertCreateCoupon(
                     response, 400, 4004,
                     'Coupon Request Body Violation Exception :  Creation of Coupon for this campaign is not allowed for this user'
                 )
         else:
             Assertion.constructAssertion(
                 False,
                 'Marking as Failed as Authenticate was not Properly Updated'
             )
     except AssertionError, exp:
         Assertion.constructAssertion(False,
                                      'Case Failed Due to :{}'.format(exp))
예제 #3
0
 def setupCampaignsInThriftReference(
         typesOfCampaign=['org', 'custom', 'skip']):
     if 'org' in typesOfCampaign:
         campaignResponse_ORG, campaignPayload_ORG = campaigns.createCampaign(
             {
                 'name': 'CampaignShard_' + str(int(time.time() * 100000)),
                 'goalId': constant.irisGenericValues['goalId'],
                 'objectiveId': constant.irisGenericValues['objectiveId'],
                 'testControl': {
                     'type': 'ORG',
                     'test': 90
                 }
             })
         constant.thiriftCampaignShardTestReferenceObject['org'][
             'campaign']['name'] = campaignPayload_ORG['name']
         constant.thiriftCampaignShardTestReferenceObject['org']['campaign']['id'] = \
             campaignResponse_ORG['json']['entity']['campaignId']
     if 'skip' in typesOfCampaign:
         campaignResponse_SKIP, campaignPayload_SKIP = campaigns.createCampaign(
             {
                 'name': 'CampaignShard_' + str(int(time.time() * 100000)),
                 'goalId': constant.irisGenericValues['goalId'],
                 'objectiveId': constant.irisGenericValues['objectiveId'],
                 'testControl': {
                     'type': 'SKIP',
                     'test': 90
                 }
             })
         constant.thiriftCampaignShardTestReferenceObject['skip'][
             'campaign']['name'] = campaignPayload_SKIP['name']
         constant.thiriftCampaignShardTestReferenceObject['skip']['campaign']['id'] = \
             campaignResponse_SKIP['json']['entity']['campaignId']
     if 'custom' in typesOfCampaign:
         campaignResponse_CUSTOM, campaignPayload_CUSTOM = campaigns.createCampaign(
             {
                 'name': 'CampaignShard_' + str(int(time.time() * 100000)),
                 'goalId': constant.irisGenericValues['goalId'],
                 'objectiveId': constant.irisGenericValues['objectiveId'],
                 'testControl': {
                     'type': 'CUSTOM',
                     'test': 90
                 }
             })
         constant.thiriftCampaignShardTestReferenceObject['custom'][
             'campaign']['name'] = campaignPayload_CUSTOM['name']
         constant.thiriftCampaignShardTestReferenceObject['custom']['campaign']['id'] = \
             campaignResponse_CUSTOM['json']['entity']['campaignId']
예제 #4
0
    def preRequisitesForVenenoLine(testControlType='org'):
        userData = []
        for eachUser in constant.config['line']['user']:
            userData.append('Test,Automation,{}'.format(eachUser['userId']))
        campaignResponse, campaignPayload = campaigns.createCampaign({
            'name':
            'IRIS_' + str(int(time.time() * 100000)),
            'goalId':
            constant.irisGenericValues['goalId'],
            'objectiveId':
            constant.irisGenericValues['objectiveId'],
            'testControl': {
                'type': testControlType.upper(),
                'test': 90
            }
        })
        listResponse, listPayload, campaignId = campaignList.createList(
            {
                'customTagCount': 0,
                'name': 'IRIS_LIST_' + str(int(time.time() * 100000))
            },
            campaignId=campaignResponse['json']['entity']['campaignId'])
        addRecipientResponse, addRecipientPayload = campaignList.addRecipient(
            {
                'data': userData,
                'schema': 'firstName,lastName,userId'
            },
            campaignId,
            listResponse['json']['entity']['listId'],
            newUser=False)
        responseCoupon, payloadCoupon, campaignId = coupons.createCoupons(
            campaignId=campaignId)

        return {
            'campaignName':
            campaignPayload['name'],
            'campaignId':
            campaignId,
            'listId':
            listResponse['json']['entity']['listId'],
            'voucherId':
            responseCoupon['json']['entity']['voucherSeriesId'],
            'strategy':
            None,
            'programeId':
            None,
            'allocationStrategyId':
            None,
            'expiryStrategyId':
            None,
            'bucketId':
            dbCallsList.getGroupVersionDetailsWithGroupId(
                listResponse['json']['entity']['listId'])['TEST']['bucket_id'],
            'groupVersionResult':
            dbCallsList.getGroupVersionDetailsWithGroupId(
                listResponse['json']['entity']['listId']),
            'groupName':
            listPayload['name']
        }
예제 #5
0
 def test_getCampaignOfDifferentCampaignTypes(self, campaignType):
     response, payload = campaigns.createCampaign(
         campaignTypeParams=campaignType)
     campaigns.assertCreateCampaign(response, 200)
     getCampaignResponse = campaigns.getCampaignById(
         campaignId=response.get('json').get('entity').get('campaignId'))
     campaigns.assertGetCampaign(getCampaignResponse, 200)
     campaigns.assertGetCampaignDBCall(
         getCampaignResponse,
         response.get('json').get('entity').get('campaignId'))
예제 #6
0
 def test_pasteList_wrongOrgId(self):
     response, payload = campaigns.createCampaign(campaignTypeParams=['LIVE', 'ORG'])
     campaigns.assertCreateCampaign(response, 200)
     campaignId = response.get('json').get('entity').get('campaignId')
     previousOrgId = construct.updateOrgId(0)
     try:
         responseCreateList, payload, campaignId = campaignList.createList({}, campaignId=campaignId)  
         campaignList.assertCreateList(responseCreateList, 400, 2003, 'Invalid campaign  id : ' + str(campaignId)[:3] + ',' + str(campaignId)[3:])
     except AssertionError, exp:
         Logger.log('Assertioin Failed as :', exp)
예제 #7
0
 def test_outboundCampaign_wrongCampaignType(self):
     response = campaigns.createCampaign({
         'goalId':
         constant.irisGenericValues['goalId'],
         'objectiveId':
         constant.irisGenericValues['objectiveId'],
         'campaignType':
         'WRONGTYPE'
     })[0]
     campaigns.assertCreateCampaign(
         response, 400, 102, 'Invalid request : CampaignType is required. ')
예제 #8
0
 def test_outboundCampaign_differentCampaignName_negativeScenario(
         self, caseName, campaignName, errorCode, errorMessage):
     response = campaigns.createCampaign({
         'name':
         campaignName,
         'goalId':
         constant.irisGenericValues['goalId'],
         'objectiveId':
         constant.irisGenericValues['objectiveId']
     })[0]
     campaigns.assertCreateCampaign(response, 400, errorCode, errorMessage)
예제 #9
0
 def test_outboundCampaign_Sanity(self):
     response, payload = campaigns.createCampaign({
         'name':
         'IRIS_' + str(int(time.time() * 100000)),
         'goalId':
         constant.irisGenericValues['goalId'],
         'objectiveId':
         constant.irisGenericValues['objectiveId']
     })
     campaigns.assertCreateCampaign(response, 200)
     campaigns.assertCreateCampaignDBCall(
         response['json']['entity']['campaignId'], payload)
예제 #10
0
 def createCampaign():
     response, payload = campaigns.createCampaign({
         'name':
         'IRIS_' + str(int(time.time())),
         'goalId':
         constant.irisGenericValues['goalId'],
         'objectiveId':
         constant.irisGenericValues['objectiveId']
     })
     campaigns.assertCreateCampaign(response, 200)
     campaigns.assertCreateCampaignDBCall(
         response['json']['entity']['campaignId'], payload)
     return response['json']['entity']['campaignId']
예제 #11
0
 def test_outboundCampaign_differentCampaignName_positiveScenario(
         self, caseName, campaignName):
     response, payload = campaigns.createCampaign({
         'name':
         campaignName,
         'goalId':
         constant.irisGenericValues['goalId'],
         'objectiveId':
         constant.irisGenericValues['objectiveId']
     })
     campaigns.assertCreateCampaign(response, 200)
     campaigns.assertCreateCampaignDBCall(
         response['json']['entity']['campaignId'], payload)
예제 #12
0
    def setup_class(self):
        campaignResponse_ORG, campaignPayload_ORG = campaigns.createCampaign({
            'name':
            'IRIS_' + str(int(time.time() * 100000)),
            'goalId':
            constant.irisGenericValues['goalId'],
            'objectiveId':
            constant.irisGenericValues['objectiveId'],
            'testControl': {
                'type': 'ORG',
                'test': 90
            }
        })
        campaignResponse_SKIP, campaignPayload_SKIP = campaigns.createCampaign(
            {
                'name': 'IRIS_' + str(int(time.time() * 100000)),
                'goalId': constant.irisGenericValues['goalId'],
                'objectiveId': constant.irisGenericValues['objectiveId'],
                'testControl': {
                    'type': 'SKIP',
                    'test': 90
                }
            })
        campaignResponse_CUSTOM, campaignPayload_CUSTOM = campaigns.createCampaign(
            {
                'name': 'IRIS_' + str(int(time.time() * 100000)),
                'goalId': constant.irisGenericValues['goalId'],
                'objectiveId': constant.irisGenericValues['objectiveId'],
                'testControl': {
                    'type': 'CUSTOM',
                    'test': 90
                }
            })

        self.campaignId = {
            'ORG': campaignResponse_ORG['json']['entity']['campaignId'],
            'SKIP': campaignResponse_SKIP['json']['entity']['campaignId'],
            'CUSTOM': campaignResponse_CUSTOM['json']['entity']['campaignId']
        }
예제 #13
0
 def test_outboundCampaign_wrongObjectiveId(self):
     objectiveId = str(dbCallsCampaign.getInvalidObjectiveId()['id'])
     response = campaigns.createCampaign({
         'name':
         'IRIS_' + str(int(time.time() * 100000)),
         'goalId':
         constant.irisGenericValues['goalId'],
         'objectiveId':
         objectiveId
     })[0]
     campaigns.assertCreateCampaign(
         response, 400, 1005,
         'Campaign Objective Exception : Invalid Campaign Objective Id')
예제 #14
0
 def test_outboundCampaign_sameName_SequentialRequest(self):
     response, payload = campaigns.createCampaign({
         'name':
         'IRIS_' + str(int(time.time() * 100000)),
         'goalId':
         constant.irisGenericValues['goalId'],
         'objectiveId':
         constant.irisGenericValues['objectiveId']
     })
     campaigns.assertCreateCampaign(response, 200)
     campaigns.assertCreateCampaignDBCall(
         response['json']['entity']['campaignId'], payload)
     response, payload = campaigns.createCampaign({
         'goalId':
         constant.irisGenericValues['goalId'],
         'objectiveId':
         constant.irisGenericValues['objectiveId'],
         'name':
         payload['name']
     })
     campaigns.assertCreateCampaign(
         response, 400, 1003,
         'Campaign Name Exception : Campaign Name already exists')
예제 #15
0
 def test_outboundCampaign_lapsed_timezoneDifference(self):
     response = campaigns.createCampaign({
         'name':
         'IRIS_' + str(int(time.time() * 100000)),
         'goalId':
         constant.irisGenericValues['goalId'],
         'objectiveId':
         constant.irisGenericValues['objectiveId'],
         'startDate':
         int(time.time() * 1000 - 24 * 60 * 60 * 1000)
     })[0]
     campaigns.assertCreateCampaign(
         response, 400, 1006,
         'Campaign Date Exception : Campaign Start Date Cannot Be before Current Date'
     )
예제 #16
0
    def preRequisitesForVeneno(testControlType='org'):
        if 'storeType' in constant.payload['createmessage']:
            constant.payload['createmessage'].pop('storeType')

        campaignResponse, campaignPayload = campaigns.createCampaign({
            'name':
            'IRIS_' + str(int(time.time() * 100000)),
            'goalId':
            constant.irisGenericValues['goalId'],
            'objectiveId':
            constant.irisGenericValues['objectiveId'],
            'testControl': {
                'type': testControlType.upper(),
                'test': 90
            }
        })
        listResponse, listPayload, campaignId = campaignList.createList(
            {
                'customTagCount': 1,
                'name': 'IRIS_LIST_' + str(int(time.time() * 100000))
            },
            campaignId=campaignResponse['json']['entity']['campaignId'])
        addRecipientResponse, addRecipientPayload = campaignList.addRecipient(
            {},
            campaignId,
            listResponse['json']['entity']['listId'],
            'mobile,email',
            10,
            1,
            newUser=False)
        responseCoupon, payloadCoupon, campaignId = coupons.createCoupons(
            campaignId=campaignId)
        strategyDict = construct.constructStrategyIds()
        groupVersionDict = dbCallsList.getGroupVersionDetailsWithGroupId(
            listResponse['json']['entity']['listId'])

        return {
            'campaignId': campaignId,
            'listId': listResponse['json']['entity']['listId'],
            'voucherId': responseCoupon['json']['entity']['voucherSeriesId'],
            'strategy': strategyDict,
            'programeId': strategyDict['programeId'],
            'allocationStrategyId': strategyDict['allocationStrategyId'],
            'expiryStrategyId': strategyDict['expirationStrategyId'],
            'bucketId': groupVersionDict['TEST']['bucket_id'],
            'groupVersionResult': groupVersionDict,
            'groupName': listPayload['name']
        }
예제 #17
0
    def setup_class(self):
        if 'storeType' in constant.payload['createmessage']:
            constant.payload['createmessage'].pop('storeType')

        campaignResponse, campaignPayload = campaigns.createCampaign({
            'name':
            'IRIS_' + str(int(time.time() * 100000)),
            'goalId':
            constant.irisGenericValues['goalId'],
            'objectiveId':
            constant.irisGenericValues['objectiveId'],
            'testControl': {
                'type': 'ORG',
                'test': 90
            }
        })
        listResponse, listPayload, campaignId = campaignList.createList(
            {
                'customTagCount': 1,
                'name': 'IRIS_LIST_' + str(int(time.time() * 100000))
            },
            campaignId=campaignResponse['json']['entity']['campaignId'])
        addRecipientResponse, addRecipientPayload = campaignList.addRecipient(
            {},
            campaignId,
            listResponse['json']['entity']['listId'],
            'mobile',
            10,
            1,
            newUser=False)
        responseCoupon, payloadCoupon, campaignId = coupons.createCoupons(
            campaignId=campaignId)

        self.campaignId = campaignId
        self.listId = listResponse['json']['entity']['listId']
        self.voucherId = responseCoupon['json']['entity']['voucherSeriesId']
        self.strategy = construct.constructStrategyIds()
        self.programeId = self.strategy['programeId']
        self.allocationStrategyId = self.strategy['allocationStrategyId']
        self.expiryStrategyId = self.strategy['expirationStrategyId']
        self.bucketId = dbCallsList.getGroupVersionDetailsWithGroupId(
            listResponse['json']['entity']['listId'])['TEST']['bucket_id']
        self.groupVersionResult = dbCallsList.getGroupVersionDetailsWithGroupId(
            listResponse['json']['entity']['listId'])
        Logger.log(
            'Veneno Setup Details --> campaignId:{} ,ListId:{} ,voucherId:{} ,strategy:{}, bucketId:{}, groupVersionDetail:{}'
            .format(self.campaignId, self.listId, self.voucherId,
                    self.strategy, self.bucketId, self.groupVersionResult))
예제 #18
0
 def test_outboundCampaign_googleAnalytics(self):
     response, payload = campaigns.createCampaign({
         'name':
         'IRIS_' + str(int(time.time() * 100000)),
         'goalId':
         constant.irisGenericValues['goalId'],
         'objectiveId':
         constant.irisGenericValues['objectiveId'],
         'gaName':
         'Test',
         'gaSource':
         'Automation'
     })
     campaigns.assertCreateCampaign(response, 200)
     campaigns.assertCreateCampaignDBCall(
         response['json']['entity']['campaignId'], payload)
예제 #19
0
파일: list.py 프로젝트: anupsl/pyApps
    def mergeList(payloadData={},
                  campaignId=None,
                  campaignType=['LIVE', 'ORG', 'List', 'TAGS', 0],
                  userType='mobile',
                  numberOfUsers=1,
                  numberOfCustomTags=0,
                  newUser=True,
                  process='update'):
        campaignList.updateRechabilityBeforeEachRun()
        campaignDefault = constant.campaignDefaultValues
        if campaignId == None:
            campaignIdValue = constant.campaignDefaultValues[campaignType[0]][
                campaignType[1]]['Value']
            if len(campaignIdValue['response']) == 0 and len(
                    campaignIdValue['payload']) == 0:
                response, payload = campaigns.createCampaign(
                    {}, campaignTypeParams=[campaignType[0], campaignType[1]])
                if response['statusCode'] == 200:
                    campaignId = response['json']['entity']['campaignId']
                else:
                    Assertion.constructAssertion(
                        False,
                        'Error : While Creating Campaign , Status Code : {}'.
                        format(response['statusCode']))
            else:
                campaignId = campaignIdValue['response']['json']['entity'][
                    'campaignId']

        Logger.log('CamapaignId getting used to create list :', campaignId)

        createListConstructedEndPoint = construct.constructUrl(
            'mergelist').replace('{campaignId}', str(campaignId))
        payload = {}
        if len(payloadData) == 0:
            payload = construct.constructMergeListBody(userType, numberOfUsers,
                                                       numberOfCustomTags,
                                                       newUser)
        else:
            payload = construct.constructBody(payloadData, process,
                                              'mergelist')

        response = Utils.makeRequest(url=createListConstructedEndPoint,
                                     data=payload,
                                     auth=construct.constructAuthenticate(),
                                     headers=construct.constructHeaders(),
                                     method='POST')
        return construct.constructResponse(response), payload, campaignId
예제 #20
0
 def test_outboundCampaign_sameDate(self):
     response, payload = campaigns.createCampaign({
         'name':
         'IRIS_sameDate_' + str(int(time.time() * 100000)),
         'goalId':
         constant.irisGenericValues['goalId'],
         'objectiveId':
         constant.irisGenericValues['objectiveId'],
         'startDate':
         int(time.time() * 1000),
         'endDate':
         int(time.time() * 1000)
     })
     campaigns.assertCreateCampaign(
         response, 400, 1006,
         'Campaign Date Exception : Campaign End Date Cannot Be before Start Date'
     )
예제 #21
0
    def createCampaignsForSocialThrift(
            testControlType=['ORG', 'CUSTOM', 'SKIP']):
        buildResult = dict()
        for each in testControlType:
            buildResult[each] = campaigns.createCampaign({
                'name':
                'Social_Thrift_' + str(int(time.time() * 100000)),
                'goalId':
                constant.irisGenericValues['goalId'],
                'objectiveId':
                constant.irisGenericValues['objectiveId'],
                'testControl': {
                    'type': each,
                    'test': 90
                }
            })[0]['json']['entity']['campaignId']

        return buildResult
예제 #22
0
 def setupListForTimelineExection(self):
     try:
         campaignResponse_ORG, campaignPayload_ORG = campaigns.createCampaign(
             {
                 'name': 'IRIS_' + str(int(time.time() * 100000)),
                 'goalId': constant.irisGenericValues['goalId'],
                 'objectiveId': constant.irisGenericValues['objectiveId'],
                 'testControl': {
                     'type': 'ORG',
                     'test': 90
                 }
             })
         detailsOfFilterListCreated = CampaignShardHelper.createFilterList(
             campaignResponse_ORG['json']['entity']['campaignId'],
             'test_timeline_list_{}_{}'.format('org', int(time.time())))
         return detailsOfFilterListCreated['groupLabel']
     except Exception, exp:
         return constant.timelineDetails[
             constant.config['cluster']]['segment']
예제 #23
0
 def test_getCampaignAll_Sanity(self, description, numberOfCamaigns, startDate, endDate, startFrom):
     getCampaignResponseCheck = campaigns.getCampaignById(queryParam=[('startDate', startDate), ('endDate', endDate), ('startFrom', startFrom), ('numberOfRecords', numberOfCamaigns)])
     campaignsRequiredToCreate = numberOfCamaigns - len(getCampaignResponseCheck.get('json').get('data'))
         
     numberOfCampaignsGotCreated = 0
     if campaignsRequiredToCreate > 0:
         for number in range(campaignsRequiredToCreate):
             response, payload = campaigns.createCampaign({'name':'IRIS_' + str(int(time.time())), 'goalId':str(constant.irisGenericValues['goalId']), 'objectiveId': constant.irisGenericValues['objectiveId'], 'startDate':startDate, 'endDate':endDate})
             campaigns.assertCreateCampaign(response, 200)
             if response.get('statusCode') == 200:
                 numberOfCampaignsGotCreated = numberOfCampaignsGotCreated + 1
     
     Logger.log('Number of Campaigns required :{} and CampaignsAlready Present in Range :{} and created Camapign in this job :{}'.format(numberOfCamaigns, len(getCampaignResponseCheck.get('json').get('data')), numberOfCampaignsGotCreated))
     
     getCampaignResponse = campaigns.getCampaignById(queryParam=[('startDate', startDate), ('endDate', endDate), ('startFrom', startFrom), ('numberOfRecords', numberOfCamaigns)])
     campaigns.assertGetCampaignAll(getCampaignResponse, numberOfCamaigns, 200)
     listOfCampaignsWithCampaignIdAndResponse = construct.constructGetCampaignAllToGetCampaignIdResponse(getCampaignResponse)
     for eachlistOfCampaignsWithCampaignIdAndResponse in listOfCampaignsWithCampaignIdAndResponse:
         campaigns.assertGetCampaignDBCall(eachlistOfCampaignsWithCampaignIdAndResponse[1], eachlistOfCampaignsWithCampaignIdAndResponse[0])
예제 #24
0
 def test_createCoupon_campaignIdNotInPassedOrg(self):
     campaignResponse, campaignPayload = campaigns.createCampaign({
         'name':
         'IRIS_' + str(int(time.time())),
         'goalId':
         constant.irisGenericValues['goalId'],
         'objectiveId':
         constant.irisGenericValues['objectiveId']
     })
     previousOrgId = construct.updateOrgId(0)
     try:
         response, payload, campaignId = coupons.createCoupons(
             campaignId=campaignResponse['json']['entity']['campaignId'])
         coupons.assertCreateCoupon(
             response, 400, 1007,
             'Campaign Id Exception : Invalid Campaign Id Passed {}'.format(
                 campaignId))
     except AssertionError, exp:
         Assertion.constructAssertion(False, exp)
예제 #25
0
 def setup_class(self):
     if 'storeType' in constant.payload['createmessage']:
         constant.payload['createmessage'].pop('storeType')
     campaignResponse, campaignPayload = campaigns.createCampaign({
         'name':
         'IRIS_' + str(int(time.time() * 100000)),
         'goalId':
         constant.irisGenericValues['goalId'],
         'objectiveId':
         constant.irisGenericValues['objectiveId'],
         'testControl': {
             'type': 'ORG',
             'test': 90
         }
     })
     self.campaignId = campaignResponse['json']['entity']['campaignId']
     self.groupVersionResult = None
     self.bucketId = None
     self.voucherId = None
     self.strategy = None
     self.node = list()
예제 #26
0
 def test_getCampaign_PassingWorngOrg(self):
     response, payload = campaigns.createCampaign({
         'name':
         'IRIS_' + str(int(time.time())),
         'goalId':
         str(dbCallsCampaign.getValidGoalId()),
         'objectiveId':
         dbCallsCampaign.getValidObjectiveId()
     })
     campaigns.assertCreateCampaign(response, 200)
     previousOrgId = construct.updateOrgId(0)
     try:
         getCampaignResponse = campaigns.getCampaignById(
             campaignId=response.get('json').get('entity').get(
                 'campaignId'))
         campaigns.assertGetCampaign(
             getCampaignResponse, 400, 1007,
             'Campaign Id Exception : No Campaign Exists For This Campaign Id'
         )
     except AssertionError, exp:
         Logger.log('Assertion Failed as :', exp)
예제 #27
0
 def test_getCampaignAll_updateUpcomingCampaign_outOfGivenRange(self, description, numberOfCamaigns, startDate, endDate, startFrom):
     getCampaignResponseCheck = campaigns.getCampaignById(queryParam=[('startDate', startDate), ('endDate', endDate), ('startFrom', startFrom), ('numberOfRecords', numberOfCamaigns)])
     campaignsRequiredToCreate = numberOfCamaigns - len(getCampaignResponseCheck.get('json').get('data'))
 
     numberOfCampaignsGotCreated = 0
     if campaignsRequiredToCreate > 0:
         for number in range(campaignsRequiredToCreate):
             response, payload = campaigns.createCampaign({'name':'IRIS_' + str(int(time.time())), 'goalId':str(constant.irisGenericValues['goalId']), 'objectiveId': constant.irisGenericValues['objectiveId'], 'startDate':startDate, 'endDate':endDate})
             campaigns.assertCreateCampaign(response, 200)
             if response.get('statusCode') == 200:
                 numberOfCampaignsGotCreated = numberOfCampaignsGotCreated + 1
     
     Logger.log('Number of Campaigns required :{} and CampaignsAlready Present in Range :{} and created Camapign in this job :{}'.format(numberOfCamaigns, len(getCampaignResponseCheck.get('json').get('data')), numberOfCampaignsGotCreated))
     
     getCampaignResponse = campaigns.getCampaignById(queryParam=[('startDate', startDate), ('endDate', endDate), ('startFrom', startFrom), ('numberOfRecords', numberOfCamaigns)])
     campaigns.assertGetCampaignAll(getCampaignResponse, numberOfCamaigns, 200)
     listOfCampaignsWithCampaignIdAndResponse = construct.constructGetCampaignAllToGetCampaignIdResponse(getCampaignResponse)
     campaignIdToUpdate = listOfCampaignsWithCampaignIdAndResponse[0][0]
     Logger.log('Updating Campaign with id :', campaignIdToUpdate)
     campaigns.updateCampaign({'startDate':int(time.time() * 1000 + 24 * 60 * 60 * 1000 * 469), 'endDate':int(time.time() * 1000 + 24 * 60 * 60 * 1000 * 470)}, campaignId=campaignIdToUpdate)
     getCampaignResponseAfterUpdatingSingleCampaignInThatRange = campaigns.getCampaignById(queryParam=[('startDate', startDate), ('endDate', endDate), ('startFrom', startFrom), ('numberOfRecords', numberOfCamaigns)])
     for each in getCampaignResponseAfterUpdatingSingleCampaignInThatRange.get('json').get('data'):
         if int(each.get('id')) == int(campaignIdToUpdate):
             Assertion.constructAssertion(False, 'Updated Campaign Found in Get All Call')
예제 #28
0
 def preRequisitesForVenenoRateLimit(channel, testControl='org'):
     if channel.lower() in ['mobile', 'email']:
         campaignResponse, campaignPayload = campaigns.createCampaign({
             'name':
             'Veneno_RateLimit_' + str(int(time.time() * 100000)),
             'goalId':
             constant.irisGenericValues['goalId'],
             'objectiveId':
             constant.irisGenericValues['objectiveId'],
             'testControl': {
                 'type': testControl.upper(),
                 'test': 90
             }
         })
         return {
             'campaign': {
                 'name': campaignPayload['name'],
                 'id': campaignResponse['json']['entity']['campaignId']
             },
             'list': {
                 'upload':
                 CampaignShardHelper.setupUploadList(
                     'org',
                     campaignPayload['name'],
                     campaignResponse['json']['entity']['campaignId'],
                     'RL',
                     newUser=True,
                     setupObjectForCampaignShard=False,
                     channel=channel)
             }
         }
     elif channel.lower() in ['android', 'ios']:
         venenoObjectForPush = VenenoHelper.preRequisitesForVenenoMobilePush(
             channel.lower())
         return {
             'campaign': {
                 'name': venenoObjectForPush['campaignName'],
                 'id': venenoObjectForPush['campaignId']
             },
             'list': {
                 'upload': {
                     'addRecipientPayload':
                     venenoObjectForPush['addRecipientPayload'],
                     'groupLabel':
                     venenoObjectForPush['groupName'],
                     'groupDetails':
                     venenoObjectForPush['groupDetails'],
                     'groupVersionDetails':
                     venenoObjectForPush['groupVersionResult'],
                     'campaignGroupRecipients':
                     venenoObjectForPush['campaignGroupRecipient']
                 }
             }
         }
     elif channel.lower() in ['wechat']:
         venenoObjectForWechat = VenenoHelper.preRequisitesForVenenoWechat()
         return {
             'campaign': {
                 'name': venenoObjectForWechat['campaignName'],
                 'id': venenoObjectForWechat['campaignId']
             },
             'list': {
                 'upload': {
                     'addRecipientPayload':
                     venenoObjectForWechat['addRecipientPayload'],
                     'groupLabel':
                     venenoObjectForWechat['groupName'],
                     'groupDetails':
                     venenoObjectForWechat['groupDetails'],
                     'groupVersionDetails':
                     venenoObjectForWechat['groupVersionResult'],
                     'campaignGroupRecipients':
                     venenoObjectForWechat['campaignGroupRecipient']
                 }
             }
         }
     else:
         raise Exception(
             "Channel :{} not Supported in preRequisites".format(channel))
예제 #29
0
 def test_outboundCampaign_popField(self, popKeysFromBody, errorCode,
                                    errorMessage):
     response = campaigns.createCampaign(popKeysFromBody, process='pop')[0]
     campaigns.assertCreateCampaign(response, 400, errorCode, errorMessage)
예제 #30
0
파일: coupons.py 프로젝트: anupsl/pyApps
    def createCoupons(payloadData={},
                      campaignId=None,
                      campaignType=[],
                      process='update',
                      key=True,
                      timeout=5.0):
        updateDefault = False
        if campaignId == None:
            if len(campaignType) == 0:
                response, payload = campaigns.createCampaign({
                    'name':
                    'IRIS_COUPON' + randValues.randomString(5) +
                    str(int(time.time() * 100000)),
                    'goalId':
                    constant.irisGenericValues['goalId'],
                    'objectiveId':
                    constant.irisGenericValues['objectiveId']
                })
            else:
                response, payload = campaigns.createCampaign(
                    {}, campaignTypeParams=[campaignType[0], campaignType[1]])
                updateDefault = True

            if response['statusCode'] == 200:
                campaignId = response['json']['entity']['campaignId']
            else:
                Assertion.constructAssertion(
                    False,
                    'Error : While Creating Campaign , Status Code : {}'.
                    format(response['statusCode']))

        Logger.log('CampaignId getting used to create list :', campaignId)

        if key:
            createCouponConstructedEndPoint = construct.constructUrl(
                'createcoupon')
            payload = construct.constructBody(payloadData, process,
                                              'createcoupon')
            payload.update({'campaignId': campaignId})
            try:
                response = Utils.makeRequest(
                    url=createCouponConstructedEndPoint,
                    data=payload,
                    auth=construct.constructAuthenticate(),
                    headers=construct.constructHeaders(),
                    method='POST')
                if updateDefault:
                    constant.campaignDefaultValues[campaignType[0]][
                        campaignType[1]]['Coupon'].update({
                            'response': response,
                            'payload': payload
                        })
            except:
                return {}, payload, campaignId

            return construct.constructResponse(response), payload, campaignId
        else:
            couponResponse = constant.campaignDefaultValues[campaignType[0]][
                campaignType[1]]['Coupon']['response']
            couponPayload = constant.campaignDefaultValues[campaignType[0]][
                campaignType[1]]['Coupon']['payload']

            if len(couponResponse) == 0 or len(couponPayload) == 0:
                coupons.createCoupons(payloadData,
                                      campaignId,
                                      campaignType,
                                      process,
                                      key=True)
            else:
                return couponResponse, couponPayload, campaignId