test.go 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. package test
  2. import (
  3. "fmt"
  4. "reflect"
  5. "rtzh_elec_temperature/conf"
  6. "rtzh_elec_temperature/logger"
  7. "rtzh_elec_temperature/rtelec_app_public_lib/service"
  8. "rtzh_elec_temperature/tools"
  9. "strings"
  10. "time"
  11. )
  12. //单元测试时使用的固定的用户token
  13. //在start时传入
  14. var UnitTestToken = ""
  15. //单元测试类
  16. type UnitTest struct {
  17. UserInfo map[string]interface{}
  18. }
  19. func Start(testtoken string) {
  20. //判断当前运行模式,仅当runmode为test时才启动所有的测试
  21. //启动时会执行该方法中所有的测试过程
  22. if conf.GlobalConfig["unittest"] != "true" {
  23. return
  24. }
  25. UnitTestToken = testtoken
  26. go func() {
  27. time.Sleep(10 * time.Second)
  28. service.RtelecManageApp().RegAppID = "5" //固定的应用ID
  29. t := new(UnitTest)
  30. logger.Logger.Println("******************正在进行单元测试********************")
  31. if t.UserInfo == nil {
  32. t.UserInfo = map[string]interface{}{"name": "单元测试", "ip": "192.168.1.208"}
  33. }
  34. typ := reflect.TypeOf(t)
  35. val := reflect.ValueOf(t) //获取reflect.Type类型
  36. numOfMethod := typ.NumMethod()
  37. logger.Logger.Println(fmt.Sprintf("需要进行的单元测试有%d个", numOfMethod))
  38. for i := 0; i < numOfMethod; i++ {
  39. val.Method(i).Call(nil)
  40. }
  41. }()
  42. }
  43. func (t *UnitTest) TestInsertBlackList() {
  44. return
  45. appport := conf.GlobalConfig["appport"]
  46. url := "http://127.0.0.1:" + appport + "/api/blacklist/saveblacklist"
  47. postdata := []string{"deviceid=351", "area=A区", "devicename=通用设备", "devicecode=351", "creator=张三", "mplist=7044501200997208068,7044501383986302981,7044501509710565382"}
  48. postdataStr := strings.Join(postdata, "&")
  49. logger.Logger.Println(fmt.Sprintf("============正在测试/blacklist/saveblacklist接口,请求URL:%s,参数:%+v", url, postdataStr))
  50. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  51. logger.Logger.Println(fmt.Sprintf("============/blacklist/saveblacklist接口测试结果:%+v", testResult))
  52. }
  53. func (t *UnitTest) TestGetBlackList() {
  54. return
  55. appport := conf.GlobalConfig["appport"]
  56. url := "http://127.0.0.1:" + appport + "/api/blacklist/list"
  57. logger.Logger.Println(fmt.Sprintf("=============正在测试黑名单列表获取请求接口/blacklist/list============"))
  58. testResult, _ := tools.Get(url, UnitTestToken)
  59. logger.Logger.Println(fmt.Sprintf("============/blacklist/list测试结果:%+v", testResult))
  60. }
  61. func (t *UnitTest) TestUpdateBlackList() {
  62. return
  63. appport := conf.GlobalConfig["appport"]
  64. url := "http://127.0.0.1:" + appport + "/api/blacklist/updatemplist"
  65. postdata := []string{"deviceid=351", "area=BBBBB", "devicename=通用通用通用通用通用", "devicecode=999", "creator=张三张三张三张三", "mplist=123123123123123,11111111111111,11111111111111"}
  66. postdataStr := strings.Join(postdata, "&")
  67. logger.Logger.Println(fmt.Sprintf("*************************************************************"))
  68. logger.Logger.Println(fmt.Sprintf("*******正在测试黑名单列表修改请求接口/blacklist/updatemplist*******"))
  69. logger.Logger.Println(fmt.Sprintf("*************************************************************"))
  70. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  71. logger.Logger.Println(fmt.Sprintf("*************************************************************"))
  72. logger.Logger.Println(fmt.Sprintf("************黑名单列表修改测试结果:%+v", testResult))
  73. logger.Logger.Println(fmt.Sprintf("*************************************************************"))
  74. }
  75. func (t *UnitTest) TestDelBlackList() {
  76. return
  77. appport := conf.GlobalConfig["appport"]
  78. url := "http://127.0.0.1:" + appport + "/api/blacklist/delblacklist"
  79. postdata := []string{"deviceid=351"}
  80. postdataStr := strings.Join(postdata, "&")
  81. logger.Logger.Println(fmt.Sprintf("*************************************************************"))
  82. logger.Logger.Println(fmt.Sprintf("*******正在测试黑名单列表删除请求接口/blacklist/delblacklist*******"))
  83. logger.Logger.Println(fmt.Sprintf("*************************************************************"))
  84. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  85. logger.Logger.Println(fmt.Sprintf("============/blacklist/delblacklist测试结果:%+v", testResult))
  86. }
  87. func (t *UnitTest) TestInsertAbs() {
  88. return
  89. appport := conf.GlobalConfig["appport"]
  90. url := "http://127.0.0.1:" + appport + "/api/alarmtactics/abssave"
  91. postdata := []string{"mode_name=zigbee多探头模型", "strategy_name=w", "alarm_level=2", "mod_id=127", "operation_symbol=<", "threshold=2", "mpjson=[{\"attrname\": \"EnvHum\"},{\"attrname\": \"EnvTem\"}]"}
  92. postdataStr := strings.Join(postdata, "&")
  93. logger.Logger.Println(fmt.Sprintf("=============正在测试绝对值告警添加数据请求接口/alarmtactics/abssave============"))
  94. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  95. logger.Logger.Println(fmt.Sprintf("============绝对值告警添加/alarmtactics/abssave测试结果:%+v", testResult))
  96. }
  97. func (t *UnitTest) TestInsertRise() {
  98. return
  99. appport := conf.GlobalConfig["appport"]
  100. url := "http://127.0.0.1:" + appport + "/api/alarmtactics/risesave"
  101. 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\":\"作符直接使用\"}]"}
  102. postdataStr := strings.Join(postdata, "&")
  103. logger.Logger.Println(fmt.Sprintf("=============正在测试升温告警添加数据请求接口/alarmtactics/risesave============"))
  104. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  105. logger.Logger.Println(fmt.Sprintf("============升温告警添加/alarmtactics/risesave测试结果:%+v", testResult))
  106. }
  107. func (t *UnitTest) TestInsertUnbalance() {
  108. return
  109. appport := conf.GlobalConfig["appport"]
  110. url := "http://127.0.0.1:" + appport + "/api/alarmtactics/unbalancesave"
  111. postdata := []string{"strategy_name=351", "alarm_level=2", "operation_symbol==", "threshold=23"}
  112. postdataStr := strings.Join(postdata, "&")
  113. logger.Logger.Println(fmt.Sprintf("=============正在测试温度不平衡告警添加数据请求接口/alarmtactics/unbalancesave============"))
  114. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  115. logger.Logger.Println(fmt.Sprintf("============温度不平衡告警/alarmtactics/unbalancesave测试结果:%+v", testResult))
  116. }
  117. func (t *UnitTest) TestAbsList() {
  118. return
  119. appport := conf.GlobalConfig["appport"]
  120. url := "http://127.0.0.1:" + appport + "/api/alarmtactics/abslist"
  121. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  122. logger.Logger.Println(fmt.Sprintf("***************正在测试绝对值告警列表接口***************"))
  123. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  124. testResult, _ := tools.Get(url, UnitTestToken)
  125. logger.Logger.Println(fmt.Sprintf("***************绝对值告警列表接口测试结果:%+v", testResult))
  126. }
  127. func (t *UnitTest) TestRiseList() {
  128. return
  129. appport := conf.GlobalConfig["appport"]
  130. url := "http://127.0.0.1:" + appport + "/api/alarmtactics/riselist"
  131. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  132. logger.Logger.Println(fmt.Sprintf("***************正在测试升温告警列表接口***************"))
  133. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  134. testResult, _ := tools.Get(url, UnitTestToken)
  135. logger.Logger.Println(fmt.Sprintf("***************升温告警列表接口测试结果:%+v", testResult))
  136. }
  137. func (t *UnitTest) TestUnbalanceList() {
  138. return
  139. appport := conf.GlobalConfig["appport"]
  140. url := "http://127.0.0.1:" + appport + "/api/alarmtactics/unbalancelist"
  141. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  142. logger.Logger.Println(fmt.Sprintf("***************正在测试温度不平衡告警列表接口***************"))
  143. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  144. testResult, _ := tools.Get(url, UnitTestToken)
  145. logger.Logger.Println(fmt.Sprintf("***************温度不平衡告警列表接口测试结果:%+v", testResult))
  146. }
  147. func (t *UnitTest) TestUpdateAbs() {
  148. return
  149. appport := conf.GlobalConfig["appport"]
  150. url := "http://127.0.0.1:" + appport + "/api/alarmtactics/absupdate"
  151. 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\"}]"}
  152. postdataStr := strings.Join(postdata, "&")
  153. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  154. logger.Logger.Println(fmt.Sprintf("*************正在测试绝对值告警更新请求接口**************"))
  155. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  156. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  157. logger.Logger.Println(fmt.Sprintf("*************绝对值告警更新接口测试结果:%+v", testResult))
  158. }
  159. func (t *UnitTest) TestUpdateRise() {
  160. return
  161. appport := conf.GlobalConfig["appport"]
  162. url := "http://127.0.0.1:" + appport + "/api/alarmtactics/riseupdate"
  163. 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\"}]"}
  164. postdataStr := strings.Join(postdata, "&")
  165. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  166. logger.Logger.Println(fmt.Sprintf("*************正在测试升温告警更新请求接口**************"))
  167. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  168. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  169. logger.Logger.Println(fmt.Sprintf("*************升温告警更新接口测试结果:%+v", testResult))
  170. }
  171. func (t *UnitTest) TestUpdateUnbalance() {
  172. return
  173. appport := conf.GlobalConfig["appport"]
  174. url := "http://127.0.0.1:" + appport + "/api/alarmtactics/unbalanceupdate"
  175. postdata := []string{"id=5", "strategy_name=998", "alarm_level=666", "operation_symbol=<", "threshold=07"}
  176. postdataStr := strings.Join(postdata, "&")
  177. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  178. logger.Logger.Println(fmt.Sprintf("*************正在测试不稳定温度告警更新请求接口**************"))
  179. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  180. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  181. logger.Logger.Println(fmt.Sprintf("*************不稳定温度告警更新接口测试结果:%+v", testResult))
  182. }
  183. func (t *UnitTest) TestDelAbs() {
  184. return
  185. appport := conf.GlobalConfig["appport"]
  186. url := "http://127.0.0.1:" + appport + "/api/alarmtactics/absdel"
  187. postdata := []string{"id=5"}
  188. postdataStr := strings.Join(postdata, "&")
  189. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  190. logger.Logger.Println(fmt.Sprintf("*************正在测试绝对值告警删除请求接口**************"))
  191. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  192. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  193. logger.Logger.Println(fmt.Sprintf("*************绝对值告警删除接口测试结果:%+v", testResult))
  194. }
  195. func (t *UnitTest) TestDelRise() {
  196. return
  197. appport := conf.GlobalConfig["appport"]
  198. url := "http://127.0.0.1:" + appport + "/api/alarmtactics/risedel"
  199. postdata := []string{"id=3"}
  200. postdataStr := strings.Join(postdata, "&")
  201. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  202. logger.Logger.Println(fmt.Sprintf("*************正在测试升温告警删除请求接口**************"))
  203. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  204. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  205. logger.Logger.Println(fmt.Sprintf("*************升温告警删除接口测试结果:%+v", testResult))
  206. }
  207. func (t *UnitTest) TestDelUnbalance() {
  208. return
  209. appport := conf.GlobalConfig["appport"]
  210. url := "http://127.0.0.1:" + appport + "/api/alarmtactics/unbalancedel"
  211. postdata := []string{"id=5"}
  212. postdataStr := strings.Join(postdata, "&")
  213. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  214. logger.Logger.Println(fmt.Sprintf("*************正在测试不稳定温度告警删除请求接口**************"))
  215. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  216. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  217. logger.Logger.Println(fmt.Sprintf("*************不稳定温度告警删除接口测试结果:%+v", testResult))
  218. }
  219. func (t *UnitTest) TestSaveDeviceTacticsList() {
  220. return
  221. appport := conf.GlobalConfig["appport"]
  222. url := "http://127.0.0.1:" + appport + "/api/devicealarmsetting/saveAloneTactics"
  223. 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\"}]"}
  224. postdataStr := strings.Join(postdata, "&")
  225. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  226. logger.Logger.Println(fmt.Sprintf("*************正在测试【设备告警独立配置策略保存】接口**************"))
  227. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  228. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  229. logger.Logger.Println(fmt.Sprintf("*************【设备告警独立配置策略保存】测试结果:%+v", testResult))
  230. }
  231. func (t *UnitTest) TestCopyDeviceTacticsList() {
  232. return
  233. appport := conf.GlobalConfig["appport"]
  234. url := "http://127.0.0.1:" + appport + "/api/devicealarmsetting/copytactics"
  235. postdata := []string{"deviceid=358", "newdeviceid=352,351"}
  236. postdataStr := strings.Join(postdata, "&")
  237. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  238. logger.Logger.Println(fmt.Sprintf("*************正在测试设备告警策略【复制】接口**************"))
  239. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  240. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  241. logger.Logger.Println(fmt.Sprintf("*************设备告警策略【复制】测试结果:%+v", testResult))
  242. }
  243. func (t *UnitTest) TestDelDeviceTacticsList() {
  244. return
  245. appport := conf.GlobalConfig["appport"]
  246. url := "http://127.0.0.1:" + appport + "/api/devicealarmsetting/delAloneTactics"
  247. postdata := []string{"deviceid=351"}
  248. postdataStr := strings.Join(postdata, "&")
  249. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  250. logger.Logger.Println(fmt.Sprintf("*************正在测试【设备告警独立配置策略删除】接口**************"))
  251. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  252. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  253. logger.Logger.Println(fmt.Sprintf("*************【设备告警独立配置策略删除】测试结果:%+v", testResult))
  254. }
  255. func (t *UnitTest) TestGetDeviceTacticsList() {
  256. return
  257. appport := conf.GlobalConfig["appport"]
  258. url := "http://127.0.0.1:" + appport + "/api/devicealarmsetting/list?"
  259. postdata := []string{"deviceid=357", "pageIndex=1", "pageSize=10"}
  260. postdataStr := strings.Join(postdata, "&")
  261. url += postdataStr
  262. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  263. logger.Logger.Println(fmt.Sprintf("*************正在测试设备告警配置【列表】接口**************"))
  264. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  265. testResult, _ := tools.Get(url, UnitTestToken)
  266. logger.Logger.Println(fmt.Sprintf("*************设备告警配置【列表】接口测试结果:%+v", testResult))
  267. logger.Logger.Println(fmt.Sprintf("******************************************************"))
  268. logger.Logger.Println(fmt.Sprintf("*************第二次************************************"))
  269. logger.Logger.Println(fmt.Sprintf("******************************************************"))
  270. testResult, _ = tools.Get(url, UnitTestToken)
  271. logger.Logger.Println(fmt.Sprintf("***************************第二次测试结果:%+v", testResult))
  272. }
  273. func (t *UnitTest) TestQueryAlarmInfoHisList() {
  274. return
  275. appport := conf.GlobalConfig["appport"]
  276. url := "http://127.0.0.1:" + appport + "/api/alarminfohis/query"
  277. postdata := []string{"mpname=测点温度1", "alarmDesc=绝对值"}
  278. postdataStr := strings.Join(postdata, "&")
  279. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  280. logger.Logger.Println(fmt.Sprintf("*************正在测试【告警历史明细列表】接口**************"))
  281. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  282. testResult, _ := tools.Post(url, postdataStr, UnitTestToken)
  283. logger.Logger.Println(fmt.Sprintf("*************【告警历史明细列表】测试结果:%+v", testResult))
  284. }
  285. func (t *UnitTest) TestTotal() {
  286. return
  287. appport := conf.GlobalConfig["appport"]
  288. url := "http://127.0.0.1:" + appport + "/api/alarminfohis/stat/total?device_id=351"
  289. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  290. logger.Logger.Println(fmt.Sprintf("*************正在测试【告警总数统计】接口**************"))
  291. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  292. testResult, _ := tools.Get(url, UnitTestToken)
  293. logger.Logger.Println(fmt.Sprintf("*************【告警总数统计】测试结果:%+v", testResult))
  294. }
  295. func (t *UnitTest) TestDeviceAlrmExcelExprot() {
  296. return
  297. appport := conf.GlobalConfig["appport"]
  298. url := "http://127.0.0.1:" + appport + "/api/excel/expTableData?code=device_setting&deviceid=351"
  299. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  300. logger.Logger.Println(fmt.Sprintf("*************正在测试【导出独立配置策略保存】接口**************"))
  301. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  302. testResult, _ := tools.Get(url, UnitTestToken)
  303. logger.Logger.Println(fmt.Sprintf("*************【导出独立配置策略保存】测试结果:%+v", testResult))
  304. }
  305. func (t *UnitTest) TestDeviceAlrmExcelImport() {
  306. appport := conf.GlobalConfig["appport"]
  307. url := "http://127.0.0.1:" + appport + "/api/excel/upload?code=device_setting"
  308. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  309. logger.Logger.Println(fmt.Sprintf("*************正在测试【导入独立配置策略保存】接口**************"))
  310. logger.Logger.Println(fmt.Sprintf("***************************************************"))
  311. testResult, _ := tools.PostFile(url, "./static/download/exp_data_20230411195002.xlsx", "file")
  312. logger.Logger.Println(fmt.Sprintf("*************【导入独立配置策略保存】测试结果:%+v", testResult))
  313. }