refactor: runStep

This commit is contained in:
debugtalk
2021-09-22 21:25:28 +08:00
parent 9fb19da2ac
commit 102b8a94a3
7 changed files with 50 additions and 56 deletions

View File

@@ -1,6 +1,7 @@
package httpboomer
import (
"log"
"net/http"
"github.com/imroc/req"
@@ -33,15 +34,24 @@ func (r *Runner) Run(testcases ...*TestCase) error {
func (r *Runner) runCase(testcase *TestCase) error {
config := &testcase.Config
log.Printf("Start to run testcase: %v", config.Name)
for _, step := range testcase.TestSteps {
if err := step.Run(config); err != nil {
tStep := parseStep(step, config)
if err := r.runStep(tStep); err != nil {
return err
}
}
return nil
}
func parseStep(step IStep, config *TConfig) *TStep {
tStep := step.ToStruct()
tStep.Request.URL = config.BaseURL + tStep.Request.URL
return tStep
}
func (r *Runner) runStep(step *TStep) error {
log.Printf("run step begin: %v >>>>>>", step.Name)
var v []interface{}
v = append(v, req.Header(step.Request.Headers))
v = append(v, req.Param(step.Request.Params))
@@ -53,11 +63,13 @@ func (r *Runner) runStep(step *TStep) error {
})
}
req.Debug = true
resp, err := r.Client.Do(string(step.Request.Method), step.Request.URL, v...)
if err != nil {
return err
}
resp.Response().Body.Close()
log.Printf("run step end: %v <<<<<<\n", step.Name)
return nil
}