Beispiel #1
0
 def test_02_tablerecord(self):
     '''
     表字段查询
     '''
     url_part = self.dmp + "/warehouse/tablerecord?projectId={}&tableName={}".format(
         self.projectId, "key_words")
     utils().getRequest(url_part, Token=self.Token)
Beispiel #2
0
 def test_02_metaeventtype(self):
     '''创建元事件分类'''
     global eventtypeName  #元事件分类名称
     eventtypeName = self.eventtypeName
     if eventtypeName == "":  #如果元事件分类名称没有,则新增
         url_part = self.dmp + "/metaeventtype"
         query_param = ['%%%s%%' % 'eventTypetest']
         self.sql = "SELECT name FROM dmp_meta_event_type where name like %s order by id asc;"
         sqlResult = MyDB().executeSQL(self.sql,
                                       query_param,
                                       database=self.database)
         if sqlResult:
             Name = sqlResult.split("test")
             if Name[1] == "":
                 num = 0
             else:
                 num = Name[1]
         else:
             num = 0
         eventtypeName = "eventTypetest" + str(int(num) + 1)
         data = {
             "createTime": self.nowtime,
             "name": eventtypeName,
             "projectId": self.projectId
         }
         utils().postRequest(url_part,
                             Content_type="json",
                             data=data,
                             Token=self.Token)
 def test_07_modelPage(self):
     '''设置ETL'''
     url_part = self.dmp + "/projectmodeletl"
     data = {
         "modelId":
         modelPageList[0]['id'],
         "projectId":
         self.projectId,
         "tables": [{
             "rules": [{
                 "field": "sign_name",
                 "operator": "equal",
                 "value": "交易猫1"
             }],
             "setUp":
             "true",
             "tableName":
             self.tableName,  #"sms_record"
             "targetTableName":
             "string"
         }]
     }
     utils().putOrDelRequest(option="put",
                             url_part=url_part,
                             Content_type="json",
                             data=data,
                             Token=self.Token)
     Model().test_02_modelPage()
     version = modelPageList[0]['projectModelInstence']['version']
     print(version)
Beispiel #4
0
 def test_0602_metaevent(self):
     '''
     编辑元事件
     2.修改元事件关键词(新增关键词/删除关键词/删除一行关键词),版本号+0.1
     '''
     url_part = self.dmp + "/metaevent"
     waitList = ["insert", "delete", "deleteLine"]
     for waitmodifyKeywords in waitList:
         if waitmodifyKeywords == "insert":
             waitModifyEventData = eventRecord().makeupEventData()
             waitModifyEventData['metaEventKeywords'][0][
                 'wordGroup'] = "短信,验证码,测试新增关键词"
         elif waitmodifyKeywords == "delete":
             waitModifyEventData = eventRecord().makeupEventData()
             waitModifyEventData['metaEventKeywords'][1]['wordGroup'] = "短信"
         elif waitmodifyKeywords == "deleteLine":
             waitModifyEventData = eventRecord().makeupEventData()
             waitModifyEventData['metaEventKeywords'] = [
                 waitModifyEventData['metaEventKeywords'][0]
             ]  #不保留第二个
         utils().putOrDelRequest("PUT",
                                 url_part,
                                 Content_type="json",
                                 data=waitModifyEventData,
                                 Token=self.Token)
         eventRecord().test_05_metaevent()
         if event['version'] > 1.0:
             print("元事件编辑信息:元事件关键词" + waitmodifyKeywords + "版本+0.1,修改正确")
         else:
             print("元事件编辑信息:元事件关键词" + waitmodifyKeywords + "版本未变,修改错误")
