github.com/cilium/cilium@v1.16.2/pkg/bgpv1/api/conversions_test.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright Authors of Cilium 3 4 package api 5 6 import ( 7 "testing" 8 9 "github.com/stretchr/testify/require" 10 11 "github.com/cilium/cilium/pkg/bgpv1/types" 12 ) 13 14 var testRouterASN = int64(65001) 15 16 // Test common Route conversions appearing in the codebase 17 func TestRouteConversions(t *testing.T) { 18 for _, tt := range types.CommonPaths { 19 t.Run(tt.Name, func(t *testing.T) { 20 expectedRoute := &types.Route{ 21 Prefix: tt.Path.NLRI.String(), 22 Paths: []*types.Path{&tt.Path}, 23 } 24 25 apiRoutes, err := ToAPIRoutes([]*types.Route{expectedRoute}, testRouterASN, "") 26 require.NoError(t, err) 27 require.NotZero(t, apiRoutes) 28 29 agentRoutes, err := ToAgentRoutes(apiRoutes) 30 require.NoError(t, err) 31 require.NotZero(t, agentRoutes) 32 33 require.EqualValues(t, expectedRoute, agentRoutes[0]) 34 }) 35 } 36 } 37 38 // Test conversion of common route policies 39 func TestRoutePolicyConversions(t *testing.T) { 40 for _, tt := range types.TestCommonRoutePolicies { 41 t.Run(tt.Name, func(t *testing.T) { 42 apiPolicies := ToAPIRoutePolicies([]*types.RoutePolicy{tt.Policy}, testRouterASN) 43 require.NotZero(t, apiPolicies) 44 45 agentPolicies, err := ToAgentRoutePolicies(apiPolicies) 46 require.NoError(t, err) 47 require.NotZero(t, agentPolicies) 48 49 require.EqualValues(t, tt.Policy, agentPolicies[0]) 50 }) 51 } 52 }