def updateRemoteCampaignIdInCampaignsBase(campaignId, remoteId): try: additionalProperties = { 'additionalProperties': { 'socialCampaignId': remoteId } } campaigns.updateCampaign(additionalProperties, campaignId=campaignId) except Exception, exp: Logger.log( 'Exception with Update Campaign V1 API :{} , trying to update with update Query' .format(exp)) social_user_calls().updateCampaignsBaseAdditionalInfo( campaignId, remoteId)
def test_updateCampaign_WithDifferntCampaignName_NegativeCases( self, description, campaignName, statusCode, errorCode, errorMessage): updateResponse, createResponse, updatePayload, createPayload = campaigns.updateCampaign( {'name': campaignName}, campaignType=['LIVE', 'ORG']) Logger.log( 'updateResponse :{} , createResponse :{} , updatePayload :{} ,createPayload :{}' .format(updateResponse, createResponse, updatePayload, createPayload)) campaigns.assertUpdateCampaign(updateResponse, createResponse, statusCode, errorCode, errorMessage)
def test_updateCampaign_WrongCampaignId(self, description, campaignId): updateResponse, createResponse, updatePayload, createPayload = campaigns.updateCampaign( {'name': 'Wrong_CampaignId' + str(int(time.time()))}, campaignId=campaignId) Logger.log( 'updateResponse :{} , createResponse :{} , updatePayload :{} ,createPayload :{}' .format(updateResponse, createResponse, updatePayload, createPayload)) campaigns.assertUpdateCampaign( updateResponse, createResponse, 400, 100, 'Invalid request : must be greater than or equal to 1')
def test_updateCampaign_WithExistingCampaignName(self): existingCampaignId, existingCampaignPayload = dbCallsCampaign.getLapsedCamapign( constant.config['orgId'], 'ORG') existingCampaignName = existingCampaignPayload.get('name') updateResponse, createResponse, updatePayload, createPayload = campaigns.updateCampaign( {'name': existingCampaignName}, campaignType=['LIVE', 'ORG']) Logger.log( 'updateResponse :{} , createResponse :{} , updatePayload :{} ,createPayload :{}' .format(updateResponse, createResponse, updatePayload, createPayload)) campaigns.assertUpdateCampaign( updateResponse, createResponse, 400, 1003, 'Campaign Name Exception : Campaign Name already exists')
def test_updateCampaign_invalidObjectiveId(self): updateResponse, createResponse, updatePayload, createPayload = campaigns.updateCampaign( { 'name': 'InvalidObjectiveId' + str(int(time.time())), 'objectiveId': 9999 }, campaignType=['LIVE', 'ORG']) Logger.log( 'updateResponse :{} , createResponse :{} , updatePayload :{} ,createPayload :{}' .format(updateResponse, createResponse, updatePayload, createPayload)) campaigns.assertUpdateCampaign( updateResponse, createResponse, 400, 1005, 'Campaign Objective Exception : Invalid Campaign Objective Id')
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')
def test_strictOrgUpdate(self): strictOrg = constant.config['strict_org_id'] previousOrgId = construct.updateOrgId(strictOrg) try: updateResponse, createResponse, updatePayload, createPayload = campaigns.updateCampaign( { 'name': 'strict_ORG_ShouldNotBeUpdated' + str(int(time.time())) }, campaignId=int(constant.config['strict_campaign_id'])) Logger.log( 'updateResponse :{} , createResponse :{} , updatePayload :{} ,createPayload :{}' .format(updateResponse, createResponse, updatePayload, createPayload)) campaigns.assertUpdateCampaign( updateResponse, createResponse, 400, 1010, 'CAMPAIGN_UPDATE_EXCEPTION : Campaign Cannot be updated as it has already approved messages' ) except AssertionError, exp: Logger.log('Assertion Failed as :', exp)
def test_updateCampaign_Live(self, description, campaignType, payloadToUpload, statusCode, errorCode, errorMessage): updateResponse, createResponse, updatePayload, createPayload = campaigns.updateCampaign( payloadToUpload, campaignType=campaignType) Logger.log( 'updateResponse :{} , createResponse :{} , updatePayload :{} ,createPayload :{}' .format(updateResponse, createResponse, updatePayload, createPayload)) campaigns.assertUpdateCampaign(updateResponse, createResponse, statusCode, errorCode, errorMessage) if statusCode == 200: createPayload.update(updatePayload) Logger.log( 'Payload Constructed from updatepayload and create payload : ', createPayload) campaigns.assertUpdateCampaignDBCall( createPayload, updateResponse.get('json').get('entity').get('campaignId')) else: Logger.log('No DB Validation as statusCode :', statusCode)
def test_updateCampaign_VariationInStartEndDate(self, description, startDate, endDate, statusCode, errorCode, errorMessage): payloadToUpdate = { 'name': 'StartDate_EndDate_Variation' + str(int(time.time())), 'startDate': startDate, 'endDate': endDate } if startDate == '': payloadToUpdate.pop('startDate') elif endDate == '': payloadToUpdate.pop('endDate') updateResponse, createResponse, updatePayload, createPayload = campaigns.updateCampaign( payloadToUpdate, campaignType=['UPCOMING', 'ORG']) Logger.log( 'updateResponse :{} , createResponse :{} , updatePayload :{} ,createPayload :{}' .format(updateResponse, createResponse, updatePayload, createPayload)) campaigns.assertUpdateCampaign(updateResponse, createResponse, statusCode, errorCode, errorMessage)
def test_getCampaign_updateCampaign(self, description, payloadToUpload, campaignType): updateResponse, createResponse, updatePayload, createPayload = campaigns.updateCampaign( payloadToUpload, campaignType=campaignType) Logger.log( 'updateResponse :{} , createResponse :{} , updatePayload :{} ,createPayload :{}' .format(updateResponse, createResponse, updatePayload, createPayload)) campaigns.assertUpdateCampaign(updateResponse, createResponse, 200) if updateResponse.get('statusCode') == 200: createPayload.update(updatePayload) getCampaignResponse = campaigns.getCampaignById( campaignId=updateResponse.get('json').get('entity').get( 'campaignId')) campaigns.assertGetCampaign(getCampaignResponse, 200) campaigns.assertGetCampaignDBCall( getCampaignResponse, updateResponse.get('json').get('entity').get('campaignId')) else: Logger.log( 'Status Code for updateCampaign is not 200 so no call to Get Campaign for this case' )
def test_authorize_sms_expired_campaign(self, description, messageInfo, payload, statusCode, errorCode, errorMessage): response = campaignMessage.createMessage(self, messageInfo=messageInfo)[0] messageId = response['json']['entity']['messageId'] campaigns.updateCampaign(payload, campaignId=self.campaignId) authorizeResult = authorize.makeAuthorizeRequest(self.campaignId, messageId) authorize.assertAuthorize(authorizeResult, statusCode, errorCode, errorMessage[0].format(self.campaignId))