feat: parse map data

This commit is contained in:
debugtalk
2021-09-29 13:45:49 +08:00
parent 6e286b7bfb
commit c2e76eaeca
4 changed files with 75 additions and 6 deletions

View File

@@ -129,3 +129,27 @@ func TestParseDataStringWithVariablesAbnormal(t *testing.T) {
}
}
}
func TestParseDataMapWithVariables(t *testing.T) {
variablesMapping := map[string]interface{}{
"var1": "foo1",
"val1": 200,
"var2": 123,
}
testData := []struct {
expr map[string]interface{}
expect interface{}
}{
{map[string]interface{}{"key": "$var1"}, map[string]interface{}{"key": "foo1"}},
{map[string]interface{}{"foo1": "$val1", "foo2": "bar2"}, map[string]interface{}{"foo1": 200, "foo2": "bar2"}},
// {map[string]interface{}{"$var1": "$val1"}, map[string]interface{}{"foo1": 200}},
// {map[string]interface{}{"$var2": "$val1"}, map[string]interface{}{123: 200}},
}
for _, data := range testData {
if !assert.Equal(t, data.expect, parseData(data.expr, variablesMapping)) {
t.Fail()
}
}
}