def test_veneno_rateLimit_monthlyLimitExceed(self, listType): VenenoHelper.setupStrategy(daily=2, weekly=2, monthly=1, channel='PUSH') self.listId = self.testObjectForRateLimit['list'][listType][ 'groupDetails']['id'] cdDetailsBody = { 'campaignId': self.testObjectForRateLimit['campaign']['id'], 'communicationType': 'PUSH', 'subject': 'Automation Generated Body', 'body': '{"templateData":{"CHANNELACCOUNTNAME":{"luid":"{{luid}}","cuid":"{{cuid}}","communicationId":"{{communicationId}}","title":"asas","message":"asasas","expandableDetails":{"style":"BIG_TEXT","message":"asasas"},"custom":[]}}}' .replace('CHANNELACCOUNTNAME', self.account), 'recipientListId': self.testObjectForRateLimit['list'][listType] ['groupVersionDetails']['TEST']['id'], 'overallRecipientCount': self.testObjectForRateLimit['list'][listType] ['groupVersionDetails']['TEST']['customer_count'], 'expectedDeliveryCount': self.testObjectForRateLimit['list'][listType] ['groupVersionDetails']['TEST']['customer_count'], 'groupName': self.testObjectForRateLimit['list'][listType]['groupDetails'] ['group_label'] } communicationDetailObject = VenenoObject.communicationDetail( cdDetailsBody) communicationId = self.connObj.addMessageForRecipients( communicationDetailObject) communicationDetailBucketId = VenenoHelper.getCommunicationBucketId( communicationId) authorize.assertUserPresenceInSkippedTable( communicationId, VenenoHelper.getCommunicationBucketId(communicationId), constant.config['skipped_errors']['RATE_LIMIT_ERROR'], 'rate limit crossed for user') authorize.dbAssertRateLimitStats( self.testObjectForRateLimit['list'][listType] ['campaignGroupRecipients']['TEST'], { 'DAILY': 1, 'WEEKLY': 1, 'MONTHLY': 1 }, channel='PUSH')
def test_veneno_rateLimit_MonthlyByPass(self, listType): VenenoHelper.setupStrategy(daily=3, weekly=2, monthly=1, channel='PUSH') VenenoHelper.updateWindowValueToByPassStrategy( self.testObjectForRateLimit['list'][listType] ['campaignGroupRecipients']['TEST'], 'MONTHLY', channel='PUSH') self.listId = self.testObjectForRateLimit['list'][listType][ 'groupDetails']['id'] cdDetailsBody = { 'campaignId': self.testObjectForRateLimit['campaign']['id'], 'communicationType': 'PUSH', 'subject': 'Automation Generated Body', 'body': '{"templateData":{"CHANNELACCOUNTNAME":{"luid":"{{luid}}","cuid":"{{cuid}}","communicationId":"{{communicationId}}","title":"asas","message":"asasas","expandableDetails":{"style":"BIG_TEXT","message":"asasas"},"custom":[]}}}' .replace('CHANNELACCOUNTNAME', self.account), 'recipientListId': self.testObjectForRateLimit['list'][listType] ['groupVersionDetails']['TEST']['id'], 'overallRecipientCount': self.testObjectForRateLimit['list'][listType] ['groupVersionDetails']['TEST']['customer_count'], 'expectedDeliveryCount': self.testObjectForRateLimit['list'][listType] ['groupVersionDetails']['TEST']['customer_count'], 'groupName': self.testObjectForRateLimit['list'][listType]['groupDetails'] ['group_label'] } communicationDetailObject = VenenoObject.communicationDetail( cdDetailsBody) communicationId = self.connObj.addMessageForRecipients( communicationDetailObject) VenenoDBAssertion(cdDetailsBody['campaignId'], cdDetailsBody['communicationType'], communicationId, cdDetailsBody['overallRecipientCount'], cdDetailsBody['recipientListId'], cdDetailsBody['subject']).check() authorize.assertUserPresenceInNsAdminTable( communicationId, VenenoHelper.getCommunicationBucketId(communicationId), int( json.loads( self.testObjectForRateLimit['list'][listType] ['groupVersionDetails']['TEST']['params'])['test_count']), verify=False) authorize.dbAssertRateLimitStats( self.testObjectForRateLimit['list'][listType] ['campaignGroupRecipients']['TEST'], { 'DAILY': 3, 'WEEKLY': 2, 'MONTHLY': 1 }, channel='PUSH')
def test_veneno_rateLimit_dailyLimitExceed(self, listType): self.listId = self.testObjectForRateLimit['list'][listType]['groupDetails']['id'] cdDetailsBody = { 'campaignId':self.campaignId, 'communicationType':'EMAIL', 'subject':'Automation Generated Body {{unsubscribe}}', 'recipientListId':self.testObjectForRateLimit['list'][listType]['groupVersionDetails']['TEST']['id'], 'overallRecipientCount':self.testObjectForRateLimit['list'][listType]['groupVersionDetails']['TEST']['customer_count'], 'expectedDeliveryCount':self.testObjectForRateLimit['list'][listType]['groupVersionDetails']['TEST']['customer_count'], 'groupName':self.testObjectForRateLimit['list'][listType]['groupDetails']['group_label'] } communicationDetailObject = VenenoObject.communicationDetail(cdDetailsBody) communicationId = self.connObj.addMessageForRecipients(communicationDetailObject) communicationDetailBucketId = VenenoHelper.getCommunicationBucketId(communicationId) authorize.assertUserPresenceInSkippedTable(communicationId , VenenoHelper.getCommunicationBucketId(communicationId), constant.config['skipped_errors']['RATE_LIMIT_ERROR'], 'rate limit crossed for user') authorize.dbAssertRateLimitStats(self.testObjectForRateLimit['list'][listType]['campaignGroupRecipients']['TEST'], {'DAILY':1, 'WEEKLY':1, 'MONTHLY':1}, channel='EMAIL')
def test_veneno_rateLimit_MonthlyByPass(self, listType): VenenoHelper.setupStrategy(daily=3, weekly=2, monthly=1, channel='EMAIL') VenenoHelper.updateWindowValueToByPassStrategy( self.testObjectForRateLimit['list'][listType] ['campaignGroupRecipients']['TEST'], 'MONTHLY', channel='EMAIL') self.listId = self.testObjectForRateLimit['list'][listType][ 'groupDetails']['id'] cdDetailsBody = { 'campaignId': self.campaignId, 'communicationType': 'EMAIL', 'subject': 'Automation Generated Body {{unsubscribe}}', 'recipientListId': self.testObjectForRateLimit['list'][listType] ['groupVersionDetails']['TEST']['id'], 'overallRecipientCount': self.testObjectForRateLimit['list'][listType] ['groupVersionDetails']['TEST']['customer_count'], 'expectedDeliveryCount': self.testObjectForRateLimit['list'][listType] ['groupVersionDetails']['TEST']['customer_count'], 'groupName': self.testObjectForRateLimit['list'][listType]['groupDetails'] ['group_label'] } communicationDetailObject = VenenoObject.communicationDetail( cdDetailsBody) communicationId = self.connObj.addMessageForRecipients( communicationDetailObject) authorize.assertUserPresenceInNsAdminTable( communicationId, VenenoHelper.getCommunicationBucketId(communicationId), int( json.loads( self.testObjectForRateLimit['list'][listType] ['groupVersionDetails']['TEST']['params'])['test_count']), verify=False, channel='EMAIL') authorize.dbAssertRateLimitStats( self.testObjectForRateLimit['list'][listType] ['campaignGroupRecipients']['TEST'], { 'DAILY': 3, 'WEEKLY': 2, 'MONTHLY': 1 }, channel='EMAIL')
def test_veneno_rateLimit_allStrategySatisfied_email_sanity(self, listType): self.listId = self.testObjectForRateLimit['list'][listType]['groupDetails']['id'] cdDetailsBody = { 'campaignId':self.campaignId, 'communicationType':'EMAIL', 'subject':'Automation Generated Body {{unsubscribe}}', 'recipientListId':self.testObjectForRateLimit['list'][listType]['groupVersionDetails']['TEST']['id'], 'overallRecipientCount':self.testObjectForRateLimit['list'][listType]['groupVersionDetails']['TEST']['customer_count'], 'expectedDeliveryCount':self.testObjectForRateLimit['list'][listType]['groupVersionDetails']['TEST']['customer_count'], 'groupName':self.testObjectForRateLimit['list'][listType]['groupDetails']['group_label'] } communicationDetailObject = VenenoObject.communicationDetail(cdDetailsBody) communicationId = self.connObj.addMessageForRecipients(communicationDetailObject) authorize.assertUserPresenceInNsAdminTable(communicationId , VenenoHelper.getCommunicationBucketId(communicationId), int(json.loads(self.testObjectForRateLimit['list'][listType]['groupVersionDetails']['TEST']['params'])['test_count']), testControlType='custom', verify=False,groupVersionId=cdDetailsBody['recipientListId'],channel='EMAIL') authorize.dbAssertRateLimitStats(self.testObjectForRateLimit['list'][listType]['campaignGroupRecipients']['TEST'], {'DAILY':1, 'WEEKLY':1, 'MONTHLY':1}, channel='EMAIL')