gen.go 1.4 KB
Newer Older
1
package action
2 3

import (
aaronchen2k2k's avatar
aaronchen2k2k 已提交
4
	"github.com/easysoft/zentaoatf/src/service/script"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
5 6 7
	"github.com/easysoft/zentaoatf/src/service/zentao"
	"github.com/easysoft/zentaoatf/src/utils/const"
	"github.com/easysoft/zentaoatf/src/utils/i118"
aaronchen2k2k's avatar
adjust  
aaronchen2k2k 已提交
8
	"github.com/easysoft/zentaoatf/src/utils/lang"
aaronchen2k2k's avatar
aaronchen2k2k 已提交
9
	"github.com/easysoft/zentaoatf/src/utils/log"
10
	stdinUtils "github.com/easysoft/zentaoatf/src/utils/stdin"
11
	"github.com/fatih/color"
12 13
)

aaronchen2k2k's avatar
aaronchen2k2k 已提交
14
func Generate(productId string, moduleId string, suiteId string, taskId string,
aaronchen2k2k's avatar
aaronchen2k2k 已提交
15
	independentFile bool, scriptLang string) {
16

aaronchen2k2k's avatar
aaronchen2k2k 已提交
17
	stdinUtils.CheckRequestConfig()
18 19 20 21

	if (productId != "") || (moduleId != "" && productId != "") || suiteId != "" || taskId != "" {

	} else {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
22
		stdinUtils.InputForCheckout(&productId, &moduleId, &suiteId, &taskId,
aaronchen2k2k's avatar
aaronchen2k2k 已提交
23
			&independentFile, &scriptLang)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
24 25
	}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
26 27 28
	ok := langUtils.CheckSupportLangages(scriptLang)
	if !ok {
		return
aaronchen2k2k's avatar
aaronchen2k2k 已提交
29 30
	}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
31
	cases := zentaoService.LoadTestCases(productId, moduleId, suiteId, taskId)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
32

aaronchen2k2k's avatar
aaronchen2k2k 已提交
33 34 35 36 37
	if cases != nil && len(cases) > 0 {

		productId = cases[0].Product
		zentaoService.GetCaseModules(productId)

aaronchen2k2k's avatar
aaronchen2k2k 已提交
38
		count, err := scriptService.Generate(cases, scriptLang, independentFile)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
39
		if err == nil {
40
			logUtils.PrintToCmd(i118Utils.I118Prt.Sprintf("success_to_generate", count, constant.ScriptDir)+"\n", -1)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
41
		} else {
42
			logUtils.PrintToCmd(err.Error(), color.FgRed)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
43
		}
aaronchen2k2k's avatar
aaronchen2k2k 已提交
44 45
	} else {
		logUtils.PrintToCmd(i118Utils.I118Prt.Sprintf("no_cases"), color.FgRed)
46
	}
aaronchen2k2k's avatar
aaronchen2k2k 已提交
47
}