Ejemplo n.º 1
0
 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')
Ejemplo n.º 2
0
 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')
Ejemplo n.º 3
0
 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')
Ejemplo n.º 4
0
 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')
Ejemplo n.º 5
0
 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')