feat: parse variable

This commit is contained in:
debugtalk
2021-09-28 22:50:24 +08:00
parent 0cff656ca0
commit b58701178d
4 changed files with 87 additions and 3 deletions

View File

@@ -2,6 +2,8 @@ package httpboomer
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestBuildURL(t *testing.T) {
@@ -27,3 +29,30 @@ func TestBuildURL(t *testing.T) {
t.Fatalf("buildURL error, %s != 'https://httpbin.org/get'", url)
}
}
func TestParseDataStringWithVariables(t *testing.T) {
variablesMapping := map[string]interface{}{
"var_1": "abc",
"var_2": "def",
"var_3": 123,
"var_4": map[string]interface{}{"a": 1},
"var_5": true,
"var_6": nil,
}
if !assert.Equal(t, "abc", parseData("$var_1", variablesMapping)) {
t.Fail()
}
if !assert.Equal(t, "abc", parseData("${var_1}", variablesMapping)) {
t.Fail()
}
if !assert.Equal(t, "var_1", parseData("var_1", variablesMapping)) {
t.Fail()
}
if !assert.Equal(t, "abc#XYZ", parseData("$var_1#XYZ", variablesMapping)) {
t.Fail()
}
if !assert.Equal(t, "abc#XYZ", parseData("${var_1}#XYZ", variablesMapping)) {
t.Fail()
}
}