def test_Device_smoke(): """硬件冒烟""" # mongo = pyMongodb.pymongo() deviceTime = datetime.now().strftime("%Y-%m-%d %H:%M:%S") data = { "temp": -4.0, "pm10": 43.9, "humid": 3.6, "deviceTime": deviceTime, "deviceId": "OPENAPI", "atoms": 1.6, "tsp": 3915.4, "pm25": 76.1, "noise": 33.9, "windSpeed": 12.2, "windDirect": 79.6 } data = json.dumps(data) print(json.dumps(json.loads(data), indent=2, ensure_ascii=False)) res = OpenAPI(method='upload.envMonitorLiveData', data=data) print(res) print(json.dumps(res.json(), indent=2, ensure_ascii=False)) time.sleep(5.5) elkLog = elkSearch.elkDevice(deviceTime) print("\nelkLog:") print(json.dumps(elkLog)) """
def test_011(self): """推送测试设备数据-推送未定义字段""" data = tower_data.JSONV2_Request(self.NdeviceId) deviceTime = data['deviceTime'] data['pm110'] = 100 data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual(1, elkLog['uploadStatus']) mongoLog = self.mongo.getbyDeviceTime(deviceTime, "tower_crane") if "momentPercent" in mongoLog: # data = json.loads(data) # la = round(data['liftingCapacity'] * data['amplitude'], 2) / 1.0 # laa = round(la * data['ratedMoment'] * 100, 2) # data['momentPercent'] = laa # data = json.dumps(data) del mongoLog['momentPercent'] 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'])
def test_015(self): """推送正式设备数据-设备未激活""" data = tower_data.JSONV2_Request("tower-NotActive") deviceTime = data['deviceTime'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code']) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("设备未激活", elkLog['exceptionContent']) self.assertEqual(2, elkLog['uploadStatus'])
def test_03(self): "推送正式设备数据-无vehicleNumber字段" data = vehicle.JSONV2_Request(deviceID=self.NdeviceId) deviceTime = data['deviceTime'] del data['vehicleNumber'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("vehicleNumber字段不能为空", elkLog['exceptionContent'])
def test_09(self): "推送正式设备数据-设备ID不存在" data = concrete.JSONV2_Request("concrete-NotExist") deviceTime = data['deviceTime'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code']) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("未找到设备", elkLog['exceptionContent']) self.assertEqual(2, elkLog['uploadStatus'])
def test_03(self): """推送正式设备数据-无warning字段""" data = unloading.JSONV2_Request(self.NdeviceId) deviceTime = data['deviceTime'] del data['warning'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("warning字段不能为空", elkLog['exceptionContent'])
def test_07(self): "推送正式设备数据-字段类型不正确double->string" data = concrete.JSONV2_Request("concrete") deviceTime = data['deviceTime'] data['temp'] = "string" data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code']) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("temp字段类型不正确", elkLog['exceptionContent']) self.assertEqual(2, elkLog['uploadStatus'])
def test_05(self): """推送正式设备数据-字段类型不正确string->int""" data = smoke_data.JSONV2_Request(self.NdeviceId) deviceTime = data['deviceTime'] data['warning'] = 947 data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code']) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("warning字段必须为8位长度", elkLog['exceptionContent']) self.assertEqual(2, elkLog['uploadStatus'])
def test_10(self): """推送正式设备数据-字段类型不正确 datetime->string""" data = intrusion_detector.JSONV2_Request(deviceID=self.NdeviceId) data['deviceTime'] = "deviceTime-string" deviceTime = data['deviceTime'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code']) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("deviceTime字段类型不正确", elkLog['exceptionContent']) self.assertEqual(2, elkLog['uploadStatus'])
def test_env_03(self): """推送测试设备数据-无pm25字段""" # mongo = pyMongodb.pymongo('172.16.0.137', 20200) data = env_data.JSONV2_Request("OpenAPI-Test") deviceTime = data['deviceTime'] del data['pm25'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("pm25字段不能为空", elkLog['exceptionContent'])
def test_07(self): """推送正式设备数据-设备ID不存在""" # mongo = pyMongodb.pymongo('172.16.0.137', 20200) data = water.JSONV2_Request("water-NotExist") deviceTime = data['deviceTime'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code']) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("未找到设备", elkLog['exceptionContent']) self.assertEqual(2, elkLog['uploadStatus'])
def test_12(self): """推送正式设备数据-设备未激活""" # mongo = pyMongodb.pymongo('172.16.0.137', 20200) data = intrusion_detector.JSONV2_Request("intrusion-NotActive") deviceTime = data['deviceTime'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code']) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("设备未激活", elkLog['exceptionContent']) self.assertEqual(2, elkLog['uploadStatus'])
def test_09(self): """推送正式设备数据-字段类型不正确double->string""" data = cons_elevator.JSONV2_Request("construction") deviceTime = data['deviceTime'] data['currentLoad'] = "string" data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code']) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("currentLoad字段类型不正确", elkLog['exceptionContent']) self.assertEqual(2, elkLog['uploadStatus'])
def test_04(self): """推送正式设备数据-字段类型不正确 datetime->string""" data = heart_data.JSONV2_Request("tower") data['deviceTime'] = "deviceTime-string" deviceTime = data['deviceTime'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code']) elkLog = elkSearch.elkDevice(deviceTime) self.assertEqual("deviceTime字段类型不正确", elkLog['exceptionContent']) self.assertEqual(2, elkLog['uploadStatus'])
def test_22(self): """推送正式设备数据-json 格式不正确""" data = intrusion_detector.JSONV2_Request(deviceID=self.NdeviceId) deviceTime = data['deviceTime'] data = json.dumps(data) data = data[:-1] res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code']) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("json格式不正确", elkLog['exceptionContent'], elkLog) self.assertEqual(2, elkLog['uploadStatus'])
def test_012(self): """推送正式设备数据-字段类型不正确double->string""" data = tower_data.JSONV2_Request(self.NdeviceId) deviceTime = data['deviceTime'] data['liftingCapacity'] = "string" data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code']) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("liftingCapacity字段类型不正确", elkLog['exceptionContent']) self.assertEqual(2, elkLog['uploadStatus'])
def test_05(self): """推送正式设备数据-字段类型不正确int->string""" data = water.JSONV2_Request(self.NdeviceId) deviceTime = data['deviceTime'] data['usingCount'] = "string" data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code']) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("usingCount字段类型不正确", elkLog['exceptionContent']) self.assertEqual(2, elkLog['uploadStatus'])
def test_01(self): "推送测试设备数据" data = concrete.JSONV2_Request("concrete") deviceTime = data['deviceTime'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") elkLog = elkSearch.elkDevice(deviceTime, self.method) mongoLog = self.mongo.getbyDeviceTime(deviceTime, "concrete_temp") 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")
def test_03(self): """推送正式设备数据-无usingCount字段""" data = water.JSONV2_Request(self.NdeviceId) deviceTime = data['deviceTime'] del data['usingCount'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("usingCount字段不能为空", elkLog['exceptionContent']) Mongo_ELK_Match, Mongo_ReqData_Match, ELK_ReqData_Match = Check.dataCheck( 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'])
def test_04(self): "推送正式设备数据-推送未定义字段" data = vehicle.JSONV2_Request(deviceID=self.NdeviceId) deviceTime = data['deviceTime'] data['pm110'] = 100 data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual(1, elkLog['uploadStatus']) mongoLog = self.mongo.getbyDeviceTime(deviceTime, "vehicle_management") 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'])
def test_01(self): """推送正式设备数据""" data = water.JSONV2_Request(self.NdeviceId) deviceTime = data['deviceTime'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") elkLog = elkSearch.elkDevice(deviceTime, self.method) mongoLog = self.mongo.getbyDeviceTime(deviceTime, "water_meter") if 'increment' in mongoLog: del mongoLog['increment'] 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")
def test_05(self): "推送测试设备数据-推送未定义字段" data = concrete.JSONV2_Request("concrete") deviceTime = data['deviceTime'] data['pm110'] = 100 data = json.dumps(data) res = OpenAPI(method=self.method, data=data) elkLog = elkSearch.elkDevice(deviceTime, self.method) # mongoLog = self.mongo.getbyDeviceTime(deviceTime, "env_monitor") self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") Mongo_ELK_Match, Mongo_ReqData_Match, ELK_ReqData_Match = Check.dataCheck( 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'])
def test_01(self): """推送正式设备数据""" data = env_data.JSONV2_Request(self.NdeviceId) deviceTime = data['deviceTime'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual(1, elkLog['uploadStatus'], elkLog) mongoLog = self.mongo.getbyDeviceTime(deviceTime, "env_monitor") del mongoLog['aqiValue'] 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")
def test_05(self): """推送测试设备数据-无safeLiftingCapacity字段""" data = tower_data.JSONV2_Request(self.NdeviceId) deviceTime = data['deviceTime'] del data['safeLiftingCapacity'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("safeLiftingCapacity字段不能为空", elkLog['exceptionContent']) self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") Mongo_ELK_Match, Mongo_ReqData_Match, ELK_ReqData_Match = Check.dataCheck( 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'])
def test_01(self): """推送测试设备数据""" # mongo = pyMongodb.pymongo('172.16.0.137', 20200) data = intrusion_detector.JSONV2_Request(deviceID=self.NdeviceId) deviceTime = data['deviceTime'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) elkLog = elkSearch.elkDevice(deviceTime, self.method) mongoLog = self.mongo.getbyDeviceTime(deviceTime, "intrusion_detector") 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'])
def test_04(self): "推送测试设备数据-无stress字段" data = concrete.JSONV2_Request("concrete") deviceTime = data['deviceTime'] del data['stress'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("stress字段不能为空", elkLog['exceptionContent']) # mongoLog = self.mongo.getbyDeviceTime(deviceTime, "env_monitor") self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") Mongo_ELK_Match, Mongo_ReqData_Match, ELK_ReqData_Match = Check.dataCheck( 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'])
def test_01(self): """推送正式设备数据""" data = unloading.JSONV2_Request(self.NdeviceId) deviceId = data['deviceId'] deviceTime = data['deviceTime'] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") elkLog = elkSearch.elkDevice(deviceTime, self.method) # print(elkLog) self.assertEqual(deviceId, elkLog['deviceCode']) mongoLog = self.mongo.getbyDeviceTime(deviceTime, "unloading_platform") 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")
def test_03(self): """推送测试设备数据-无warning字段""" data = intrusion_detector.JSONV2_Request(deviceID=self.NdeviceId) deviceTime = data['deviceTime'] del data["warning"] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("warning字段不能为空", elkLog['exceptionContent']) # mongoLog = self.mongo.getbyDeviceTime(deviceTime, "construction_elevator") self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") Mongo_ELK_Match, Mongo_ReqData_Match, ELK_ReqData_Match = Check.dataCheck( 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'])
def test_03(self): """推送测试设备数据-推送未定义字段""" # mongo = pyMongodb.pymongo('172.16.0.137', 20200) data = heart_data.JSONV2_Request("tower") deviceTime = data['deviceTime'] data['pm110'] = 100 data = json.dumps(data) res = OpenAPI(method=self.method, data=data) elkLog = elkSearch.elkDevice(deviceTime) # mongoLog = self.mongo.getbyDeviceTime(deviceTime, "tower_crane_heartbeat") self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") Mongo_ELK_Match, Mongo_ReqData_Match, ELK_ReqData_Match = Check.dataCheck( 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'])
def test_03(self): """推送测试设备数据-无temp字段""" data = sewage_data.JSONV2_Request(self.NdeviceId) deviceTime = data['deviceTime'] del data["temp"] data = json.dumps(data) res = OpenAPI(method=self.method, data=data) elkLog = elkSearch.elkDevice(deviceTime, self.method) self.assertEqual("temp字段不能为空", elkLog['exceptionContent']) # mongoLog = self.mongo.getbyDeviceTime(deviceTime, "sewage_outfall") self.assertEqual(0, res.json()['code'], "Send OpenAPI Fail") Mongo_ELK_Match, Mongo_ReqData_Match, ELK_ReqData_Match = Check.dataCheck( 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'])