change: make genOutputPath public

This commit is contained in:
debugtalk
2021-10-17 11:24:50 +08:00
parent e9b51a6f33
commit d18f3fec82
2 changed files with 21 additions and 18 deletions

View File

@@ -7,15 +7,16 @@ Convert HAR to json/yaml testcase files
Convert HAR to json/yaml testcase files Convert HAR to json/yaml testcase files
``` ```
hrp har2case path... [flags] hrp har2case harPath... [flags]
``` ```
### Options ### Options
``` ```
-h, --help help for har2case -h, --help help for har2case
-j, --to-json convert to JSON format (default) -d, --output-dir string specify output directory, default to the same dir with har file
-y, --to-yaml convert to JSON format -j, --to-json convert to JSON format (default)
-y, --to-yaml convert to JSON format
``` ```
### SEE ALSO ### SEE ALSO

View File

@@ -16,6 +16,11 @@ import (
"github.com/httprunner/hrp" "github.com/httprunner/hrp"
) )
const (
suffixJSON = ".json"
suffixYAML = ".yaml"
)
func NewHAR(path string) *HAR { func NewHAR(path string) *HAR {
return &HAR{ return &HAR{
path: path, path: path,
@@ -34,33 +39,21 @@ func (h *HAR) SetOutputDir(dir string) {
} }
func (h *HAR) GenJSON() (jsonPath string, err error) { func (h *HAR) GenJSON() (jsonPath string, err error) {
jsonFile := getFilenameWithoutExtension(h.path) + ".json"
if h.outputDir != "" {
jsonPath = filepath.Join(h.outputDir, jsonFile)
} else {
jsonPath = filepath.Join(filepath.Dir(h.path), jsonFile)
}
tCase, err := h.makeTestCase() tCase, err := h.makeTestCase()
if err != nil { if err != nil {
return "", err return "", err
} }
jsonPath = h.genOutputPath(suffixJSON)
err = tCase.Dump2JSON(jsonPath) err = tCase.Dump2JSON(jsonPath)
return return
} }
func (h *HAR) GenYAML() (yamlPath string, err error) { func (h *HAR) GenYAML() (yamlPath string, err error) {
yamlFile := getFilenameWithoutExtension(h.path) + ".yaml"
if h.outputDir != "" {
yamlPath = filepath.Join(h.outputDir, yamlFile)
} else {
yamlPath = filepath.Join(filepath.Dir(h.path), yamlFile)
}
tCase, err := h.makeTestCase() tCase, err := h.makeTestCase()
if err != nil { if err != nil {
return "", err return "", err
} }
yamlPath = h.genOutputPath(suffixYAML)
err = tCase.Dump2YAML(yamlPath) err = tCase.Dump2YAML(yamlPath)
return return
} }
@@ -306,6 +299,15 @@ func (s *TStep) makeValidate(entry *Entry) error {
return nil return nil
} }
func (h *HAR) genOutputPath(suffix string) string {
file := getFilenameWithoutExtension(h.path) + suffix
if h.outputDir != "" {
return filepath.Join(h.outputDir, file)
} else {
return filepath.Join(filepath.Dir(h.path), file)
}
}
func getFilenameWithoutExtension(path string) string { func getFilenameWithoutExtension(path string) string {
base := filepath.Base(path) base := filepath.Base(path)
ext := filepath.Ext(base) ext := filepath.Ext(base)