def updateConfigKeyValue(valid, ckvId=None): try: if ckvId is None: ckvId = social_user_calls().getValidKeyIdForFacebookAccount() social_user_calls().updateConfigKeyValue(ckvId, valid) except Exception, exp: Logger.log( 'Exception while Updating Key Value for Account id :{}'.format( exp))
def test_socialThrift_updateCustomListInAdset_Sanity(self): remoteAdsetId = social_user_calls().getRemoteAdset() remoteListId = social_user_calls().getRemoteListId() SocialAdsetInfo = self.connObj.updateCustomListInAdset( constant.config['orgId'], SocialObject().SocialChannel['facebook'], remoteAdsetId, remoteListId, 'requestId_automationthriftCall_{}'.format( int(time.time() * 1000))) SocialHelper.validateSocialAdsetInfo(SocialAdsetInfo, remoteAdsetId, remoteListId)
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_flow_social_positive_withoutCoupon_CreateAdsetAndUseExistingAsTrue(self): cdDetailsBody = { 'campaignId':self.campaigns['CUSTOM'], 'targetType':'SOCIAL', 'communicationType':'FACEBOOK', 'subject':'', 'recipientListId':self.groupVersionid, 'overallRecipientCount':self.numberOfUsers, 'expectedDeliveryCount':self.numberOfUsers, 'groupName':self.groupName } extraParams = { 'voucher_series': -1, 'default_argument' : { "entity_id":-1, "is_loyalty_checkbox_enabled":"0", "voucher_series_id":"-1", "daily_budget":10000, "create_adset":True, "use_existing_adset":True, "adset_id":social_user_calls().getRemoteAdset() } } communicationDetailObject = VenenoObject.communicationDetail(cdDetailsBody,extraParams=extraParams) communicationId = self.connObj.addMessageForRecipients(communicationDetailObject) SocialDBAssertion(self.campaigns['CUSTOM'],self.groupVersionid,communicationId,self.numberOfUsers,socialAdsetInfo=False,aggregationDetail=False).check()
def test_socialThrift_getSocialCampaignDetails_Sanity(self): campaignId = social_user_calls().getCampaignIdWithRemoteId() SocialCampaignDetails = self.connObj.getSocialCampaignDetails( constant.config['orgId'], campaignId, int(constant.config['userId']), SocialObject().SocialChannel['facebook'], 'requestId_automationthriftCall_{}'.format(int(time.time() * 1000))) SocialHelper.validateGetSoicalCampaignDetails(SocialCampaignDetails, campaignId)
def validateAggregationDetailInExceptionCase(message_id): for _ in range(6): try: job_type = social_user_calls().getJobDetail(message_id) Assertion.constructAssertion( job_type == 'ERROR', 'Social Adset expected to be in Error State') break except Exception, exp: time.sleep(10)
def createUserListObject(numberOfUsers, identifier='mobile'): userDetail = social_user_calls().getUsersInformation( numberOfUsers, identifier) listOfUserDetails = list() for eachUser in userDetail: if identifier == 'mobile': listOfUserDetails.append( SocialObject.UserDetails(mobile=eachUser)) if identifier == 'email': listOfUserDetails.append( SocialObject.UserDetails(email=eachUser)) return listOfUserDetails
def assertCGUH(self): numberofUserInCGUH = int(social_user_calls().getNumberOfUsersInCGUH( self.campaignId, self.messageId)[0][0]) Assertion.constructAssertion( numberofUserInCGUH == self.SocialInfo['veneno'] ['communicationDetail']['overall_recipient_count'] - self.SocialInfo['veneno']['communicationDetail'] ['expected_delivery_count'], 'NumberOfusers in CGUH :{} and expected :{}'.format( numberofUserInCGUH, self.SocialInfo['veneno']['communicationDetail'] ['overall_recipient_count'] - self.SocialInfo['veneno'] ['communicationDetail']['expected_delivery_count']))
def test_socialThrift_updateCustomListInAdset_WithIncorrectAdsetId(self): remoteListId = social_user_calls().getRemoteListId() try: SocialAdsetInfo = self.connObj.updateCustomListInAdset( constant.config['orgId'], SocialObject().SocialChannel['facebook'], 'remoteAdsetId', remoteListId, 'requestId_automationthriftCall_{}'.format( int(time.time() * 1000))) Assertion.constructAssertion( False, 'Wrong Remote AdsetId is Getting Accepted') except Exception, exp: Logger.log( 'With Wrong Adset Id , Exception from thrift Call :{}'.format( exp))
def validateGetSoicalCampaignDetails(socialCampaignDetails, campaignId): Assertion.constructAssertion( socialCampaignDetails.socialCampaign.campaignId == campaignId, 'Campaign Id In Response :{} and actual :{}'.format( socialCampaignDetails.socialCampaign.campaignId, campaignId)) Assertion.constructAssertion( socialCampaignDetails.socialCampaign.orgId == constant.config['orgId'], 'Org Id In Response :{} and actual :{}'.format( socialCampaignDetails.socialCampaign.orgId, constant.config['orgId'])) remoteCampaignId = json.loads(social_user_calls().getCampaignDetails( campaignId))['social_campaign_id'] Assertion.constructAssertion( socialCampaignDetails.socialCampaign.remoteCampaignId == str( remoteCampaignId), 'Remote CampaignId In response :{} and actual :{}'.format( socialCampaignDetails.socialCampaign.remoteCampaignId, str(remoteCampaignId)))
def assertGetCustomAudienceList(GetCustomAudienceListsResponse): for each in range( len(GetCustomAudienceListsResponse.customAudienceLists)): eachCustomAudienceListObject = GetCustomAudienceListsResponse.customAudienceLists[ each] remoteListId, name = social_user_calls( ).getCustomAudienceListsWithRecipientListId( eachCustomAudienceListObject.recepientlistId, eachCustomAudienceListObject.name) Assertion.constructAssertion( remoteListId == eachCustomAudienceListObject.remoteListId, 'remote List Id for GroupVersionId :{} , Actual :{} and Expected :{}' .format(eachCustomAudienceListObject.recepientlistId, remoteListId, eachCustomAudienceListObject.remoteListId)) Assertion.constructAssertion( name == eachCustomAudienceListObject.name, 'remote List Name for GroupVersionId :{} , Actual :{} and Expected :{}' .format(eachCustomAudienceListObject.recepientlistId, name, eachCustomAudienceListObject.name))
def est_flow_social_positive_withExternalCoupon_CreateAdsetAndUseExistingAsTrue( self): couponsused = LuciHelper.uploadCouponAndAssertions( self, self.voucherSeriesId, 2, noOfCouponsToBeUpload=20)['coupons'] cdDetailsBody = { 'campaignId': self.campaigns['ORG'], 'targetType': 'SOCIAL', 'communicationType': 'FACEBOOK', 'subject': '', 'recipientListId': self.groupVersionid, 'overallRecipientCount': self.numberOfUsers, 'expectedDeliveryCount': self.numberOfUsers, 'groupName': self.groupName } extraParams = { 'voucher_series': self.voucherSeriesId, 'default_argument': { "entity_id": -1, "is_loyalty_checkbox_enabled": "0", "voucher_series_id": self.voucherSeriesId, "daily_budget": 10000, "create_adset": True, "use_existing_adset": True, "adset_id": social_user_calls().getRemoteAdset() } } communicationDetailObject = VenenoObject.communicationDetail( cdDetailsBody, extraParams=extraParams) communicationId = self.connObj.addMessageForRecipients( communicationDetailObject) SocialDBAssertion(self.campaigns['ORG'], self.groupVersionid, communicationId, self.numberOfUsers, couponUsed=True, couponUsedExteranal=True, socialOffer=True, externalOfferList=couponsused, socialAdsetInfo=True, aggregationDetail=True).check()
def checkRemoteCampaignIdMapping(self): remoteCampaignId = json.loads(social_user_calls().getCampaignDetails(self.campaignId))['social_campaign_id'] Assertion.constructAssertion(remoteCampaignId == self.remoteCampaignId,'Remote CampaignId , Actual :{} and Expected :{}'.format(remoteCampaignId,self.remoteCampaignId))