mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-12 02:21:29 +08:00
fix: dump summary with original variables for security
This commit is contained in:
@@ -14,9 +14,10 @@ type IConfig interface {
|
|||||||
// NewConfig returns a new constructed testcase config with specified testcase name.
|
// NewConfig returns a new constructed testcase config with specified testcase name.
|
||||||
func NewConfig(name string) *TConfig {
|
func NewConfig(name string) *TConfig {
|
||||||
return &TConfig{
|
return &TConfig{
|
||||||
Name: name,
|
Name: name,
|
||||||
Environs: make(map[string]string),
|
Environs: make(map[string]string),
|
||||||
Variables: make(map[string]interface{}),
|
Variables: make(map[string]interface{}),
|
||||||
|
OriginalVariables: make(map[string]interface{}),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -28,6 +29,7 @@ type TConfig struct {
|
|||||||
Headers map[string]string `json:"headers,omitempty" yaml:"headers,omitempty"` // public request headers
|
Headers map[string]string `json:"headers,omitempty" yaml:"headers,omitempty"` // public request headers
|
||||||
Environs map[string]string `json:"environs,omitempty" yaml:"environs,omitempty"` // environment variables
|
Environs map[string]string `json:"environs,omitempty" yaml:"environs,omitempty"` // environment variables
|
||||||
Variables map[string]interface{} `json:"variables,omitempty" yaml:"variables,omitempty"` // global variables
|
Variables map[string]interface{} `json:"variables,omitempty" yaml:"variables,omitempty"` // global variables
|
||||||
|
OriginalVariables map[string]interface{} `json:"-" yaml:"-"` // original user variables before env merge (not serialized)
|
||||||
Parameters map[string]interface{} `json:"parameters,omitempty" yaml:"parameters,omitempty"`
|
Parameters map[string]interface{} `json:"parameters,omitempty" yaml:"parameters,omitempty"`
|
||||||
ParametersSetting *TParamsConfig `json:"parameters_setting,omitempty" yaml:"parameters_setting,omitempty"`
|
ParametersSetting *TParamsConfig `json:"parameters_setting,omitempty" yaml:"parameters_setting,omitempty"`
|
||||||
ThinkTimeSetting *ThinkTimeConfig `json:"think_time,omitempty" yaml:"think_time,omitempty"`
|
ThinkTimeSetting *ThinkTimeConfig `json:"think_time,omitempty" yaml:"think_time,omitempty"`
|
||||||
|
|||||||
10
runner.go
10
runner.go
@@ -459,6 +459,12 @@ func (r *CaseRunner) parseConfig() (parsedConfig *TConfig, err error) {
|
|||||||
}
|
}
|
||||||
parsedConfig.Variables = parsedVariables
|
parsedConfig.Variables = parsedVariables
|
||||||
|
|
||||||
|
// backup original user variables before merging env variables
|
||||||
|
parsedConfig.OriginalVariables = make(map[string]interface{})
|
||||||
|
for k, v := range parsedVariables {
|
||||||
|
parsedConfig.OriginalVariables[k] = v
|
||||||
|
}
|
||||||
|
|
||||||
// parse config name
|
// parse config name
|
||||||
parsedName, err := r.parser.ParseString(cfg.Name, parsedVariables)
|
parsedName, err := r.parser.ParseString(cfg.Name, parsedVariables)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -694,7 +700,9 @@ func (r *SessionRunner) Start(givenVars map[string]interface{}) (summary *TestCa
|
|||||||
exportVars[value] = r.sessionVariables[value]
|
exportVars[value] = r.sessionVariables[value]
|
||||||
}
|
}
|
||||||
summary.InOut.ExportVars = exportVars
|
summary.InOut.ExportVars = exportVars
|
||||||
summary.InOut.ConfigVars = config.Variables
|
|
||||||
|
// dump summary with original user variables only (exclude environment variables)
|
||||||
|
summary.InOut.ConfigVars = config.OriginalVariables
|
||||||
|
|
||||||
// Save JSON case content to results directory
|
// Save JSON case content to results directory
|
||||||
if config.Path != "" {
|
if config.Path != "" {
|
||||||
|
|||||||
Reference in New Issue
Block a user