github.com/Kong/go-pdk@v0.11.0/router/router_test.go (about)

     1  package router
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/Kong/go-pdk/bridge"
     7  	"github.com/Kong/go-pdk/bridge/bridgetest"
     8  	"github.com/Kong/go-pdk/entities"
     9  	"github.com/Kong/go-pdk/server/kong_plugin_protocol"
    10  	"github.com/stretchr/testify/assert"
    11  )
    12  
    13  func TestRouter(t *testing.T) {
    14  	router := Router{bridge.New(bridgetest.Mock(t, []bridgetest.MockStep{
    15  		{Method: "kong.router.get_route", Ret: &kong_plugin_protocol.Route{
    16  			Id:        "001:002",
    17  			Name:      "route_66",
    18  			Protocols: []string{"http", "tcp"},
    19  			Paths:     []string{"/v0/left", "/v1/this"},
    20  		}},
    21  		{Method: "kong.router.get_service", Ret: &kong_plugin_protocol.Service{
    22  			Id:       "003:004",
    23  			Name:     "self_service",
    24  			Protocol: "http",
    25  			Path:     "/v0/left",
    26  		}},
    27  	}))}
    28  
    29  	ret_r, err := router.GetRoute()
    30  	assert.NoError(t, err)
    31  	assert.Equal(t, entities.Route{
    32  		Id:        "001:002",
    33  		Name:      "route_66",
    34  		Protocols: []string{"http", "tcp"},
    35  		Paths:     []string{"/v0/left", "/v1/this"},
    36  	}, ret_r)
    37  
    38  	ret_s, err := router.GetService()
    39  	assert.NoError(t, err)
    40  	assert.Equal(t, entities.Service{
    41  		Id:       "003:004",
    42  		Name:     "self_service",
    43  		Protocol: "http",
    44  		Path:     "/v0/left",
    45  	}, ret_s)
    46  }