提交 997ab0a2 编写于 作者: aaronchen2k2k's avatar aaronchen2k2k

code refactoring for exe logic

上级 b994f6fb
......@@ -39,14 +39,6 @@ func Run(files []string, suiteIdStr string, taskIdStr string) error {
cases = getCaseByTaskId(taskIdStr, dir)
} else if path.Ext(files[0]) == "."+constant.ExtNameSuite { // run with suite file, but no dir
dir := fileUtils.AbosutePath(".")
cases = getCaseBySuiteFile(files[0], dir)
} else if len(files) == 2 && path.Ext(files[1]) == "."+constant.ExtNameSuite { // run with suite file, with dir
dir := files[0]
cases = getCaseBySuiteFile(files[0], dir)
} else {
suite, dir := isRunWithSuiteFile(files)
......
......@@ -11,18 +11,24 @@ import (
"os"
)
var (
language string
independentFile bool
keywords string
productId string
moduleId string
taskId string
suiteId string
flagSet *flag.FlagSet
)
func main() {
var language string
var independentFile bool
var keywords string
var productId string
var moduleId string
var taskId string
var suiteId string
//var caseId string
flagSet := flag.NewFlagSet("atf", flag.ContinueOnError)
flagSet = flag.NewFlagSet("atf", flag.ContinueOnError)
//flagSet.Var(commonUtils.NewSliceValue([]string{}, &files), "file", "")
......@@ -47,6 +53,8 @@ func main() {
flagSet.StringVar(&keywords, "k", "", "")
flagSet.StringVar(&keywords, "keywords", "", "")
flagSet.BoolVar(&vari.Verbose, "verbose", false, "")
//flagSet.StringVar(&caseId, "c", "", "")
//flagSet.StringVar(&caseId, "case", "", "")
......@@ -61,10 +69,7 @@ func main() {
switch os.Args[1] {
case "run", "-r":
files := fileUtils.GetFilesFromParams(os.Args[2:])
if err := flagSet.Parse(os.Args[len(files)+2:]); err == nil {
action.Run(files, suiteId, taskId)
}
run(os.Args)
case "checkout", "co":
if err := flagSet.Parse(os.Args[2:]); err == nil {
......@@ -112,22 +117,25 @@ func main() {
case "help", "-h":
logUtils.PrintUsage()
default:
if len(os.Args) > 1 { // ignore run param, like 'atf suite.cs', 'atf -task 1'
args := []string{os.Args[0]}
args = append(args, "run")
default: // maybe run
if len(os.Args) > 1 { // ignore run param, like 'atf ., atf suite.cs', 'atf -task 1'
args := []string{os.Args[0], "run"}
args = append(args, os.Args[1:]...)
files := fileUtils.GetFilesFromParams(args[2:])
if err := flagSet.Parse(args[len(files)+2:]); err == nil {
action.Run(files, suiteId, taskId)
}
run(args)
} else {
logUtils.PrintUsage()
}
}
}
func run(args []string) {
files := fileUtils.GetFilesFromParams(args[2:])
if err := flagSet.Parse(args[len(files)+2:]); err == nil {
action.Run(files, suiteId, taskId)
}
}
func init() {
if len(os.Args) > 1 {
if os.Args[1] == "cui" {
......
......@@ -2,6 +2,7 @@ package client
import (
"encoding/json"
"fmt"
"github.com/ajg/form"
"github.com/easysoft/zentaoatf/src/model"
"github.com/easysoft/zentaoatf/src/utils/log"
......@@ -14,12 +15,16 @@ import (
)
func Get(url string, params map[string]string) (string, bool) {
logUtils.PrintToCmd(url, -1)
if vari.Verbose {
logUtils.PrintToCmd(url, -1)
}
client := &http.Client{}
req, reqErr := http.NewRequest("GET", url, nil)
if reqErr != nil {
logUtils.PrintToCmd(reqErr.Error(), color.FgRed)
if vari.Verbose {
logUtils.PrintToCmd(reqErr.Error(), color.FgRed)
}
return "", false
}
......@@ -37,21 +42,29 @@ func Get(url string, params map[string]string) (string, bool) {
resp, respErr := client.Do(req)
if respErr != nil {
logUtils.PrintToCmd(respErr.Error(), color.FgRed)
if vari.Verbose {
logUtils.PrintToCmd(respErr.Error(), color.FgRed)
}
return "", false
}
bodyStr, _ := ioutil.ReadAll(resp.Body)
logUtils.PrintUnicode(bodyStr)
if vari.Verbose {
logUtils.PrintUnicode(bodyStr)
}
var bodyJson model.ZentaoResponse
jsonErr := json.Unmarshal(bodyStr, &bodyJson)
if jsonErr != nil {
if strings.Index(string(bodyStr), "<html>") > -1 {
logUtils.PrintToCmd("server return a html", -1)
if vari.Verbose {
logUtils.PrintToCmd("server return a html", -1)
}
return "", false
} else {
logUtils.PrintToCmd(jsonErr.Error(), color.FgRed)
if vari.Verbose {
logUtils.PrintToCmd(jsonErr.Error(), color.FgRed)
}
return "", false
}
}
......@@ -68,7 +81,11 @@ func Get(url string, params map[string]string) (string, bool) {
}
func PostObject(url string, params interface{}) (string, bool) {
logUtils.PrintToCmd(url, -1)
if vari.Verbose {
logUtils.PrintToCmd(url, -1)
logUtils.PrintToCmd(fmt.Sprintf("%+v", params), -1)
}
client := &http.Client{}
val, _ := form.EncodeToString(params)
......@@ -77,11 +94,11 @@ func PostObject(url string, params interface{}) (string, bool) {
re3, _ := regexp.Compile(`([^&]*?)=`)
data := re3.ReplaceAllStringFunc(val, replacePostData)
logUtils.PrintToCmd(data, -1)
req, reqErr := http.NewRequest("POST", url, strings.NewReader(data))
if reqErr != nil {
logUtils.PrintToCmd(reqErr.Error(), color.FgRed)
if vari.Verbose {
logUtils.PrintToCmd(reqErr.Error(), color.FgRed)
}
return "", false
}
......@@ -90,21 +107,29 @@ func PostObject(url string, params interface{}) (string, bool) {
resp, respErr := client.Do(req)
if respErr != nil {
logUtils.PrintToCmd(respErr.Error(), color.FgRed)
if vari.Verbose {
logUtils.PrintToCmd(respErr.Error(), color.FgRed)
}
return "", false
}
bodyStr, _ := ioutil.ReadAll(resp.Body)
logUtils.PrintUnicode(bodyStr)
if vari.Verbose {
logUtils.PrintUnicode(bodyStr)
}
var bodyJson model.ZentaoResponse
jsonErr := json.Unmarshal(bodyStr, &bodyJson)
if jsonErr != nil {
if strings.Index(string(bodyStr), "<html>") > -1 { // some api return a html
logUtils.PrintToCmd("server return a html", -1)
if vari.Verbose {
logUtils.PrintToCmd("server return a html", -1)
}
return "", true
} else {
logUtils.PrintToCmd(jsonErr.Error(), color.FgRed)
if vari.Verbose {
logUtils.PrintToCmd(jsonErr.Error(), color.FgRed)
}
return "", false
}
}
......@@ -121,7 +146,9 @@ func PostObject(url string, params interface{}) (string, bool) {
}
func PostStr(url string, params map[string]string) (string, bool) {
logUtils.PrintToCmd(url, -1)
if vari.Verbose {
logUtils.PrintToCmd(url, -1)
}
client := &http.Client{}
paramStr := ""
......@@ -136,7 +163,9 @@ func PostStr(url string, params map[string]string) (string, bool) {
req, reqErr := http.NewRequest("POST", url, strings.NewReader(paramStr))
if reqErr != nil {
logUtils.PrintToCmd(reqErr.Error(), color.FgRed)
if vari.Verbose {
logUtils.PrintToCmd(reqErr.Error(), color.FgRed)
}
return "", false
}
......@@ -145,17 +174,23 @@ func PostStr(url string, params map[string]string) (string, bool) {
resp, respErr := client.Do(req)
if respErr != nil {
logUtils.PrintToCmd(respErr.Error(), color.FgRed)
if vari.Verbose {
logUtils.PrintToCmd(respErr.Error(), color.FgRed)
}
return "", false
}
bodyStr, _ := ioutil.ReadAll(resp.Body)
logUtils.PrintUnicode(bodyStr)
if vari.Verbose {
logUtils.PrintUnicode(bodyStr)
}
var bodyJson model.ZentaoResponse
jsonErr := json.Unmarshal(bodyStr, &bodyJson)
if jsonErr != nil && strings.Index(url, "login") == -1 { // ignore login request which return a html
logUtils.PrintToCmd(jsonErr.Error(), color.FgRed)
if vari.Verbose {
logUtils.PrintToCmd(jsonErr.Error(), color.FgRed)
}
return "", false
}
......@@ -171,11 +206,6 @@ func PostStr(url string, params map[string]string) (string, bool) {
}
func replacePostData(str string) string {
//logUtils.PrintToCmd(str)
//logUtils.PrintToCmd(str[:1])
//logUtils.PrintToCmd(str[1:])
//logUtils.PrintToCmd("---")
str = strings.ToLower(str[:1]) + str[1:]
if strings.Index(str, ".") > -1 {
......
......@@ -33,4 +33,6 @@ var (
CurrBug model.Bug
CurrBugStepIds string
Verbose bool
)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册