package test import ( "fmt" "reflect" "rtzh_elec_temperature/conf" "rtzh_elec_temperature/logger" "rtzh_elec_temperature/rtelec_app_public_lib/service" "rtzh_elec_temperature/tools" "strings" "time" ) //单元测试时使用的固定的用户token //在start时传入 var UnitTestToken = "" //单元测试类 type UnitTest struct { UserInfo map[string]interface{} } func Start(testtoken string) { //判断当前运行模式,仅当runmode为test时才启动所有的测试 //启动时会执行该方法中所有的测试过程 if conf.GlobalConfig["unittest"] != "true" { return } UnitTestToken = testtoken go func() { time.Sleep(10 * time.Second) service.RtelecManageApp().RegAppID = "5" //固定的应用ID t := new(UnitTest) logger.Logger.Println("******************正在进行单元测试********************") if t.UserInfo == nil { t.UserInfo = map[string]interface{}{"name": "单元测试", "ip": "192.168.1.208"} } typ := reflect.TypeOf(t) val := reflect.ValueOf(t) //获取reflect.Type类型 numOfMethod := typ.NumMethod() logger.Logger.Println(fmt.Sprintf("需要进行的单元测试有%d个", numOfMethod)) for i := 0; i < numOfMethod; i++ { val.Method(i).Call(nil) } }() } func (t *UnitTest) TestInsertBlackList() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/blacklist/saveblacklist" postdata := []string{"deviceid=351", "area=A区", "devicename=通用设备", "devicecode=351", "creator=张三", "mplist=7044501200997208068,7044501383986302981,7044501509710565382"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("============正在测试/blacklist/saveblacklist接口,请求URL:%s,参数:%+v", url, postdataStr)) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("============/blacklist/saveblacklist接口测试结果:%+v", testResult)) } func (t *UnitTest) TestGetBlackList() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/blacklist/list" logger.Logger.Println(fmt.Sprintf("=============正在测试黑名单列表获取请求接口/blacklist/list============")) testResult, _ := tools.Get(url, UnitTestToken) logger.Logger.Println(fmt.Sprintf("============/blacklist/list测试结果:%+v", testResult)) } func (t *UnitTest) TestUpdateBlackList() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/blacklist/updatemplist" postdata := []string{"deviceid=351", "area=BBBBB", "devicename=通用通用通用通用通用", "devicecode=999", "creator=张三张三张三张三", "mplist=123123123123123,11111111111111,11111111111111"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("*************************************************************")) logger.Logger.Println(fmt.Sprintf("*******正在测试黑名单列表修改请求接口/blacklist/updatemplist*******")) logger.Logger.Println(fmt.Sprintf("*************************************************************")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("*************************************************************")) logger.Logger.Println(fmt.Sprintf("************黑名单列表修改测试结果:%+v", testResult)) logger.Logger.Println(fmt.Sprintf("*************************************************************")) } func (t *UnitTest) TestDelBlackList() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/blacklist/delblacklist" postdata := []string{"deviceid=351"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("*************************************************************")) logger.Logger.Println(fmt.Sprintf("*******正在测试黑名单列表删除请求接口/blacklist/delblacklist*******")) logger.Logger.Println(fmt.Sprintf("*************************************************************")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("============/blacklist/delblacklist测试结果:%+v", testResult)) } func (t *UnitTest) TestInsertAbs() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/alarmtactics/abssave" postdata := []string{"mode_name=zigbee多探头模型", "strategy_name=w", "alarm_level=2", "mod_id=127", "operation_symbol=<", "threshold=2", "mpjson=[{\"attrname\": \"EnvHum\"},{\"attrname\": \"EnvTem\"}]"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("=============正在测试绝对值告警添加数据请求接口/alarmtactics/abssave============")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("============绝对值告警添加/alarmtactics/abssave测试结果:%+v", testResult)) } func (t *UnitTest) TestInsertRise() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/alarmtactics/risesave" postdata := []string{"strategy_name=正啊", "alarm_level=3", "mod_name=升温得", "mod_id=123", "upcycle=22", "scope=33", "mpjson=[{\"mpid\":110,\"attrname\":\"返回\"},{\"mpid\":119,\"attrname\":\"第一个参数\"},{\"mpid\":112,\"attrname\":\"作符直接使用\"}]"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("=============正在测试升温告警添加数据请求接口/alarmtactics/risesave============")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("============升温告警添加/alarmtactics/risesave测试结果:%+v", testResult)) } func (t *UnitTest) TestInsertUnbalance() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/alarmtactics/unbalancesave" postdata := []string{"strategy_name=351", "alarm_level=2", "operation_symbol==", "threshold=23"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("=============正在测试温度不平衡告警添加数据请求接口/alarmtactics/unbalancesave============")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("============温度不平衡告警/alarmtactics/unbalancesave测试结果:%+v", testResult)) } func (t *UnitTest) TestAbsList() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/alarmtactics/abslist" logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("***************正在测试绝对值告警列表接口***************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Get(url, UnitTestToken) logger.Logger.Println(fmt.Sprintf("***************绝对值告警列表接口测试结果:%+v", testResult)) } func (t *UnitTest) TestRiseList() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/alarmtactics/riselist" logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("***************正在测试升温告警列表接口***************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Get(url, UnitTestToken) logger.Logger.Println(fmt.Sprintf("***************升温告警列表接口测试结果:%+v", testResult)) } func (t *UnitTest) TestUnbalanceList() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/alarmtactics/unbalancelist" logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("***************正在测试温度不平衡告警列表接口***************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Get(url, UnitTestToken) logger.Logger.Println(fmt.Sprintf("***************温度不平衡告警列表接口测试结果:%+v", testResult)) } func (t *UnitTest) TestUpdateAbs() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/alarmtactics/absupdate" postdata := []string{"id=4", "strategy_name=君子剑111", "alarm_level=1", "mod_name=碧血剑11", "mod_id=1011", "operation_symbol=>", "threshold=09", "mpjson=[{\"mpid\":9527,\"mpname\":\"终生编号1\"},{\"mpid\":8080,\"mpname\":\"应用端口1\"},{\"mpid\":3306,\"mpname\":\"数据库端口1\"}]"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("*************正在测试绝对值告警更新请求接口**************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("*************绝对值告警更新接口测试结果:%+v", testResult)) } func (t *UnitTest) TestUpdateRise() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/alarmtactics/riseupdate" postdata := []string{"id=2", "strategy_name=君子剑111", "alarm_level=1", "mod_name=碧血剑11", "mod_id=1011", "upcycle=1818", "scope=09", "mpjson=[{\"mpid\":9527,\"mpname\":\"终生编号1\"},{\"mpid\":8080,\"mpname\":\"应用端口1\"},{\"mpid\":3306,\"mpname\":\"数据库端口1\"}]"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("*************正在测试升温告警更新请求接口**************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("*************升温告警更新接口测试结果:%+v", testResult)) } func (t *UnitTest) TestUpdateUnbalance() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/alarmtactics/unbalanceupdate" postdata := []string{"id=5", "strategy_name=998", "alarm_level=666", "operation_symbol=<", "threshold=07"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("*************正在测试不稳定温度告警更新请求接口**************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("*************不稳定温度告警更新接口测试结果:%+v", testResult)) } func (t *UnitTest) TestDelAbs() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/alarmtactics/absdel" postdata := []string{"id=5"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("*************正在测试绝对值告警删除请求接口**************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("*************绝对值告警删除接口测试结果:%+v", testResult)) } func (t *UnitTest) TestDelRise() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/alarmtactics/risedel" postdata := []string{"id=3"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("*************正在测试升温告警删除请求接口**************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("*************升温告警删除接口测试结果:%+v", testResult)) } func (t *UnitTest) TestDelUnbalance() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/alarmtactics/unbalancedel" postdata := []string{"id=5"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("*************正在测试不稳定温度告警删除请求接口**************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("*************不稳定温度告警删除接口测试结果:%+v", testResult)) } func (t *UnitTest) TestSaveDeviceTacticsList() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/devicealarmsetting/saveAloneTactics" postdata := []string{"alonelist=[{\"alarm_type\":\"1\",\"attrname\":\"Tem1\",\"threshold\":\"0.1\",\"deviceid\":\"351\",\"mpid\":\"7044501200997208068\",\"mpname\":\"测点温度1\",\"alarm_id\":\"50\",\"upcycle\":0},{\"alarm_type\":\"2\",\"attrname\":\"Tem1\",\"threshold\":\"0\",\"upcycle\":0,\"deviceid\":\"351\",\"mpid\":\"7044501200997208068\",\"mpname\":\"测点温度1\",\"alarm_id\":\"13\"}]"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("*************正在测试【设备告警独立配置策略保存】接口**************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("*************【设备告警独立配置策略保存】测试结果:%+v", testResult)) } func (t *UnitTest) TestCopyDeviceTacticsList() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/devicealarmsetting/copytactics" postdata := []string{"deviceid=358", "newdeviceid=352,351"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("*************正在测试设备告警策略【复制】接口**************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("*************设备告警策略【复制】测试结果:%+v", testResult)) } func (t *UnitTest) TestDelDeviceTacticsList() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/devicealarmsetting/delAloneTactics" postdata := []string{"deviceid=351"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("*************正在测试【设备告警独立配置策略删除】接口**************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("*************【设备告警独立配置策略删除】测试结果:%+v", testResult)) } func (t *UnitTest) TestGetDeviceTacticsList() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/devicealarmsetting/list?" postdata := []string{"deviceid=357", "pageIndex=1", "pageSize=10"} postdataStr := strings.Join(postdata, "&") url += postdataStr logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("*************正在测试设备告警配置【列表】接口**************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Get(url, UnitTestToken) logger.Logger.Println(fmt.Sprintf("*************设备告警配置【列表】接口测试结果:%+v", testResult)) logger.Logger.Println(fmt.Sprintf("******************************************************")) logger.Logger.Println(fmt.Sprintf("*************第二次************************************")) logger.Logger.Println(fmt.Sprintf("******************************************************")) testResult, _ = tools.Get(url, UnitTestToken) logger.Logger.Println(fmt.Sprintf("***************************第二次测试结果:%+v", testResult)) } func (t *UnitTest) TestQueryAlarmInfoHisList() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/alarminfohis/query" postdata := []string{"mpname=测点温度1", "alarmDesc=绝对值"} postdataStr := strings.Join(postdata, "&") logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("*************正在测试【告警历史明细列表】接口**************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Post(url, postdataStr, UnitTestToken) logger.Logger.Println(fmt.Sprintf("*************【告警历史明细列表】测试结果:%+v", testResult)) } func (t *UnitTest) TestTotal() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/alarminfohis/stat/total?device_id=351" logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("*************正在测试【告警总数统计】接口**************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Get(url, UnitTestToken) logger.Logger.Println(fmt.Sprintf("*************【告警总数统计】测试结果:%+v", testResult)) } func (t *UnitTest) TestDeviceAlrmExcelExprot() { return appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/excel/expTableData?code=device_setting&deviceid=351" logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("*************正在测试【导出独立配置策略保存】接口**************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.Get(url, UnitTestToken) logger.Logger.Println(fmt.Sprintf("*************【导出独立配置策略保存】测试结果:%+v", testResult)) } func (t *UnitTest) TestDeviceAlrmExcelImport() { appport := conf.GlobalConfig["appport"] url := "http://127.0.0.1:" + appport + "/api/excel/upload?code=device_setting" logger.Logger.Println(fmt.Sprintf("***************************************************")) logger.Logger.Println(fmt.Sprintf("*************正在测试【导入独立配置策略保存】接口**************")) logger.Logger.Println(fmt.Sprintf("***************************************************")) testResult, _ := tools.PostFile(url, "./static/download/exp_data_20230411195002.xlsx", "file") logger.Logger.Println(fmt.Sprintf("*************【导入独立配置策略保存】测试结果:%+v", testResult)) }