diff --git a/internal/comm/domain/testing.go b/internal/comm/domain/testing.go index 18417970e1f0ec8f9a0f8c0c15cc31ac8ebeb609..c1cdabe7f0b90206334dcc048953c7d01e0c2fbe 100644 --- a/internal/comm/domain/testing.go +++ b/internal/comm/domain/testing.go @@ -126,9 +126,14 @@ type ZtfReport struct { TestTool commConsts.UnitTestTool `json:"testTool"` ProductId int `json:"productId,omitempty"` + TaskId int `json:"taskId,omitempty"` ExecBy commConsts.ExecBy `json:"execBy,omitempty"` ExecById int `json:"execById,omitempty"` + // run with ci tool + ZentaoData string `json:"zentaoData"` + BuildUrl string `json:"buildUrl"` + Pass int `json:"pass"` Fail int `json:"fail"` Skip int `json:"skip"` diff --git a/internal/server/modules/v1/controller/config.go b/internal/server/modules/v1/controller/config.go index db8a57147bcb0a9c7414ffed20693ec32e3b9126..51ee74e7f137d6c8ef049fa20501316b4b653eff 100644 --- a/internal/server/modules/v1/controller/config.go +++ b/internal/server/modules/v1/controller/config.go @@ -14,8 +14,8 @@ import ( ) type ConfigCtrl struct { - BaseCtrl ProjectService *service.ProjectService `inject:""` + BaseCtrl } func NewConfigCtrl() *ConfigCtrl { diff --git a/internal/server/modules/v1/controller/file.go b/internal/server/modules/v1/controller/file.go index feae321ae50e373359f5498174a6bb3152cfcd0a..1ba0a2789ca2f60c22b455f9d76b955064df090a 100644 --- a/internal/server/modules/v1/controller/file.go +++ b/internal/server/modules/v1/controller/file.go @@ -11,6 +11,7 @@ import ( type FileCtrl struct { FileService *service.FileService `inject:""` + BaseCtrl } func NewFileCtrl() *FileCtrl { diff --git a/internal/server/modules/v1/controller/test-bug.go b/internal/server/modules/v1/controller/test-bug.go new file mode 100644 index 0000000000000000000000000000000000000000..80790af5da586507d0a3eebec7698c86d71c2401 --- /dev/null +++ b/internal/server/modules/v1/controller/test-bug.go @@ -0,0 +1,60 @@ +package controller + +import ( + commDomain "github.com/aaronchen2k/deeptest/internal/comm/domain" + "github.com/aaronchen2k/deeptest/internal/pkg/domain" + logUtils "github.com/aaronchen2k/deeptest/internal/pkg/lib/log" + "github.com/aaronchen2k/deeptest/internal/server/modules/v1/service" + "github.com/kataras/iris/v12" +) + +type TestBugCtrl struct { + TestBugService *service.TestBugService `inject:""` + BaseCtrl +} + +func NewTestBugCtrl() *TestBugCtrl { + return &TestBugCtrl{} +} + +// Gen 生成缺陷 +func (c *TestBugCtrl) Gen(ctx iris.Context) { + req := commDomain.ZtfBug{} + if err := ctx.ReadJSON(&req); err != nil { + logUtils.Errorf("参数验证失败,错误%s", err.Error()) + ctx.JSON(domain.Response{Code: domain.SystemErr.Code, Data: nil, Msg: err.Error()}) + return + } + + err := c.TestBugService.Submit(req) + if err != nil { + ctx.JSON(domain.Response{ + Code: c.ErrCode(err), + Data: nil, + }) + return + } + + ctx.JSON(domain.Response{Code: domain.NoErr.Code, Data: nil, Msg: domain.NoErr.Msg}) +} + +// Submit 提交 +func (c *TestBugCtrl) Submit(ctx iris.Context) { + req := commDomain.ZtfBug{} + if err := ctx.ReadJSON(&req); err != nil { + logUtils.Errorf("参数验证失败,错误%s", err.Error()) + ctx.JSON(domain.Response{Code: domain.SystemErr.Code, Data: nil, Msg: err.Error()}) + return + } + + err := c.TestBugService.Submit(req) + if err != nil { + ctx.JSON(domain.Response{ + Code: c.ErrCode(err), + Data: nil, + }) + return + } + + ctx.JSON(domain.Response{Code: domain.NoErr.Code, Data: nil, Msg: domain.NoErr.Msg}) +} diff --git a/internal/server/modules/v1/controller/test-exec.go b/internal/server/modules/v1/controller/test-exec.go index 38a5cd4829afb652000178fceda05d36ceb03a21..04c4fe82e746a1bac64bb7a70938db904fd33995 100644 --- a/internal/server/modules/v1/controller/test-exec.go +++ b/internal/server/modules/v1/controller/test-exec.go @@ -10,7 +10,6 @@ import ( type TestExecCtrl struct { TestExecService *service.TestExecService `inject:""` - BaseCtrl } diff --git a/internal/server/modules/v1/controller/test-result.go b/internal/server/modules/v1/controller/test-result.go new file mode 100644 index 0000000000000000000000000000000000000000..a36f3e5db63dadabc30a710b8301deeff2a0f097 --- /dev/null +++ b/internal/server/modules/v1/controller/test-result.go @@ -0,0 +1,46 @@ +package controller + +import ( + "github.com/aaronchen2k/deeptest/internal/pkg/domain" + logUtils "github.com/aaronchen2k/deeptest/internal/pkg/lib/log" + serverDomain "github.com/aaronchen2k/deeptest/internal/server/modules/v1/domain" + "github.com/aaronchen2k/deeptest/internal/server/modules/v1/service" + "github.com/kataras/iris/v12" +) + +type TestResultCtrl struct { + TestResultService *service.TestResultService `inject:""` + BaseCtrl +} + +func NewTestResultCtrl() *TestResultCtrl { + return &TestResultCtrl{} +} + +// Submit 提交 +func (c *TestResultCtrl) Submit(ctx iris.Context) { + projectPath := ctx.URLParam("currProject") + req := serverDomain.ZentaoResult{} + if err := ctx.ReadJSON(&req); err != nil { + logUtils.Errorf("参数验证失败,错误%s", err.Error()) + ctx.JSON(domain.Response{Code: domain.SystemErr.Code, Data: nil, Msg: err.Error()}) + return + } + + if req.Seq == "" { + logUtils.Errorf("参数解析失败") + ctx.JSON(domain.Response{Code: domain.ParamErr.Code, Data: nil, Msg: domain.ParamErr.Msg}) + return + } + + err := c.TestResultService.Submit(req, projectPath) + if err != nil { + ctx.JSON(domain.Response{ + Code: c.ErrCode(err), + Data: nil, + }) + return + } + + ctx.JSON(domain.Response{Code: domain.NoErr.Code, Data: nil, Msg: domain.NoErr.Msg}) +} diff --git a/internal/server/modules/v1/controller/test.go b/internal/server/modules/v1/controller/test.go deleted file mode 100644 index 81b86692b96c272fd49ff4d28c1d434f03cb6dcd..0000000000000000000000000000000000000000 --- a/internal/server/modules/v1/controller/test.go +++ /dev/null @@ -1,20 +0,0 @@ -package controller - -import ( - "github.com/kataras/iris/v12" - "github.com/aaronchen2k/deeptest/internal/pkg/domain" - logUtils "github.com/aaronchen2k/deeptest/internal/pkg/lib/log" -) - -type TestCtrl struct { -} - -func NewTestCtrl() *TestCtrl { - return &TestCtrl{} -} - -func (c *TestCtrl) Test(ctx iris.Context) { - logUtils.Warn("测试") - - ctx.JSON(domain.Response{Code: domain.NoErr.Code, Data: nil, Msg: domain.NoErr.Msg}) -} diff --git a/internal/server/modules/v1/domain/zentao.go b/internal/server/modules/v1/domain/zentao.go index defe04186a177f6a39be99a1b46afee8d5067b9e..ef8b06174daedc9ce32e90ec8d81ddd2f2d4da65 100644 --- a/internal/server/modules/v1/domain/zentao.go +++ b/internal/server/modules/v1/domain/zentao.go @@ -29,3 +29,9 @@ type ZentaoTask struct { Id int `json:"id"` Name string `json:"name"` } + +type ZentaoResult struct { + Seq string `json:"seq"` + ProductId string `json:"productId"` + TaskId string `json:"taskId"` +} diff --git a/internal/server/modules/v1/index.go b/internal/server/modules/v1/index.go index cb56b99d40ba99408889adef5a9f1bda542da4d0..82c3d59bf35fe797205b7132cb82c8cdb1abc950 100644 --- a/internal/server/modules/v1/index.go +++ b/internal/server/modules/v1/index.go @@ -11,7 +11,6 @@ import ( ) type IndexModule struct { - TestModule *index.TestModule `inject:""` FileModule *index.FileModule `inject:""` ZentaoModule *index.ZentaoModule `inject:""` @@ -22,6 +21,8 @@ type IndexModule struct { TestScriptModule *index.TestScriptModule `inject:""` TestExecModule *index.TestExecModule `inject:""` + TestResultModule *index.TestResultModule `inject:""` + TestBugModule *index.TestBugModule `inject:""` TestSuiteModule *index.TestSuiteModule `inject:""` TestSetModule *index.TestSetModule `inject:""` } @@ -42,7 +43,6 @@ func (m *IndexModule) Party() module.WebModule { } } modules := []module.WebModule{ - m.TestModule.Party(), m.FileModule.Party(), m.ZentaoModule.Party(), @@ -51,6 +51,8 @@ func (m *IndexModule) Party() module.WebModule { m.ProjectModule.Party(), m.TestScriptModule.Party(), m.TestExecModule.Party(), + m.TestBugModule.Party(), + m.TestResultModule.Party(), } return module.NewModule(serverConfig.ApiPath, handler, modules...) } diff --git a/internal/server/modules/v1/index/test-bug.go b/internal/server/modules/v1/index/test-bug.go new file mode 100644 index 0000000000000000000000000000000000000000..5ea88c6a2a518018f028444ba00d1de9bf974077 --- /dev/null +++ b/internal/server/modules/v1/index/test-bug.go @@ -0,0 +1,25 @@ +package index + +import ( + "github.com/aaronchen2k/deeptest/internal/server/core/module" + "github.com/aaronchen2k/deeptest/internal/server/middleware" + "github.com/aaronchen2k/deeptest/internal/server/modules/v1/controller" + "github.com/kataras/iris/v12" +) + +type TestBugModule struct { + TestBugCtrl *controller.TestBugCtrl `inject:""` +} + +func NewTestBugModule() *TestBugModule { + return &TestBugModule{} +} + +// Party 测试结果 +func (m *TestBugModule) Party() module.WebModule { + handler := func(index iris.Party) { + index.Use(middleware.InitCheck()) + index.Post("/{seq:string}", m.TestBugCtrl.Submit).Name = "提交缺陷" + } + return module.NewModule("/bug", handler) +} diff --git a/internal/server/modules/v1/index/test-result.go b/internal/server/modules/v1/index/test-result.go new file mode 100644 index 0000000000000000000000000000000000000000..54aef585959175a95998c3df4d4616d2efaac21a --- /dev/null +++ b/internal/server/modules/v1/index/test-result.go @@ -0,0 +1,25 @@ +package index + +import ( + "github.com/aaronchen2k/deeptest/internal/server/core/module" + "github.com/aaronchen2k/deeptest/internal/server/middleware" + "github.com/aaronchen2k/deeptest/internal/server/modules/v1/controller" + "github.com/kataras/iris/v12" +) + +type TestResultModule struct { + TestResultCtrl *controller.TestResultCtrl `inject:""` +} + +func NewTestResultModule() *TestResultModule { + return &TestResultModule{} +} + +// Party 测试结果 +func (m *TestResultModule) Party() module.WebModule { + handler := func(index iris.Party) { + index.Use(middleware.InitCheck()) + index.Post("/", m.TestResultCtrl.Submit).Name = "提交测试结果" + } + return module.NewModule("/result", handler) +} diff --git a/internal/server/modules/v1/index/test.go b/internal/server/modules/v1/index/test.go deleted file mode 100644 index 48489a3a023442fdb0144674efe5f932d18f55a6..0000000000000000000000000000000000000000 --- a/internal/server/modules/v1/index/test.go +++ /dev/null @@ -1,23 +0,0 @@ -package index - -import ( - "github.com/aaronchen2k/deeptest/internal/server/core/module" - "github.com/aaronchen2k/deeptest/internal/server/modules/v1/controller" - "github.com/kataras/iris/v12" -) - -type TestModule struct { - TestCtrl *controller.TestCtrl `inject:""` -} - -func NewTestModule() *TestModule { - return &TestModule{} -} - -// Party 产品 -func (m *TestModule) Party() module.WebModule { - handler := func(index iris.Party) { - index.Get("/", m.TestCtrl.Test).Name = "测试" - } - return module.NewModule("/test", handler) -} diff --git a/internal/server/modules/v1/service/test-bug.go b/internal/server/modules/v1/service/test-bug.go new file mode 100644 index 0000000000000000000000000000000000000000..70dc9f5b9dcc47645584fb92b57c5032b6d9b073 --- /dev/null +++ b/internal/server/modules/v1/service/test-bug.go @@ -0,0 +1,18 @@ +package service + +import ( + commDomain "github.com/aaronchen2k/deeptest/internal/comm/domain" +) + +type TestBugService struct { +} + +func NewTestBugService() *TestBugService { + return &TestBugService{} +} + +func (s *TestBugService) Submit(bug commDomain.ZtfBug) (err error) { + //zentaoUtils.CommitBug(bug) + + return +} diff --git a/internal/server/modules/v1/service/test-exec.go b/internal/server/modules/v1/service/test-exec.go index 3545aecf1e7b24785229a87c34c25a650215365a..32597ab8191eceb5a07df55d92891f313e9438af 100644 --- a/internal/server/modules/v1/service/test-exec.go +++ b/internal/server/modules/v1/service/test-exec.go @@ -26,7 +26,7 @@ func (s *TestExecService) List(projectPath string) (ret []serverDomain.TestRepor for _, seq := range reportFiles { var summary serverDomain.TestReportSummary - report, err1 := analysisUtils.GetReport(projectPath, seq) + report, err1 := analysisUtils.ReadReport(projectPath, seq) if err1 != nil { // ignore wrong json result continue } @@ -40,7 +40,7 @@ func (s *TestExecService) List(projectPath string) (ret []serverDomain.TestRepor } func (s *TestExecService) Get(projectPath string, seq string) (report commDomain.ZtfReport, err error) { - return analysisUtils.GetReport(projectPath, seq) + return analysisUtils.ReadReport(projectPath, seq) } func (s *TestExecService) Delete(projectPath string, seq string) (err error) { diff --git a/internal/server/modules/v1/service/test-result.go b/internal/server/modules/v1/service/test-result.go new file mode 100644 index 0000000000000000000000000000000000000000..1070dbfc5b966a7d374e74de88e9a853799c2c0b --- /dev/null +++ b/internal/server/modules/v1/service/test-result.go @@ -0,0 +1,25 @@ +package service + +import ( + serverDomain "github.com/aaronchen2k/deeptest/internal/server/modules/v1/domain" + analysisUtils "github.com/aaronchen2k/deeptest/internal/server/modules/v1/utils/analysis" + zentaoUtils "github.com/aaronchen2k/deeptest/internal/server/modules/v1/utils/zentao" +) + +type TestResultService struct { +} + +func NewTestResultService() *TestResultService { + return &TestResultService{} +} + +func (s *TestResultService) Submit(result serverDomain.ZentaoResult, projectPath string) (err error) { + report, err := analysisUtils.ReadReport(projectPath, result.Seq) + if err != nil { + return + } + + zentaoUtils.CommitResult(report, result, projectPath) + + return +} diff --git a/internal/server/modules/v1/utils/analysis/case.go b/internal/server/modules/v1/utils/analysis/case.go index 3fb69718cbefe939ec594ff52ada45e2707cc909..3b33509e23da438f36616d15044a9d16967e8597 100644 --- a/internal/server/modules/v1/utils/analysis/case.go +++ b/internal/server/modules/v1/utils/analysis/case.go @@ -20,7 +20,7 @@ func FilterCaseByResult(cases []string, req serverDomain.WsReq) (ret []string) { } func getCaseIdMapFromReport(req serverDomain.WsReq) (ret map[string]commConsts.ResultStatus, err error) { - report, err := GetReport(req.ProjectPath, req.Seq) + report, err := ReadReport(req.ProjectPath, req.Seq) if err != nil { logUtils.Errorf("fail to get case ids for %s %s", req.ProjectPath, req.Seq) return diff --git a/internal/server/modules/v1/utils/analysis/report.go b/internal/server/modules/v1/utils/analysis/report.go index 0788fcaa3225210eb019330ac4f4e5535d0f1e5b..d1885916a72fc7fd3c61d01e161e0007f9e0155c 100644 --- a/internal/server/modules/v1/utils/analysis/report.go +++ b/internal/server/modules/v1/utils/analysis/report.go @@ -22,7 +22,7 @@ func ListReport(projectPath string) (reportFiles []string) { return } -func GetReport(projectPath string, seq string) (report commDomain.ZtfReport, err error) { +func ReadReport(projectPath string, seq string) (report commDomain.ZtfReport, err error) { pth := filepath.Join(projectPath, commConsts.LogDirName, seq, commConsts.ResultJson) content := fileUtils.ReadFileBuf(pth) diff --git a/internal/server/modules/v1/utils/zentao/bug.go b/internal/server/modules/v1/utils/zentao/bug.go new file mode 100644 index 0000000000000000000000000000000000000000..4da3a3fcbf7898bf96e34eab012dd362cd0b8f22 --- /dev/null +++ b/internal/server/modules/v1/utils/zentao/bug.go @@ -0,0 +1,110 @@ +package zentaoUtils + +/*func CommitBug(bug commDomain.ZtfBug) (err error) { + bug := vari.CurrBug + stepIds := vari.CurrBugStepIds + + conf := configUtils.ReadCurrConfig() + ok = Login(conf.Url, conf.Account, conf.Password) + if !ok { + msg = "login failed" + return + } + + productId := bug.Product + bug.Steps = strings.Replace(bug.Steps, " ", " ", -1) + + // bug-create-1-0-caseID=1,version=3,resultID=93,runID=0,stepIdList=9_12_ + // bug-create-1-0-caseID=1,version=3,resultID=84,runID=6,stepIdList=9_12_,testtask=2,projectID=1,buildID=1 + extras := fmt.Sprintf("caseID=%s,version=0,resultID=0,runID=0,stepIdList=%s", + bug.Case, stepIds) + + // $productID, $branch = '', $extras = '' + params := "" + if vari.RequestType == constant.RequestTypePathInfo { + params = fmt.Sprintf("%s-0-%s", productId, extras) + } else { + params = fmt.Sprintf("productID=%s&branch=0&$extras=%s", productId, extras) + } + params = "" + url := conf.Url + zentaoUtils.GenApiUri("bug", "create", params) + + body, ok := client.PostObject(url, bug, true) + if !ok { + msg = "post request failed" + return + } + + json, err1 := simplejson.NewJson([]byte(body)) + if err1 != nil { + ok = false + msg = "parse json failed" + return + } + + msg, err2 := json.Get("message").String() + if err2 != nil { + ok = false + msg = "parse json failed" + return + } + + if ok { + msg = i118Utils.Sprintf("success_to_report_bug", bug.Case) + return + } else { + return + } +} + +func PrepareBug(resultDir string, caseIdStr string) (commDomain.ZtfBug, string) { + caseId, err := strconv.Atoi(caseIdStr) + + if err != nil { + return model.Bug{}, "" + } + + report := testingService.GetZTFTestReportForSubmit(resultDir) + for _, cs := range report.FuncResult { + if cs.Id != caseId { + continue + } + + product := cs.ProductId + GetBugFiledOptions(product) + + title := cs.Title + module := GetFirstNoEmptyVal(vari.ZenTaoBugFields.Modules) + typ := GetFirstNoEmptyVal(vari.ZenTaoBugFields.Categories) + openedBuild := map[string]string{"0": "trunk"} + severity := GetFirstNoEmptyVal(vari.ZenTaoBugFields.Severities) + priority := GetFirstNoEmptyVal(vari.ZenTaoBugFields.Priorities) + + caseId := cs.Id + + uid := uuid.NewV4().String() + caseVersion := "0" + oldTaskID := "0" + + stepIds := "" + steps := make([]string, 0) + for _, step := range cs.Steps { + if !step.Status { + stepIds += step.Id + "_" + } + + stepsContent := testingService.GetStepText(step) + steps = append(steps, stepsContent) + } + + bug := model.Bug{Title: title, + Module: module, Type: typ, OpenedBuild: openedBuild, Severity: severity, Pri: priority, + Product: strconv.Itoa(product), Case: strconv.Itoa(caseId), + Steps: strings.Join(steps, "\n"), + Uid: uid, CaseVersion: caseVersion, OldTaskID: oldTaskID, + } + return bug, stepIds + } + + return model.Bug{}, "" +}*/ diff --git a/internal/server/modules/v1/utils/zentao/result.go b/internal/server/modules/v1/utils/zentao/result.go new file mode 100644 index 0000000000000000000000000000000000000000..cf1ca9ed58388c0d3e7df89e8abe35d2a92939fb --- /dev/null +++ b/internal/server/modules/v1/utils/zentao/result.go @@ -0,0 +1,54 @@ +package zentaoUtils + +import ( + commDomain "github.com/aaronchen2k/deeptest/internal/comm/domain" + httpUtils "github.com/aaronchen2k/deeptest/internal/pkg/lib/http" + i118Utils "github.com/aaronchen2k/deeptest/internal/pkg/lib/i118" + logUtils "github.com/aaronchen2k/deeptest/internal/pkg/lib/log" + serverDomain "github.com/aaronchen2k/deeptest/internal/server/modules/v1/domain" + configUtils "github.com/aaronchen2k/deeptest/internal/server/modules/v1/utils/config" + "github.com/bitly/go-simplejson" + "github.com/fatih/color" + "os" + "strconv" + "strings" +) + +func CommitResult(report commDomain.ZtfReport, result serverDomain.ZentaoResult, projectPath string) { + report.ProductId, _ = strconv.Atoi(result.ProductId) + report.TaskId, _ = strconv.Atoi(result.TaskId) + + // for ci tool + report.ZentaoData = os.Getenv("ZENTAO_DATA") + report.BuildUrl = os.Getenv("BUILD_URL") + + config := configUtils.LoadByProjectPath(projectPath) + Login(config) + + url := config.Url + GenApiUri("ci", "commitResult", "") + bytes, ok := httpUtils.Post(url, report, false) + + if ok { + json, err1 := simplejson.NewJson(bytes) + if err1 == nil { + result, err2 := json.Get("result").String() + if err2 != nil || result != "success" { + ok = false + } + } else { + ok = false + } + } + + msg := "" + if ok { + msg += color.GreenString(i118Utils.Sprintf("success_to_submit_test_result")) + } else { + msg = i118Utils.Sprintf("fail_to_submit_test_result") + if strings.Index(string(bytes), "login") > -1 { + msg = i118Utils.Sprintf("fail_to_login") + } + msg = color.RedString(msg) + } + logUtils.Infof(msg) +} diff --git a/internal/server/modules/v1/utils/zentao/zentao.go b/internal/server/modules/v1/utils/zentao/zentao.go index f179825b3e6e419829617190fedecebc5220b157..827bf98e1d88519ef16ea971d9b0b1a62739e4dc 100644 --- a/internal/server/modules/v1/utils/zentao/zentao.go +++ b/internal/server/modules/v1/utils/zentao/zentao.go @@ -241,7 +241,7 @@ func Login(config commDomain.ProjectConf) bool { if ok { if commConsts.Verbose { - logUtils.Infof(i118Utils.Sprintf("success_to_login"), bodyBytes) + logUtils.Infof(i118Utils.Sprintf("success_to_login"), string(bodyBytes)) } } else { logUtils.Errorf(i118Utils.Sprintf("fail_to_login")) diff --git a/ui/src/layouts/IndexLayout/components/RightTopProject.vue b/ui/src/layouts/IndexLayout/components/RightTopProject.vue index 361a69063fdc17182cfb00591f5446f9ddbf3be4..e94310828498991d841f671b9d09723223c87606 100644 --- a/ui/src/layouts/IndexLayout/components/RightTopProject.vue +++ b/ui/src/layouts/IndexLayout/components/RightTopProject.vue @@ -27,7 +27,7 @@ import {useStore} from "vuex"; import {ProjectData} from "@/store/project"; import ProjectCreateForm from "@/views/component/project/create.vue"; import {createProject} from "@/services/project"; -import {addClass, hideMenu, removeClass} from "@/utils/dom"; +import {hideMenu} from "@/utils/dom"; interface RightTopProject { projects: ComputedRef; diff --git a/ui/src/views/exec/history/component/bug.vue b/ui/src/views/exec/history/component/bug.vue new file mode 100644 index 0000000000000000000000000000000000000000..5a068e3ccc133635ec3005b294ea8319aa607417 --- /dev/null +++ b/ui/src/views/exec/history/component/bug.vue @@ -0,0 +1,96 @@ + + + \ No newline at end of file diff --git a/ui/src/views/exec/history/component/result.vue b/ui/src/views/exec/history/component/result.vue new file mode 100644 index 0000000000000000000000000000000000000000..603d87fad75db394ea6e3b02db0d2efc89983f20 --- /dev/null +++ b/ui/src/views/exec/history/component/result.vue @@ -0,0 +1,134 @@ + + + \ No newline at end of file diff --git a/ui/src/views/exec/history/component/service.ts b/ui/src/views/exec/history/component/service.ts new file mode 100644 index 0000000000000000000000000000000000000000..aa00dddd0157f46b88898b66c78a60b3e507b17e --- /dev/null +++ b/ui/src/views/exec/history/component/service.ts @@ -0,0 +1,13 @@ +import request from '@/utils/request'; + +const apiPath = 'file'; + +export async function listUserHome(parentDir): Promise { + const params = {parentDir: parentDir} + + return request({ + url: `/${apiPath}/listDir`, + method: 'get', + params + }); +} diff --git a/ui/src/views/exec/history/result-func.vue b/ui/src/views/exec/history/result-func.vue index 3e68bb9d106c8dc4f9cd1252a59e074b7af15231..f11739a1baa03f8a8e7ceae82c0aa00db16549e3 100644 --- a/ui/src/views/exec/history/result-func.vue +++ b/ui/src/views/exec/history/result-func.vue @@ -101,7 +101,7 @@ import {useRouter} from "vue-router"; import {momentTimeDef, percentDef} from "@/utils/datetime"; import {execByDef, resultStatusDef, testEnvDef, testTypeDef} from "@/utils/testing"; -interface DesignExecutionPageSetupData { +interface UnitTestResultPageSetupData { report: Ref; columns: any[] @@ -120,8 +120,8 @@ interface DesignExecutionPageSetupData { } export default defineComponent({ - name: 'ExecutionResultPage', - setup(): DesignExecutionPageSetupData { + name: 'UnitTestResultPage', + setup(): UnitTestResultPageSetupData { const execBy = execByDef const momentTime = momentTimeDef const percent = percentDef diff --git a/ui/src/views/exec/history/result-unit.vue b/ui/src/views/exec/history/result-unit.vue index f760f3969134f2b4a31351a1814fbf6149f47956..83253d11c482ae99899c43ac2e05685af58b17a5 100644 --- a/ui/src/views/exec/history/result-unit.vue +++ b/ui/src/views/exec/history/result-unit.vue @@ -2,11 +2,11 @@
@@ -73,38 +75,49 @@
+ + diff --git a/ui/src/views/exec/service.ts b/ui/src/views/exec/service.ts index c43d6e0bd4a320370dd1717d973e2d5c469b094e..9a6b20f8eff00a77e2d321713fa747263da7f87b 100644 --- a/ui/src/views/exec/service.ts +++ b/ui/src/views/exec/service.ts @@ -56,4 +56,18 @@ export function genExecInfo(jsn: WsMsg, i: number): string { export function SetWidth(content: string, width: number): string{ return `${content}`; +} + +export function submitResultToZentao(data: any): Promise { + return request({ + url: `/result`, + method: 'post', + data: data, + }); +} +export function submitBugToZentao(seq: string): Promise { + return request({ + url: `/bug/${seq}`, + method: 'post', + }); } \ No newline at end of file