MCPcopy
hub / github.com/grpc/grpc-go / TestClientSideXDS

Method TestClientSideXDS

test/xds/xds_client_integration_test.go:58–89  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

56)
57
58func (s) TestClientSideXDS(t *testing.T) {
59 managementServer, nodeID, _, xdsResolver := setup.ManagementServerAndResolver(t)
60
61 server := stubserver.StartTestService(t, nil)
62 defer server.Stop()
63
64 const serviceName = "my-service-client-side-xds"
65 resources := e2e.DefaultClientResources(e2e.ResourceParams{
66 DialTarget: serviceName,
67 NodeID: nodeID,
68 Host: "localhost",
69 Port: testutils.ParsePort(t, server.Address),
70 SecLevel: e2e.SecurityLevelNone,
71 })
72 ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout)
73 defer cancel()
74 if err := managementServer.Update(ctx, resources); err != nil {
75 t.Fatal(err)
76 }
77
78 // Create a ClientConn and make a successful RPC.
79 cc, err := grpc.NewClient(fmt.Sprintf("xds:///%s", serviceName), grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(xdsResolver))
80 if err != nil {
81 t.Fatalf("failed to dial local test server: %v", err)
82 }
83 defer cc.Close()
84
85 client := testgrpc.NewTestServiceClient(cc)
86 if _, err := client.EmptyCall(ctx, &testpb.Empty{}, grpc.WaitForReady(true)); err != nil {
87 t.Fatalf("rpc EmptyCall() failed: %v", err)
88 }
89}
90
91// TestClient_ConcurrentRPC ensures thread safety for xDS clients executing
92// concurrent RPCs, particularly verifying that the regex matchers do not cause

Callers

nothing calls this directly

Calls 15

EmptyCallMethod · 0.95
StartTestServiceFunction · 0.92
DefaultClientResourcesFunction · 0.92
ParsePortFunction · 0.92
NewClientFunction · 0.92
WithTransportCredentialsFunction · 0.92
NewCredentialsFunction · 0.92
WithResolversFunction · 0.92
WaitForReadyFunction · 0.92
StopMethod · 0.65
UpdateMethod · 0.65

Tested by

no test coverage detected