예제 #1
0
    def test_01(self):
        "推送正式项目数据"
        data = qualityCheck.JSONV2_Request(self.ProjectSysNo)
        sourceId = data['sourceId']
        self.sourceId_update = sourceId

        data = json.dumps(data)
        res = OpenAPI(method=self.method, data=data)

        elkLog = elkSearch.elkSoftware(sourceId, self.method)
        self.assertEqual(self.ProjectSysNo, elkLog['projectSysNo'])

        mongoLog = self.mongo.getbySourceId(sourceId, "quality_check")
        if 'checkUserList' in mongoLog:
            del mongoLog['checkUserList']
        if 'partitioningList' in mongoLog:
            del mongoLog['partitioningList']

        self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail")
        Mongo_ELK_Match, Mongo_ReqData_Match, ELK_ReqData_Match = Check.dataCheck(
            mongores=mongoLog, elkres=elkLog, reqdata=json.loads(data))
        self.assertTrue(Mongo_ELK_Match, "Mongo_ELK check Fail")
        self.assertTrue(Mongo_ReqData_Match, "Mongo_ReqData check Fail")
        self.assertTrue(ELK_ReqData_Match, "ELK_ReqData check Fail")
        self.assertEqual(0, res.json()['code'])
예제 #2
0
def test_SoftWare_smoke():
    """软件冒烟"""
    # mongo = pyMongodb.pymongo()
    sourceID = str(uuid.uuid4())
    deviceTime = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    data = """
    {
        "sourceId": "874d33ec-190e-4814-b65b-0b4694c494dd",
        "actualStartTime":  "2017-12-14
        00:00:00",
        "planStartTime": "2017-12-14 00:00:00",
        "parentSourceId":  "874d33ec-190e-4814-b65b-0b4694c494dd",
        "sortIndex": 20,
        "completionRate": 0,
        "type": 1,
        "type1": 1,
        "projectSysNo": 10218,
        "partitioningName": "AutoTest-partitioningName2018-07-26 20:26:45",
        "name": "AutoTestName2018-07-26 20:26:45",
        "partitioningId":   "874d33ec-190e-4814-b65b-0b4694c494dd",
        "actualEndTime": "2018-05-26 00:00:00",
        "planEndTime": "2018-05-25 00:00:00",
        "status": 1
    }
    """

    # data = json.dumps(data)
    # print(sourceID)
    res = OpenAPI(method='upload.processTaskData', data=data)
    # print(json.dumps(res.json(), indent=2, ensure_ascii=False))

    time.sleep(3.5)
    elkLog = elkSearch.elkSoftware(sourceID)
    # print(json.dumps(elkLog))
    """
예제 #3
0
    def test_16(self):
        "推送正式项目数据- 根据sourceId更新软件数据"
        pdata = securityCheck.JSONV2_Request(self.ProjectSysNo)
        sourceId = pdata['sourceId']
        pdata = json.dumps(pdata)
        pres = OpenAPI(method=self.method, data=pdata)
        self.assertEqual(0, pres.json()['code'], "Send OpenAPI Fail")

        data = json.loads(pdata)
        fake = Faker("zh_CN")
        # data = securityCheck.JSONV2_Request(self.ProjectSysNo)
        # 转换UTC时间为本地时间
        for k, v in data.items():
            if isinstance(k, datetime):
                data[k] = data[k].replace(
                    tzinfo=pytz.utc).astimezone(local_timezone)
        data['rectifyDate'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        data['reviewUserName'] = fake.name()

        data = json.dumps(data)
        res = OpenAPI(method=self.method, data=data)
        self.assertEqual(0, res.json()['code'])

        elkLog = elkSearch.elkSoftware(sourceId, self.method)
        self.assertEqual(1, elkLog['uploadStatus'])
예제 #4
0
    def test_18(self):
        "推送正式项目数据- 根据sourceId更新软件数据"
        pdata = process_task.JSONV2_Request(self.ProjectSysNo)
        sourceId = pdata['sourceId']
        pdata = json.dumps(pdata)
        pres = OpenAPI(method=self.method, data=pdata)
        self.assertEqual(0, pres.json()['code'], "Send OpenAPI Fail")

        fake = Faker('zh_CN')
        data = json.loads(pdata)
        # 转换UTC时间为本地时间
        for k, v in data.items():
            if isinstance(k, datetime):
                data[k] = data[k].replace(
                    tzinfo=pytz.utc).astimezone(local_timezone)
        data['completionRate'] = data['completionRate'] + 1
        data['actualEndTime'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        data['partitioningName'] = fake.text(max(range(10, 500)))

        data = json.dumps(data)
        res = OpenAPI(method=self.method, data=data)
        self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail")

        elkLog = elkSearch.elkSoftware(sourceId, self.method)
        self.assertEqual(1, elkLog['uploadStatus'], elkLog)
예제 #5
0
    def test_01(self):
        "推送正式项目数据"
        data = process_task.JSONV2_Request(self.ProjectSysNo)
        sourceId = data['sourceId']

        data = json.dumps(data)
        res = OpenAPI(method=self.method, data=data)
        self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail")

        elkLog = elkSearch.elkSoftware(sourceId, self.method)
        self.assertEqual(1, elkLog['uploadStatus'])
        self.assertEqual(self.ProjectSysNo, elkLog['projectSysNo'])

        mongoLog = self.mongo.getbySourceId(sourceId, "process_task")
        if "partitioningList" in mongoLog:
            del mongoLog['partitioningList']
        if "submitUserList" in mongoLog:
            del mongoLog['submitUserList']
        if "responsibleUserList" in mongoLog:
            del mongoLog['responsibleUserList']

        Mongo_ELK_Match, Mongo_ReqData_Match, ELK_ReqData_Match = Check.dataCheck(
            mongores=mongoLog, elkres=elkLog, reqdata=json.loads(data))
        self.assertTrue(Mongo_ELK_Match, "Mongo_ELK check Fail")
        self.assertTrue(Mongo_ReqData_Match, "Mongo_ReqData check Fail")
        self.assertTrue(ELK_ReqData_Match, "ELK_ReqData check Fail")
        self.assertEqual(0, res.json()['code'])
예제 #6
0
    def test_02(self):
        "推送测试项目数据"
        data = securityCheck.JSONV2_Request(self.ProjectSysNo)
        sourceId = data['sourceId']
        data = json.dumps(data)
        res = OpenAPI(method=self.method, data=data)

        elkLog = elkSearch.elkSoftware(sourceId, self.method)
        self.assertEqual(self.ProjectSysNo, elkLog['projectSysNo'])
        self.assertEqual(0, res.json()['code'])
예제 #7
0
    def test_21(self):
        "推送正式项目数据- 项目未添加应用"
        data = securityCheck.JSONV2_Request(10)
        sourceId = data['sourceId']
        data = json.dumps(data)
        res = OpenAPI(method=self.method, data=data)

        elkLog = elkSearch.elkSoftware(sourceId, self.method)
        self.assertEqual(0, res.json()['code'])
        self.assertEqual("不能使用该项目", elkLog['exceptionContent'])
예제 #8
0
    def test_06(self):
        "推送正式项目数据- 无checkUserId"
        data = securityCheck.JSONV2_Request(self.ProjectSysNo)
        sourceId = data['sourceId']
        del data['checkUserId']
        data = json.dumps(data)
        res = OpenAPI(method=self.method, data=data)

        elkLog = elkSearch.elkSoftware(sourceId, self.method)
        self.assertEqual(0, res.json()['code'])
        self.assertEqual("checkUserId字段不能为空", elkLog['exceptionContent'])
예제 #9
0
    def test_10(self):
        "推送正式项目数据- 字段类型不一致 datetime->string"
        data = securityCheck.JSONV2_Request(self.ProjectSysNo)
        sourceId = data['sourceId']
        data['checkDate'] = 'actualStartTime'
        data = json.dumps(data)
        res = OpenAPI(method=self.method, data=data)

        elkLog = elkSearch.elkSoftware(sourceId, self.method)
        self.assertEqual(0, res.json()['code'])
        self.assertEqual("checkDate字段类型不正确", elkLog['exceptionContent'])
예제 #10
0
    def test_18(self):
        "推送正式项目数据- 无partitioningName"
        data = qualityCheck.JSONV2_Request(self.ProjectSysNo)
        sourceId = data['sourceId']
        del data['partitioningName']
        data = json.dumps(data)
        res = OpenAPI(method=self.method, data=data)

        elkLog = elkSearch.elkSoftware(sourceId, self.method)
        self.assertEqual(0, res.json()['code'])
        self.assertEqual("partitioningName字段不能为空", elkLog['exceptionContent'])
예제 #11
0
    def test_22(self):
        """推送正式设备数据-json 格式不正确"""
        data = securityCheck.JSONV2_Request(self.ProjectSysNo)
        sourceId = data['sourceId']
        data = json.dumps(data)
        data = data[:-1]
        res = OpenAPI(method=self.method, data=data)
        self.assertEqual(0, res.json()['code'])

        elkLog = elkSearch.elkSoftware(sourceId, self.method)
        self.assertEqual("json格式不正确", elkLog['exceptionContent'], elkLog)
        self.assertEqual(2, elkLog['uploadStatus'])
예제 #12
0
    def test_05(self):
        "推送正式项目数据- 无name"
        data = process_task.JSONV2_Request(self.ProjectSysNo)
        sourceId = data['sourceId']
        del data['name']
        data = json.dumps(data)
        res = OpenAPI(method=self.method, data=data)

        elkLog = elkSearch.elkSoftware(sourceId, self.method)
        self.assertEqual(0, res.json()['code'])
        self.assertEqual(2, elkLog['uploadStatus'], elkLog)
        self.assertEqual("name字段不能为空", elkLog['exceptionContent'], sourceId)
예제 #13
0
    def test_SoftWare_smoke(self):
        """软件冒烟"""
        mongo = pyMongodb.pymongo('172.16.0.137', 20200)
        sourceID = str(uuid.uuid4())
        deviceTime = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        data = {
            "sourceId": sourceID,
            "actualStartTime": deviceTime,
            "planStartTime": "2017-12-14 00:00:00",
            "parentSourceId": str(uuid.uuid4()),
            "sortIndex": 20,
            "completionRate": 0,
            "type": 1,
            "type1": 1,
            "projectSysNo": 10218,
            "partitioningName": "AutoTest-partitioningName2018-07-26 20:26:45",
            "name": "AutoTestName2018-07-26 20:26:45",
            "partitioningId": str(uuid.uuid4()),
            "actualEndTime": "2018-05-26 00:00:00",
            "planEndTime": "2018-05-25 00:00:00",
            "status": 1
        }

        data = json.dumps(data)
        # print(sourceID)
        res = OpenAPI(method='upload.processTaskData', data=data)
        # print(json.dumps(res.json(), indent=2, ensure_ascii=False))

        time.sleep(3.5)
        elkLog = elkSearch.elkSoftware(sourceID)
        # print(elkLog)

        time.sleep(1.5)
        mongoLog = mongo.getbySourceId(sourceID, "process_task")
        # print(mongoLog)

        # print(json.dumps(json.loads(data), indent=2, ensure_ascii=False))
        self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail")
        Mongo_ELK_Match, Mongo_ReqData_Match, ELK_ReqData_Match = Check.dataCheck(
            mongores=mongoLog, elkres=elkLog, reqdata=json.loads(data))
        print(Mongo_ELK_Match, Mongo_ReqData_Match)
        self.assertTrue(Mongo_ELK_Match, "Mongo_ELK check Fail")
        self.assertTrue(Mongo_ReqData_Match, "Mongo_ReqData check Fail")
        self.assertTrue(ELK_ReqData_Match, "ELK_ReqData check Fail")