| 221 | } |
| 222 | |
| 223 | func TestParseDataStringWithUndefinedVariables(t *testing.T) { |
| 224 | variablesMapping := map[string]interface{}{ |
| 225 | "var_1": "abc", |
| 226 | "var_2": "def", |
| 227 | } |
| 228 | |
| 229 | testData := []struct { |
| 230 | expr string |
| 231 | expect interface{} |
| 232 | }{ |
| 233 | {"/api/$SECRET_KEY", "/api/$SECRET_KEY"}, // raise error |
| 234 | } |
| 235 | |
| 236 | parser := newParser() |
| 237 | for _, data := range testData { |
| 238 | parsedData, err := parser.Parse(data.expr, variablesMapping) |
| 239 | if !assert.Error(t, err) { |
| 240 | t.Fatal() |
| 241 | } |
| 242 | if !assert.Equal(t, data.expect, parsedData) { |
| 243 | t.Fatal() |
| 244 | } |
| 245 | } |
| 246 | } |
| 247 | |
| 248 | func TestParseDataStringWithVariablesAbnormal(t *testing.T) { |
| 249 | variablesMapping := map[string]interface{}{ |