Beispiel #5
0
 def test_01_projectmodel(self):
     '''/audiencepackage/userid 查询人群包的userId'''
     url_part = "/dmp/audiencepackage/userid"
     modelDictIds = utils().getDict(type="packageType", Token=self.Token)
     data1 = {
         "current": 0,
         "eventId": 0,
         "numberLimit": 0,
         "packageType": modelDictIds[0],
         "partitionDayList": [{
             "operator": "string",
             "value": "string"
         }],
         "projectId": 0,
         "signName": "string",
         "size": 0
     }
     data = {
         "packageType": modelDictIds[0],
         "partitionDayList": [{
             "operator": "string",
             "value": "string"
         }],
         "projectId": 0,
         "signName": "string",
     }
     utils().postRequest(url_part,
                         Content_type="json",
                         data=data,
                         Token=self.Token)
Beispiel #6
0
 def test_01_table(self):
     '''
     表查询
     '''
     url_part = self.dmp + "/warehouse/tables?projectId={}".format(
         self.projectId, "event_record")
     utils().getRequest(url_part, Token=self.Token)
Beispiel #7
0
 def test_0801_delmetaeventType(self):
     '''
     删除元事件分类-情景说明
     一:分类下不存在元事件,删除成功
     '''
     url_part = self.dmp + "/metaeventtype/" + str(event['typeId'])
     print("元事件分类下不存在元事件,删除分类ID为" + str(event['typeId']) + "的元事件,删除成功")
     utils().putOrDelRequest("DELETE", url_part, Token=self.Token)
Beispiel #8
0
 def test_0701_delmetaevent(self):
     '''
     删除元事件-情景说明
     一:元事件在当天创建的,可以删除
     '''
     url_part = self.dmp + "/metaevent/" + str(event['id'])
     print("元事件在当天创建的,删除ID为" + str(event['id']) + "的元事件,删除成功")
     utils().putOrDelRequest("DELETE", url_part, Token=self.Token)
Beispiel #9
0
 def test_0702_delmetaevent(self):
     '''
     删除元事件-情景说明
     一:元事件非当天创建的,hive中存在对应的元事件记录不可删除
     '''
     url_part = self.dmp + "/metaevent/" + str(self.usedEventId)
     print("元事件非当天创建的,删除ID为" + str(self.usedEventId) +
           "的元事件,删除提示:元事件下存在数据不能被删除")
     utils().putOrDelRequest("DELETE", url_part, Token=self.Token)
Beispiel #10
0
 def test_03_projectmodelcal(self):
     '''计算模型设置'''
     url_part = self.dmp + "/projectmodelcal"
     data = {"modelId": CalModel['id'], "projectId": self.projectId}
     utils().putOrDelRequest(option="put",
                             url_part=url_part,
                             Content_type="json",
                             data=data,
                             Token=self.Token)
Beispiel #11
0
 def test_0802_delmetaeventType(self):
     '''
     删除元事件分类-情景说明
     一:分类下存在元事件,删除失败
     '''
     typeId = 18
     url_part = self.dmp + "/metaeventtype/" + str(self.usedTypeId)
     print("元事件分类下存在元事件,删除分类ID为" + str(typeId) +
           "的元事件,删除提示:元事件类型下存在元事件不能删除")
     utils().putOrDelRequest("DELETE", url_part, Token=self.Token)
 def test_05_exportPerson(self):
     '''导出人群包'''
     # for i in range(1, 30):
     url_part = "/dmp/personprofile/userBag"
     data = {
         "code": 'jeFQ',
         "projectCode": self.projectCode,
         "projectId": self.projectId
     }
     # data = {"code":personprofile[0]['code'], "projectCode":self.projectCode,"projectId":self.projectId}
     url_part = url_part + utils.parse_url(data)
     utils().getRequestForExport(url_part, Token=self.Token)
