github.com/cilium/cilium@v1.16.2/operator/pkg/model/translation/envoy_http_connection_manager_test.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright Authors of Cilium
     3  
     4  package translation
     5  
     6  import (
     7  	"testing"
     8  
     9  	httpConnectionManagerv3 "github.com/cilium/proxy/go/envoy/extensions/filters/network/http_connection_manager/v3"
    10  	"github.com/stretchr/testify/require"
    11  	"google.golang.org/protobuf/proto"
    12  )
    13  
    14  func TestNewHTTPConnectionManager(t *testing.T) {
    15  	res, err := NewHTTPConnectionManager("dummy-name", "dummy-route-name")
    16  	require.Nil(t, err)
    17  
    18  	httpConnectionManager := &httpConnectionManagerv3.HttpConnectionManager{}
    19  	err = proto.Unmarshal(res.Value, httpConnectionManager)
    20  
    21  	require.Nil(t, err)
    22  
    23  	require.Equal(t, "dummy-name", httpConnectionManager.StatPrefix)
    24  	require.Equal(t, &httpConnectionManagerv3.HttpConnectionManager_Rds{
    25  		Rds: &httpConnectionManagerv3.Rds{RouteConfigName: "dummy-route-name"},
    26  	}, httpConnectionManager.GetRouteSpecifier())
    27  
    28  	require.Len(t, httpConnectionManager.GetHttpFilters(), 3)
    29  	require.Equal(t, "envoy.filters.http.grpc_web", httpConnectionManager.GetHttpFilters()[0].Name)
    30  	require.Equal(t, "envoy.filters.http.grpc_stats", httpConnectionManager.GetHttpFilters()[1].Name)
    31  	require.Equal(t, "envoy.filters.http.router", httpConnectionManager.GetHttpFilters()[2].Name)
    32  
    33  	require.Len(t, httpConnectionManager.GetUpgradeConfigs(), 1)
    34  	require.Equal(t, "websocket", httpConnectionManager.GetUpgradeConfigs()[0].UpgradeType)
    35  }