TestServerCredsProviderFailure verifies the cases where an expected certificate provider is missing in the HandshakeInfo value in the context.
(t *testing.T)
| 133 | // TestServerCredsProviderFailure verifies the cases where an expected |
| 134 | // certificate provider is missing in the HandshakeInfo value in the context. |
| 135 | func (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 |
nothing calls this directly
no test coverage detected