Beispiel #13
0
 def test_0603_metaevent(self):
     '''
     编辑元事件
     2.修改元事件属性(属性名/属性显示名/数据类型/删除属性/新增属性),版本号+0.1
     '''
     url_part = self.dmp + "/metaevent"
     waitList = ["code", "name", "propertyType", "delete", "insert"]
     for Properties in waitList:
         if Properties == "code":
             waitModifyEventData = eventRecord().makeupEventData()
             waitModifyEventData['metaEventProperties'][0][
                 'code'] = "modify" + waitModifyEventData[
                     'metaEventProperties'][0]['code']
         elif Properties == "name":
             waitModifyEventData = eventRecord().makeupEventData()
             waitModifyEventData['metaEventProperties'][0][
                 'name'] = "modify" + waitModifyEventData[
                     'metaEventProperties'][0]['name']
         elif Properties == "propertyType":
             waitModifyEventData = eventRecord().makeupEventData()
             propertyType = int(waitModifyEventData['metaEventProperties']
                                [0]['propertyType'])
             if propertyType < 4:
                 waitModifyEventData['metaEventProperties'][0][
                     'propertyType'] = str(propertyType + 1)
         elif Properties == "delete":
             waitModifyEventData = eventRecord().makeupEventData()
             removeContent = waitModifyEventData['metaEventProperties'][0]
             removeContent.clear()
             waitModifyEventData['metaEventProperties'] = [
                 waitModifyEventData['metaEventProperties'].pop()
             ]
         elif Properties == "insert":
             waitModifyEventData = eventRecord().makeupEventData()
             PropertiesData = {
                 "code": "sxModifyInsert_Codetest",
                 "name": "sxModifyInsert_Nametest",
                 "propertyType": str(1),
                 "sortNumber": str(0)
             }
             waitModifyEventData['metaEventProperties'].append(
                 PropertiesData)
         utils().putOrDelRequest("PUT",
                                 url_part,
                                 Content_type="json",
                                 data=waitModifyEventData,
                                 Token=self.Token)
         eventRecord().test_05_metaevent()
         if eventContent['metaEvent']['version'] > 1.0:
             print("元事件编辑信息:元事件属性" + Properties + "版本+0.1,修改正确")
         else:
             print("元事件编辑信息:元事件属性" + Properties + "版本未变,修改错误")
Beispiel #14
0
 def test_0602_exportExcel(self):
     '''
     人群包导出
     2.简单分析导出
     '''
     url_part = self.dmp + "/metaevent/userBag"
     data = simpleanalysisdata
     print(data)
     print("简单分析")
     utils().postRequestForExport(url_part,
                                  Content_type="json",
                                  data=data,
                                  Token=self.Token)
 def test_01_projectmodel(self):
     '''创建模型'''
     url_part = self.dmp + "/projectmodel"
     modelDictIds = utils().getDict(type="model_type", Token=self.Token)
     modelDictIds.pop()
     # for modelDictId in modelDictIds:
     data = {
         "code": "testETLCode24",
         "modelDictId": modelDictIds[0]['id'],
         "name": "testETLName24",
         "projectId": self.projectId
     }
     utils().postRequest(url_part,
                         Content_type="json",
                         data=data,
                         Token=self.Token)
Beispiel #16
0
 def setUpClass(cls):
     cls.UserAgent = localReadConfig.get_http("UserAgent")
     cls.userName = localReadConfig.get_http("userName")
     cls.password = localReadConfig.get_http("password")
     cls.nowtime = datetime.datetime.strftime(datetime.datetime.now(),
                                              '%Y-%m-%d %H:%M:%S')
     cls.Token = utils().getToken()
