github.com/hellofresh/janus@v0.0.0-20230925145208-ce8de8183c67/pkg/plugin/requesttransformer/setup_test.go (about) 1 package requesttransformer 2 3 import ( 4 "testing" 5 6 "github.com/hellofresh/janus/pkg/plugin" 7 "github.com/hellofresh/janus/pkg/proxy" 8 "github.com/stretchr/testify/assert" 9 ) 10 11 func TestRequestTransformerConfig(t *testing.T) { 12 var config Config 13 rawConfig := map[string]interface{}{ 14 "add": map[string]interface{}{ 15 "headers": map[string]string{ 16 "NAME": "TEST", 17 }, 18 "querystring": map[string]string{ 19 "name": "test", 20 }, 21 }, 22 } 23 24 err := plugin.Decode(rawConfig, &config) 25 assert.NoError(t, err) 26 27 assert.IsType(t, map[string]string{}, config.Add.Headers) 28 assert.Contains(t, config.Add.Headers, "NAME") 29 30 assert.IsType(t, map[string]string{}, config.Add.QueryString) 31 assert.Contains(t, config.Add.QueryString, "name") 32 } 33 34 func TestRequestTransformerPlugin(t *testing.T) { 35 rawConfig := map[string]interface{}{ 36 "add": map[string]interface{}{ 37 "headers": map[string]string{ 38 "NAME": "TEST", 39 }, 40 "querystring": map[string]string{ 41 "name": "test", 42 }, 43 }, 44 } 45 46 def := proxy.NewRouterDefinition(proxy.NewDefinition()) 47 err := setupRequestTransformer(def, rawConfig) 48 assert.NoError(t, err) 49 50 assert.Len(t, def.Middleware(), 1) 51 }