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  }