package controller import ( "go-template/business/util" "io/ioutil" "os" "path/filepath" "testing" ) // make test test_func=Test_reportController_Query test_pkg=./business/controller func Test_reportController_Query(t *testing.T) { t.Run("普通查询", func(t *testing.T) { response, err := util.NewTestPostHttpRequest(`{"params":{"id":1}}`, NewReportController().ReportInfo) util.NewTesting(t).CheckResult(response, err) }) t.Run("分页查询-1", func(t *testing.T) { response, err := util.NewTestPostHttpRequest(`{"params":{"user_id":3768605}}`, NewReportController().ReportList) util.NewTesting(t).CheckResult(response, err) }) t.Run("分页查询-2", func(t *testing.T) { response, err := util.NewTestPostHttpRequest(`{"params":{"user_id":3768605,"page":1,"page_size":5}}`, NewReportController().ReportList) util.NewTesting(t).CheckResult(response, err) }) } // make test test_func=Test_reportController_DownLoadCsvFile test_pkg=./business/controller // mkdir -p /data/tmp/go-template // http://localhost:8080/go-template/download/csv/file?row=1000&column=20 func Test_reportController_DownLoadCsvFile(t *testing.T) { response, err := util.NewTestHttpRequestWithDownLoadFile(map[string]string{"row": "1000", "column": "20"}, NewReportController().DownLoadCsvFile) if err != nil { t.Fatal(err) } body, err := ioutil.ReadAll(response.Body) if err != nil { t.Fatal(err) } fileName := filepath.Join("/data/tmp/go-template", "test.csv") t.Logf("open file : %s\n", fileName) file, err := os.OpenFile(fileName, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0644) if err != nil { t.Fatal(err) } defer file.Close() if _, err := file.Write(body); err != nil { t.Fatal(err) } } // make test test_func=Test_reportController_DownLoadAndUploadXlsxFile test_pkg=./business/controller // mkdir -p /data/tmp/go-template // 下载 http://localhost:8080/go-template/download/xlsx/file?row=1000&column=20&&sheet=3 func Test_reportController_DownLoadAndUploadXlsxFile(t *testing.T) { fileName := "test.xlsx" filePath := filepath.Join("/data/tmp/go-template", fileName) t.Run("下载excel文件: "+filePath, func(t *testing.T) { response, err := util.NewTestHttpRequestWithDownLoadFile(map[string]string{"row": "1000", "column": "20", "sheet": "3"}, NewReportController().DownLoadXlsxFile) if err != nil { t.Fatal(err) } body, err := ioutil.ReadAll(response.Body) if err != nil { t.Fatal(err) } t.Logf("open file : %s\n", filePath) file, err := os.OpenFile(filePath, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0644) if err != nil { t.Fatal(err) } defer file.Close() if _, err := file.Write(body); err != nil { t.Fatal(err) } }) t.Run("上传excel文件: "+filePath, func(t *testing.T) { response, err := util.NewTestHttpRequestWithUploadFile( map[string]string{"sheet_name": "demo数据-0"}, []util.FileForm{util.NewFileFormFromFile("file", fileName, filePath)}, NewReportController().UploadXlsxFile) util.NewTesting(t).CheckResult(response, err) }) } // make test test_func=Test_reportController_SendMQ test_pkg=./business/controller func Test_reportController_SendMQ(t *testing.T) { t.Run("test-1", func(t *testing.T) { response, err := util.NewTestPostHttpRequest(`{"params":{"topic":"test_topic","message":"hello world , my name is go-template !!!!"}}`, NewReportController().SendMQ) util.NewTesting(t).CheckResult(response, err) }) t.Run("test-2", func(t *testing.T) { response, err := util.NewTestPostHttpRequest(`{"params":{"message":"hello world , my name is go-template !!!!"}}`, NewReportController().SendMQ) util.NewTesting(t).CheckResult(response, err) }) } // 记得检测日志! // make test test_func=Test_reportController_Panic test_pkg=./business/controller func Test_reportController_Panic(t *testing.T) { response, err := util.NewTestGetHttpRequest(map[string]string{}, NewReportController().TestPanic) if err != nil { t.Fatal(err) } body, err := ioutil.ReadAll(response.Body) if err != nil { t.Fatal(err) } t.Logf("response body: %s, status: %v", body, response.StatusCode) }