Exemplo n.º 1
0
 def est_venenoThrift_inboxUser_WeChat_Sanity(self):
     actualOrgId = construct.updateOrgId(constant.config['wechat']['orgId'])
     actualOrgName = construct.updateOrgName(constant.config['wechat']['orgName'])
     try:
         details = VenenoHelper.preRequisitesForVenenoWechat(testControlType='skip')
         campaignMessage.getWeCRMTemplates()
         subject = {
             "template_id" : unicodedata.normalize('NFKD', constant.config['templateId']).encode('ascii', 'ignore'),
             "touser" : "{{wechat_open_id}}",
             "OriginalId" : constant.config['wechat']['OriginalId'],
             "Title" : "",
             "BrandId" : "f",
             "url" : "http://we.capillarytech-cn.com/web?appid=wxc7bf989decc7e35b&redirect_uri=http://somelink.com/someword?nowAParam=firstParam&second=second.Param&response_type=code&scope=snsapi_base&state=STATE",
             "TopColor" : "#000000",
             "data" : {"productType": {"value": "HakeemProduct", "color": "#00000"}, "name": {"value": "Hakeem {{first_name}} Lukka", "color": "#00000"}, "number": {"value": "898767 skdjnjn", "color": "#00000"}, "expDate": {"value": "look down", "color": "#00000"}, "remark": { "value": "Look up", "color": "#00000"}}
         }
         cdDetailsBody = {
              'campaignId':details['campaignId'],
              'communicationType':'WECHAT',
              'subject': str(subject),
              'body': 'Thrift Created Automation Wechat Body',
              'recipientListId':details['groupVersionResult']['TEST']['id'],
              'overallRecipientCount':details['groupVersionResult']['TEST']['customer_count'],
              'expectedDeliveryCount':details['groupVersionResult']['TEST']['customer_count'],
              'groupName':details['groupName']
             }
         communicationDetailObject = VenenoObject.communicationDetail(cdDetailsBody)
         communicationId = self.connObj.addMessageForRecipients(communicationDetailObject)
         VenenoDBAssertion(cdDetailsBody['campaignId'], cdDetailsBody['communicationType'], communicationId, cdDetailsBody['overallRecipientCount'], cdDetailsBody['recipientListId'], cdDetailsBody['subject'], testControlType='skip', skippedReasons=['Captured OpenId for user seems to be unsubscribed']).check()
     except Exception, exp:
         raise Exception('Wechat Case Failed due to :{}'.format(exp))
Exemplo n.º 2
0
 def setup_class(self):
     Logger.logSuiteName(str(self).split('.')[-1])
     self.actualOrgId = construct.updateOrgId(
         constant.config['wechat']['orgId'])
     self.actualOrgName = construct.updateOrgName(
         constant.config['wechat']['orgName'])
     VenenoHelper.configRateLimit(enable=True, channel='WECHAT')
     VenenoHelper.setupStrategy(daily=1,
                                weekly=2,
                                monthly=3,
                                channel='WECHAT')
     self.testObjectForRateLimit = VenenoHelper.preRequisitesForVenenoRateLimit(
         'WECHAT')
     self.campaignId = self.testObjectForRateLimit['campaign']['id']
Exemplo n.º 3
0
    def setup_class(self):
        self.driver = WebDriverFactory().getWebDriverInstance()
        self.loginPage = loginPage(self.driver)
        self.createCampaignPage = campaignCreatePage(self.driver)
        self.incentivePage = incentivePage(self.driver)
        self.listPage = listPage(self.driver)
        self.messagePage = messagePage(self.driver)
        self.loginPage.login(userName=constant.config['intouchUsername'], password=constant.config['intouchPassword'])
        
        self.oldOrgId = construct.updateOrgId(constant.config['wechat']['orgId'])
        self.oldOrgName = construct.updateOrgName(constant.config['wechat']['orgName'])
        
        dbHelper.getIntouchShardNameForOrg()

        self.loginPage.switchOrgUsingCookies(constant.config['wechat']['orgId'])
Exemplo n.º 4
0
 def test_venenoThrift_inboxUser_Line_Sanity(self):
     actualOrgId = construct.updateOrgId(constant.config['line']['orgId'])
     actualOrgName = construct.updateOrgName(constant.config['line']['orgName'])
     try:
         details = VenenoHelper.preRequisitesForVenenoLine(testControlType='skip')
         cdDetailsBody = {
              'campaignId':details['campaignId'],
              'communicationType':'LINE',
              'subject':'{"to":"{{line_id}}","messages":[{"type":"text","text":"Automated Call {{user_id_b64}}"}]}',
              'body':'',
              'recipientListId':details['groupVersionResult']['TEST']['id'],
              'overallRecipientCount':details['groupVersionResult']['TEST']['customer_count'],
              'expectedDeliveryCount':details['groupVersionResult']['TEST']['customer_count'],
              'groupName':details['groupName']
             }
         communicationDetailObject = VenenoObject.communicationDetail(cdDetailsBody)
         communicationId = self.connObj.addMessageForRecipients(communicationDetailObject)
         VenenoDBAssertion(cdDetailsBody['campaignId'], cdDetailsBody['communicationType'], communicationId, cdDetailsBody['overallRecipientCount'], cdDetailsBody['recipientListId'], cdDetailsBody['subject'], testControlType='skip').check()
     except Exception, exp:
         raise Exception('Line Failure ,due to :{}'.format(exp))