Beispiel #17
0
 def test_04_metaevent(self):
     '''创建元事件'''
     global sqlResult, metaEventData
     url_part = self.dmp + "/metaevent"
     # for i in range(1, 30):
     sqlResult = eventRecord().getSqlResult()
     metaEventProperties = []
     keyList = list(self.propertyTypeDict.keys())
     valueList = list(self.propertyTypeDict.values())
     if self.eventName == "":
         for key in keyList:
             index = keyList.index(key)
             num = str(valueList[index])
             next = "a"
             Properties = {
                 "code": key + "test" + next,
                 "name": key + "test" + next,
                 "propertyType": str(num),
                 "sortNumber": str(num)
             }
             metaEventProperties.append(Properties)
         data = {
             "metaEvent": {
                 "code": sqlResult[0],
                 "description": "description",
                 "keywordRelation": "or",
                 "name": sqlResult[1],
                 "projectId": self.projectId,
                 "typeId": eventType['id'],
                 "version": 1.0
             },
             "metaEventKeywords": [{
                 "operateDictId": 0,
                 "wordGroup": "短信,验证码"
             }, {
                 "operateDictId": 0,
                 "wordGroup": "操作,有效"
             }],
             "metaEventProperties":
             metaEventProperties
         }
         metaEventData = data
         print(metaEventData)
         utils().postRequest(url_part,
                             Content_type="json",
                             data=data,
                             Token=self.Token)
 def test_03_modelPage(self):
     '''修改模型'''
     url_part = self.dmp + "/projectmodel"
     data = {
         "code": "testETLCode",
         "createTime": modelPageList[0]['createTime'],
         "deleteFlag": modelPageList[0]['deleteFlag'],
         "id": modelPageList[0]['id'],
         "modelDictId": modelPageList[0]['modelDictId'],
         "name": "testETLName",  #modelPageList[0]['name'],
         "projectId": self.projectId
     }
     utils().putOrDelRequest(option="put",
                             url_part=url_part,
                             Content_type="json",
                             data=data,
                             Token=self.Token)
 def test_04_sample(self):
     '''取样'''
     global reportsourceList
     sampleCountList = ["", "1", "2000", "5000", "5001"]
     for sampleType in self.sampleTypeList:
         for sampleCount in sampleCountList:
             data = {
                 "operateId": self.userId,
                 "partitionDay": self.partitionDay,
                 "projectId": self.projectId,
                 "sampleCount": sampleCount,
                 "sampleType": sampleType,
                 "signName": self.signName
             }
             url_part = self.dmp + "-aly/sample"
             utils().getRequestForExport(url_part,
                                         data=data,
                                         Token=self.Token)
 def setUpClass(cls):
     cls.projectId = localReadConfig.get_http("projectId")
     cls.projectId = localReadConfig.get_http("dmp")
     cls.projectCode = localReadConfig.get_http("projectCode")
     cls.database = localReadConfig.get_db("database1")
     cls.userTagCodes = []  #待选择的标签,如果不填,则默认选择20个code
     cls.nowtime = datetime.datetime.strftime(datetime.datetime.now(),
                                              '%Y-%m-%d %H:%M:%S')
     cls.Token = utils().getToken()
Beispiel #21
0
 def test_01_projectinfoPage(self):
     '''项目列表信息'''
     global project  # 项目信息
     project = ""
     url_part = self.dmp + "/projectinfo/page?current=1&size=20"
     projectinfoPageList = utils().getRequest(url_part, Token=self.Token)
     for projectinfo in projectinfoPageList['projectInfoPage']['records']:
         if str(projectinfo['id']) == self.projectId:
             project = projectinfo
Beispiel #22
0
 def test_02_modelPage(self):
     '''模型管理分页查询'''
     global CalModel
     url_part = self.dmp + "/projectmodel/page?projectId=" + str(
         self.projectId)
     modelPageList = utils().getRequest(url_part, Token=self.Token)
     for model in modelPageList:
         if model['name'].find('testCAL') != -1:
             CalModel = model
