mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-22 08:50:13 +08:00
feat: override config variables
This commit is contained in:
25
parser.go
25
parser.go
@@ -139,3 +139,28 @@ func parseString(raw string, variablesMapping map[string]interface{}) interface{
|
||||
|
||||
return parsedString
|
||||
}
|
||||
|
||||
// merge two variables mapping, the first variables have higher priority
|
||||
func mergeVariables(variables, overriddenVariables map[string]interface{}) map[string]interface{} {
|
||||
if overriddenVariables == nil {
|
||||
return variables
|
||||
}
|
||||
if variables == nil {
|
||||
return overriddenVariables
|
||||
}
|
||||
|
||||
mergedVariables := make(map[string]interface{})
|
||||
for k, v := range overriddenVariables {
|
||||
mergedVariables[k] = v
|
||||
}
|
||||
for k, v := range variables {
|
||||
if fmt.Sprintf("${%s}", k) == v || fmt.Sprintf("$%s", k) == v {
|
||||
// e.g. {"base_url": "$base_url"}
|
||||
// or {"base_url": "${base_url}"}
|
||||
continue
|
||||
}
|
||||
|
||||
mergedVariables[k] = v
|
||||
}
|
||||
return mergedVariables
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user