Exemplo n.º 5
0
 def est_venenoThrift_inboxUser_MobilePush_IOS(self):
     actualOrgId = construct.updateOrgId(constant.config['mobilepush']['orgId'])
     actualOrgName = construct.updateOrgName(constant.config['mobilepush']['orgName'])
     try:
         details = VenenoHelper.preRequisitesForVenenoMobilePush('ios',testControlType='skip')
 
         cdDetailsBody = {
              'campaignId':details['campaignId'],
              'communicationType':'PUSH',
              'subject':'Automation Generated Body ',
              'body':'{"templateData":{"ANDROID":{"luid":"{{luid}}","cuid":"{{cuid}}","communicationId":"{{communicationId}}","title":"hi {{first_name}}","message":"{{first_name}}","expandableDetails":{"style":"BIG_TEXT","message":"{{first_name}}"},"custom":[]},"IOS":{"luid":"{{luid}}","cuid":"{{cuid}}","communicationId":"{{communicationId}}","title":"hi {{first_name}}","message":"{{first_name}}","expandableDetails":{"style":"BIG_TEXT","message":"hi {{first_name}}","ctas":[]},"custom":[]}}}',
              'recipientListId':details['groupVersionResult']['TEST']['id'],
              'overallRecipientCount':details['groupVersionResult']['TEST']['customer_count'],
              'expectedDeliveryCount':details['groupVersionResult']['TEST']['customer_count'],
              'groupName':details['groupName']
             }
         communicationDetailObject = VenenoObject.communicationDetail(cdDetailsBody)
         communicationId = self.connObj.addMessageForRecipients(communicationDetailObject)
         VenenoDBAssertion(cdDetailsBody['campaignId'], cdDetailsBody['communicationType'], communicationId, cdDetailsBody['overallRecipientCount'], cdDetailsBody['recipientListId'], cdDetailsBody['subject'], testControlType='skip').check()
     except Exception, exp:
         raise Exception('MobilePush Failure ,due to :{}'.format(exp))
Exemplo n.º 6
0
        self.oldOrgId = construct.updateOrgId(constant.config['wechat']['orgId'])
        self.oldOrgName = construct.updateOrgName(constant.config['wechat']['orgName'])
        
        dbHelper.getIntouchShardNameForOrg()

        self.loginPage.switchOrgUsingCookies(constant.config['wechat']['orgId'])
        
    def teardown_class(self):
        try:
            self.driver.quit()
        except Exception, exp:
            assert False , 'Exception Occured while Closing Browser , Need to Close Browser manually'
        finally:
            Logger.log('Setting up orgId as :{} and orgName as :{} for later Executions'.format(self.oldOrgId,self.oldOrgName))
            construct.updateOrgId(self.oldOrgId)
            construct.updateOrgName(self.oldOrgName)
            
    def test_wechat_UI_channel_Sanity(self, request):
        try:
            details = VenenoHelper.preRequisitesForVenenoWechat()
            self.createCampaignPage.goToCampaignSection()
            self.createCampaignPage.openCampaignWithCampaignName(details['campaignName'])
            self.createCampaignPage.goToMessagePage('wechat')
            self.messagePage.chooseRecipient(details['groupName'])
            self.messagePage.attachIncentive('nodeal')
            self.messagePage.customizeContent(templateName='',channel='wechat')
            self.messagePage.deliverySetting()
            self.createCampaignPage.authorizePresentCampaignOnPage()
            self.messagePage.verifyAuthorizeCampaign(details['campaignId'], details['groupVersionResult']['TEST']['id'])
        except Exception,exp:
            self.getScreenshot(request.node.name)
Exemplo n.º 7
0
 def teardown_class(self):
     Logger.log('Disable Rate Limit Config')
     VenenoHelper.configRateLimit(enable=False, channel='PUSH')
     construct.updateOrgId(self.actualOrgId)
     construct.updateOrgName(self.actualOrgName)
Exemplo n.º 8
0
            VenenoDBAssertion(
                cdDetailsBody['campaignId'],
                cdDetailsBody['communicationType'],
                communicationId,
                cdDetailsBody['overallRecipientCount'],
                cdDetailsBody['recipientListId'],
                cdDetailsBody['subject'],
                testControlType='custom',
                skippedReasons=[
                    'Captured OpenId for user seems to be unsubscribed'
                ]).check()
        except Exception, exp:
            raise Exception('Wechat Case Failed due to :{}'.format(exp))
        finally:
            construct.updateOrgId(actualOrgId)
            construct.updateOrgName(actualOrgName)

    def test_venenoThrift_inboxUser_CallTask_Sanity(self):
        cdDetailsBody = {
            'campaignId':
            self.details['campaignId'],
            'communicationType':
            'CALL_TASK',
            'subject':
            'Automation Generated Body {{first_name}} {{last_name}} {{fullname}} {{optout}}',
            'recipientListId':
            self.details['groupVersionResult']['TEST']['id'],
            'overallRecipientCount':
            self.details['groupVersionResult']['TEST']['customer_count'],
            'expectedDeliveryCount':
            self.details['groupVersionResult']['TEST']['customer_count'],