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
```
hrp har2case path... [flags]
hrp har2case harPath... [flags]
```
### Options
```
-h, --help help for har2case
-j, --to-json convert to JSON format (default)
-y, --to-yaml convert to JSON format
-h, --help help for har2case
-d, --output-dir string specify output directory, default to the same dir with har file
-j, --to-json convert to JSON format (default)
-y, --to-yaml convert to JSON format
```
### SEE ALSO

View File

@@ -16,6 +16,11 @@ import (
"github.com/httprunner/hrp"
)
const (
suffixJSON = ".json"
suffixYAML = ".yaml"
)
func NewHAR(path string) *HAR {
return &HAR{
path: path,
@@ -34,33 +39,21 @@ func (h *HAR) SetOutputDir(dir string) {
}
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()
if err != nil {
return "", err
}
jsonPath = h.genOutputPath(suffixJSON)
err = tCase.Dump2JSON(jsonPath)
return
}
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()
if err != nil {
return "", err
}
yamlPath = h.genOutputPath(suffixYAML)
err = tCase.Dump2YAML(yamlPath)
return
}
@@ -306,6 +299,15 @@ func (s *TStep) makeValidate(entry *Entry) error {
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 {
base := filepath.Base(path)
ext := filepath.Ext(base)