@@ -49,28 +49,35 @@ func (s) TestServiceWatch_ListenerPointsToNewRouteConfiguration(t *testing.T) {
4949 mgmtServer , lisCh , routeCfgCh , bc := setupManagementServerForTest (t , nodeID )
5050
5151 // Configure resources on the management server.
52- listeners := []* v3listenerpb.Listener {e2e .DefaultClientListener (defaultTestServiceName , defaultTestRouteConfigName )}
53- routes := []* v3routepb.RouteConfiguration {e2e .DefaultRouteConfig (defaultTestRouteConfigName , defaultTestServiceName , defaultTestClusterName )}
54- configureResourcesOnManagementServer (ctx , t , mgmtServer , nodeID , listeners , routes )
52+ resources := e2e .DefaultClientResources (e2e.ResourceParams {
53+ DialTarget : defaultTestServiceName ,
54+ NodeID : nodeID ,
55+ Host : defaultTestHostname ,
56+ Port : defaultTestPort [0 ],
57+ SecLevel : e2e .SecurityLevelNone ,
58+ })
59+ if err := mgmtServer .Update (ctx , resources ); err != nil {
60+ t .Fatal (err )
61+ }
5562
5663 stateCh , _ , _ := buildResolverForTarget (t , resolver.Target {URL : * testutils .MustParseURL ("xds:///" + defaultTestServiceName )}, bc )
5764
5865 // Verify initial update from the resolver.
5966 waitForResourceNames (ctx , t , lisCh , []string {defaultTestServiceName })
60- waitForResourceNames (ctx , t , routeCfgCh , []string {defaultTestRouteConfigName })
61- verifyUpdateFromResolver (ctx , t , stateCh , wantDefaultServiceConfig )
67+ waitForResourceNames (ctx , t , routeCfgCh , []string {resources . Routes [ 0 ]. Name })
68+ verifyUpdateFromResolver (ctx , t , stateCh , wantServiceConfig ( resources . Clusters [ 0 ]. Name ) )
6269
6370 // Update the listener resource to point to a new route configuration name.
6471 // Leave the old route configuration resource unchanged.
6572 newTestRouteConfigName := defaultTestRouteConfigName + "-new"
66- listeners = []* v3listenerpb.Listener {e2e .DefaultClientListener (defaultTestServiceName , newTestRouteConfigName )}
67- configureResourcesOnManagementServer (ctx , t , mgmtServer , nodeID , listeners , routes )
73+ resources . Listeners = []* v3listenerpb.Listener {e2e .DefaultClientListener (defaultTestServiceName , newTestRouteConfigName )}
74+ configureResourcesOnManagementServer (ctx , t , mgmtServer , nodeID , resources . Listeners , resources . Routes )
6875
6976 // Verify that the new route configuration resource is requested.
7077 waitForResourceNames (ctx , t , routeCfgCh , []string {newTestRouteConfigName })
7178
7279 // Update the old route configuration resource by adding a new route.
73- routes [0 ].VirtualHosts [0 ].Routes = append (routes [0 ].VirtualHosts [0 ].Routes , & v3routepb.Route {
80+ resources . Routes [0 ].VirtualHosts [0 ].Routes = append (resources . Routes [0 ].VirtualHosts [0 ].Routes , & v3routepb.Route {
7481 Match : & v3routepb.RouteMatch {
7582 PathSpecifier : & v3routepb.RouteMatch_Prefix {Prefix : "/foo/bar" },
7683 CaseSensitive : & wrapperspb.BoolValue {Value : false },
@@ -81,17 +88,17 @@ func (s) TestServiceWatch_ListenerPointsToNewRouteConfiguration(t *testing.T) {
8188 },
8289 },
8390 })
84- configureResourcesOnManagementServer (ctx , t , mgmtServer , nodeID , listeners , routes )
91+ configureResourcesOnManagementServer (ctx , t , mgmtServer , nodeID , resources . Listeners , resources . Routes )
8592
8693 // Wait for no update from the resolver.
8794 verifyNoUpdateFromResolver (ctx , t , stateCh )
8895
8996 // Update the management server with the new route configuration resource.
90- routes = append (routes , e2e .DefaultRouteConfig (newTestRouteConfigName , defaultTestServiceName , defaultTestClusterName ))
91- configureResourcesOnManagementServer (ctx , t , mgmtServer , nodeID , listeners , routes )
97+ resources . Routes = append (resources . Routes , e2e .DefaultRouteConfig (newTestRouteConfigName , defaultTestServiceName , resources . Clusters [ 0 ]. Name ))
98+ configureResourcesOnManagementServer (ctx , t , mgmtServer , nodeID , resources . Listeners , resources . Routes )
9299
93100 // Ensure update from the resolver.
94- verifyUpdateFromResolver (ctx , t , stateCh , wantDefaultServiceConfig )
101+ verifyUpdateFromResolver (ctx , t , stateCh , wantServiceConfig ( resources . Clusters [ 0 ]. Name ) )
95102}
96103
97104// Tests the case where the listener resource changes to contain an inline route
@@ -106,22 +113,28 @@ func (s) TestServiceWatch_ListenerPointsToInlineRouteConfiguration(t *testing.T)
106113 mgmtServer , lisCh , routeCfgCh , bc := setupManagementServerForTest (t , nodeID )
107114
108115 // Configure resources on the management server.
109- listeners := []* v3listenerpb.Listener {e2e .DefaultClientListener (defaultTestServiceName , defaultTestRouteConfigName )}
110- routes := []* v3routepb.RouteConfiguration {e2e .DefaultRouteConfig (defaultTestRouteConfigName , defaultTestServiceName , defaultTestClusterName )}
111- configureResourcesOnManagementServer (ctx , t , mgmtServer , nodeID , listeners , routes )
112-
116+ resources := e2e .DefaultClientResources (e2e.ResourceParams {
117+ DialTarget : defaultTestServiceName ,
118+ NodeID : nodeID ,
119+ Host : defaultTestHostname ,
120+ Port : defaultTestPort [0 ],
121+ SecLevel : e2e .SecurityLevelNone ,
122+ })
123+ if err := mgmtServer .Update (ctx , resources ); err != nil {
124+ t .Fatal (err )
125+ }
113126 stateCh , _ , _ := buildResolverForTarget (t , resolver.Target {URL : * testutils .MustParseURL ("xds:///" + defaultTestServiceName )}, bc )
114127
115128 // Verify initial update from the resolver.
116129 waitForResourceNames (ctx , t , lisCh , []string {defaultTestServiceName })
117- waitForResourceNames (ctx , t , routeCfgCh , []string {defaultTestRouteConfigName })
118- verifyUpdateFromResolver (ctx , t , stateCh , wantDefaultServiceConfig )
130+ waitForResourceNames (ctx , t , routeCfgCh , []string {resources . Routes [ 0 ]. Name })
131+ verifyUpdateFromResolver (ctx , t , stateCh , wantServiceConfig ( resources . Clusters [ 0 ]. Name ) )
119132
120133 // Update listener to contain an inline route configuration.
121134 hcm := testutils .MarshalAny (t , & v3httppb.HttpConnectionManager {
122135 RouteSpecifier : & v3httppb.HttpConnectionManager_RouteConfig {
123136 RouteConfig : & v3routepb.RouteConfiguration {
124- Name : defaultTestRouteConfigName ,
137+ Name : resources . Routes [ 0 ]. Name ,
125138 VirtualHosts : []* v3routepb.VirtualHost {{
126139 Domains : []string {defaultTestServiceName },
127140 Routes : []* v3routepb.Route {{
@@ -130,7 +143,7 @@ func (s) TestServiceWatch_ListenerPointsToInlineRouteConfiguration(t *testing.T)
130143 },
131144 Action : & v3routepb.Route_Route {
132145 Route : & v3routepb.RouteAction {
133- ClusterSpecifier : & v3routepb.RouteAction_Cluster {Cluster : defaultTestClusterName },
146+ ClusterSpecifier : & v3routepb.RouteAction_Cluster {Cluster : resources . Clusters [ 0 ]. Name },
134147 },
135148 },
136149 }},
@@ -139,7 +152,7 @@ func (s) TestServiceWatch_ListenerPointsToInlineRouteConfiguration(t *testing.T)
139152 },
140153 HttpFilters : []* v3httppb.HttpFilter {e2e .HTTPFilter ("router" , & v3routerpb.Router {})},
141154 })
142- listeners = []* v3listenerpb.Listener {{
155+ resources . Listeners = []* v3listenerpb.Listener {{
143156 Name : defaultTestServiceName ,
144157 ApiListener : & v3listenerpb.ApiListener {ApiListener : hcm },
145158 FilterChains : []* v3listenerpb.FilterChain {{
@@ -150,19 +163,19 @@ func (s) TestServiceWatch_ListenerPointsToInlineRouteConfiguration(t *testing.T)
150163 }},
151164 }},
152165 }}
153- configureResourcesOnManagementServer (ctx , t , mgmtServer , nodeID , listeners , nil )
166+ configureResourcesOnManagementServer (ctx , t , mgmtServer , nodeID , resources . Listeners , nil )
154167
155168 // Verify that the old route configuration is not requested anymore.
156169 waitForResourceNames (ctx , t , routeCfgCh , []string {})
157- verifyUpdateFromResolver (ctx , t , stateCh , wantDefaultServiceConfig )
170+ verifyUpdateFromResolver (ctx , t , stateCh , wantServiceConfig ( resources . Clusters [ 0 ]. Name ) )
158171
159172 // Update listener back to contain a route configuration name.
160- listeners = []* v3listenerpb.Listener {e2e .DefaultClientListener (defaultTestServiceName , defaultTestRouteConfigName )}
161- configureResourcesOnManagementServer (ctx , t , mgmtServer , nodeID , listeners , routes )
173+ resources . Listeners = []* v3listenerpb.Listener {e2e .DefaultClientListener (defaultTestServiceName , resources . Routes [ 0 ]. Name )}
174+ configureResourcesOnManagementServer (ctx , t , mgmtServer , nodeID , resources . Listeners , resources . Routes )
162175
163176 // Verify that that route configuration resource is requested.
164- waitForResourceNames (ctx , t , routeCfgCh , []string {defaultTestRouteConfigName })
177+ waitForResourceNames (ctx , t , routeCfgCh , []string {resources . Routes [ 0 ]. Name })
165178
166179 // Verify that appropriate SC is pushed on the channel.
167- verifyUpdateFromResolver (ctx , t , stateCh , wantDefaultServiceConfig )
180+ verifyUpdateFromResolver (ctx , t , stateCh , wantServiceConfig ( resources . Clusters [ 0 ]. Name ) )
168181}
0 commit comments