testResult.go 1.7 KB
Newer Older
aaronchen2k2k's avatar
aaronchen2k2k 已提交
1 2 3
package zentaoService

import (
aaronchen2k2k's avatar
aaronchen2k2k 已提交
4
	"github.com/bitly/go-simplejson"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
5 6 7 8 9
	"github.com/easysoft/zentaoatf/src/model"
	"github.com/easysoft/zentaoatf/src/service/client"
	configUtils "github.com/easysoft/zentaoatf/src/utils/config"
	i118Utils "github.com/easysoft/zentaoatf/src/utils/i118"
	logUtils "github.com/easysoft/zentaoatf/src/utils/log"
10
	"github.com/easysoft/zentaoatf/src/utils/vari"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
11 12
	"github.com/easysoft/zentaoatf/src/utils/zentao"
	"github.com/fatih/color"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
13
	"os"
14
	"strconv"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
15 16
)

aaronchen2k2k's avatar
aaronchen2k2k 已提交
17
func CommitTestResult(report model.TestReport, testTaskId int) {
18
	if vari.ProductId == "" {
19 20
		logUtils.Screen(i118Utils.I118Prt.Sprintf("ignore_to_submit_result"))
		return
21 22
	}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
23 24 25
	conf := configUtils.ReadCurrConfig()
	Login(conf.Url, conf.Account, conf.Password)

26 27
	report.ZentaoData = os.Getenv("ZENTAO_DATA")
	report.BuildUrl = os.Getenv("BUILD_URL")
28
	report.ProductId, _ = strconv.Atoi(vari.ProductId)
29
	report.TaskId = testTaskId
aaronchen2k2k's avatar
aaronchen2k2k 已提交
30

aaronchen2k2k's avatar
aaronchen2k2k 已提交
31 32
	if len(report.FuncResult) > 0 {
		report.ProductId = report.FuncResult[0].ProductId
aaronchen2k2k's avatar
aaronchen2k2k 已提交
33
	}
34

aaronchen2k2k's avatar
aaronchen2k2k 已提交
35
	url := conf.Url + zentaoUtils.GenApiUri("ci", "commitResult", "")
36
	resp, ok := client.PostObject(url, report, false)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
37 38 39 40 41 42 43 44 45 46 47 48

	if ok {
		json, err1 := simplejson.NewJson([]byte(resp))
		if err1 == nil {
			result, err2 := json.Get("result").String()
			if err2 != nil || result != "success" {
				ok = false
			}
		} else {
			ok = false
		}
	}
aaronchen2k2k's avatar
aaronchen2k2k 已提交
49

aaronchen2k2k's avatar
aaronchen2k2k 已提交
50
	msg := "\n"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
51
	if ok {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
52
		msg += color.GreenString(i118Utils.I118Prt.Sprintf("success_to_submit_unit_test_result"))
aaronchen2k2k's avatar
aaronchen2k2k 已提交
53
	} else {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
54 55
		msg += color.RedString(i118Utils.I118Prt.Sprintf("fail_to_submit_unit_test_result", url))
		msg += "\n" + i118Utils.I118Prt.Sprintf("server_return")
aaronchen2k2k's avatar
aaronchen2k2k 已提交
56
		msg += "\n" + resp
aaronchen2k2k's avatar
aaronchen2k2k 已提交
57
	}
58

aaronchen2k2k's avatar
aaronchen2k2k 已提交
59
	logUtils.Screen(msg)
60
	logUtils.Screen(logUtils.GetWholeLine("=", "=") + "\n")
61 62 63 64

	if report.Fail > 0 || !ok {
		os.Exit(1)
	}
aaronchen2k2k's avatar
aaronchen2k2k 已提交
65
}