Beispiel #23
0
 def test_04_usertag(self):
     '''标签查询'''
     global userTagForExcel  #用于Excel导出的标签数据
     url_part = self.dmp + "/usertag/byprojectcode?projectCode=" + self.projectCode
     tags = utils().getRequest(url_part, Token=self.Token)
     for tag in tags:
         if tag['code'] == self.userTagCode:
             userTagForExcel = tag
             break
 def test_02_userBag(self):
     '''创建分群'''
     tagLayerId = []
     url_part = "/dmp/personprofile"
     sqlResult = userBag().getSqlResult()
     for userTagCode in userTagCodeList:
         tagLayerId.append(userTagCode['userTagLayerCompleteDTO'][0]['id'])
     tagLayerIds = ','.join('%s' % str(id) for id in tagLayerId)
     data = {
         "code": sqlResult[0],
         "name": sqlResult[1],
         "projectId": self.projectId,
         "tagLayerId": tagLayerIds
     }
     utils().postRequest(url_part,
                         Content_type="json",
                         data=data,
                         Token=self.Token)
 def setUpClass(cls):
     cls.projectId = localReadConfig.get_http("projectId")
     cls.database = localReadConfig.get_db("database2")
     cls.nowtime = datetime.datetime.strftime(datetime.datetime.now(),
                                              '%Y-%m-%d %H:%M:%S')
     cls.beforetime = datetime.datetime.strftime(
         datetime.datetime.now() - datetime.timedelta(days=30),
         '%Y-%m-%d %H:%M:%S')
     cls.Token = utils().getToken()
Beispiel #26
0
 def setUpClass(cls):
     cls.projectId = localReadConfig.get_http("projectId")
     cls.nowtime = datetime.datetime.strftime(datetime.datetime.now(),
                                              '%Y-%m-%d %H:%M:%S')
     cls.beforetime = datetime.datetime.strftime(
         datetime.datetime.now() - datetime.timedelta(days=30),
         '%Y-%m-%d %H:%M:%S')
     url = "http://pamir-gateway:9999/dmp/auth/token?app_id=admin&app_secret=123456"
     cls.Token = utils().getOtherToken(url=url)
 def test_0103_exportExcel(self):
     '''
     人群包导出 签名+简单分析
     '''
     part = self.dmp + "/metaevent/userBag"
     data = {
         "projectCode": "test_tjj",
         "projectId": 1,
         "signName": "YY语音",
         "simpleAnalysis": "true",
         "startTime": "2019-08-08 00:00:00",
         "endTime": "2019-08-11 00:00:00",
         "metaEventCode": "",
         "statisticalCaliber": ""
     }
     url_part = part + utils.parse_url(data)
     print("签名+简单分析")
     utils().getRequestForExport(url_part, data=data, Token=self.Token)
Beispiel #28
0
 def test_03_smschannel(self):
     '''添加短信通道'''
     global reportsourceList
     for reportsource in reportsourceList['records']:
         if reportsource['name'] == "测试分页":
             url_part = self.dmp + "/smschannel/" + str(reportsource['id'])
             reportsourceList = utils().putOrDelRequest(option="DELETE",
                                                        url_part=url_part,
                                                        Content_type="json",
                                                        Token=self.Token)
Beispiel #29
0
    def test_05_metaevent(self):
        '''
        查询元事件
        1.根据分类ID查询元事件
        2.根据元事件ID查询元事件详细信息'''
        global event, eventContent  #元事件
        url_part = self.dmp + "/metaevent/page?current=1&size=10&typeId=" + str(
            eventType['id'])
        requestData = utils().getRequest(url_part, Token=self.Token)
        if requestData:
            for data in requestData['records']:
                if data['name'] == sqlResult[1]:
                    event = data
                    break

        url_part = self.dmp + "/metaevent/info/" + str(event['id'])
        requestData = utils().getRequest(url_part, Token=self.Token)
        if requestData:
            eventContent = requestData
 def test_0101_industrySave(self):
     '''
     新增行业:不重复Code
     '''
     global usedData
     eventnum = industry().getSqlResult()  # 查询行业信息
     url_part = "/admin/industrysign/industry/save"
     # data = {
     #           "code": "testSignCode" + str(int(eventnum)+1),
     #           "name": "testSign" + str(int(eventnum)+1)
     #         }
     data = {
         "code": "testSignCode" + str(int(eventnum) + 1),
         "name": "testSign" + str(int(eventnum) + 1)
     }
     usedData = data
     utils().postRequest(url_part,
                         Content_type="json",
                         data=data,
                         Token=self.Token)