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

Method TestServerCredsProviderFailure

credentials/xds/xds_server_test.go:135–169  ·  view source on GitHub ↗

TestServerCredsProviderFailure verifies the cases where an expected certificate provider is missing in the HandshakeInfo value in the context.

(t *testing.T)

Source from the content-addressed store, hash-verified

133// TestServerCredsProviderFailure verifies the cases where an expected
134// certificate provider is missing in the HandshakeInfo value in the context.
135func (s) TestServerCredsProviderFailure(t *testing.T) {
136 opts := ServerOptions{FallbackCreds: &errorCreds{}}
137 creds, err := NewServerCredentials(opts)
138 if err != nil {
139 t.Fatalf("NewServerCredentials(%v) failed: %v", opts, err)
140 }
141
142 tests := []struct {
143 desc string
144 rootProvider certprovider.Provider
145 identityProvider certprovider.Provider
146 wantErr string
147 }{
148 {
149 desc: "erroring identity provider",
150 identityProvider: &fakeProvider{err: errors.New("identity provider error")},
151 wantErr: "identity provider error",
152 },
153 {
154 desc: "erroring root provider",
155 identityProvider: &fakeProvider{km: &certprovider.KeyMaterial{}},
156 rootProvider: &fakeProvider{err: errors.New("root provider error")},
157 wantErr: "root provider error",
158 },
159 }
160 for _, test := range tests {
161 t.Run(test.desc, func(t *testing.T) {
162 info := xdsinternal.NewHandshakeInfo(test.rootProvider, test.identityProvider, nil, false, "", false, false)
163 conn := newWrappedConn(nil, info, time.Time{})
164 if _, _, err := creds.ServerHandshake(conn); err == nil || !strings.Contains(err.Error(), test.wantErr) {
165 t.Fatalf("ServerHandshake() returned error: %q, wantErr: %q", err, test.wantErr)
166 }
167 })
168 }
169}
170
171// TestServerCredsHandshake_XDSHandshakeInfoError verifies the case where the
172// call to XDSHandshakeInfo() from the ServerHandshake() method returns an

Callers

nothing calls this directly

Calls 5

NewServerCredentialsFunction · 0.85
newWrappedConnFunction · 0.85
FatalfMethod · 0.65
ServerHandshakeMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected