MCPcopy
hub / github.com/IBM/sarama / TestBrokerOpenApiVersionsTransportError

Function TestBrokerOpenApiVersionsTransportError

broker_test.go:258–297  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

256}
257
258func TestBrokerOpenApiVersionsTransportError(t *testing.T) {
259 t.Parallel()
260
261 conf := NewConfig()
262 conf.ApiVersionsRequest = true
263 conf.Net.Proxy.Enable = true
264 conf.Net.Proxy.Dialer = closeImmediatelyDialer{}
265
266 broker := NewBroker("127.0.0.1:9092")
267
268 if err := broker.Open(conf); err != nil {
269 t.Fatalf("unexpected Open error: %v", err)
270 }
271
272 connected, connErr := broker.Connected()
273 if connected {
274 t.Fatalf("expected broker to be disconnected")
275 }
276 if connErr == nil {
277 t.Fatalf("expected connection error")
278 }
279 if !shouldCloseBrokerConn(connErr) {
280 t.Fatalf("expected transport-level error, got: %v", connErr)
281 }
282
283 // Subsequent operations should surface the original connection error.
284 _, err := broker.GetMetadata(&MetadataRequest{})
285 if err == nil {
286 t.Fatalf("expected metadata request to fail")
287 }
288 if !errors.Is(err, connErr) {
289 t.Fatalf("expected original connection error, got: %v want: %v", err, connErr)
290 }
291
292 // Open() should be retryable after a fatal ApiVersions transport error.
293 if err := broker.Open(conf); errors.Is(err, ErrAlreadyConnected) {
294 t.Fatalf("expected Open retry allowed, got: %v", err)
295 }
296 _, _ = broker.Connected()
297}
298
299func TestBrokerOpenSASLv1FailThenReopenTransportError(t *testing.T) {
300 t.Parallel()

Callers

nothing calls this directly

Calls 8

OpenMethod · 0.95
ConnectedMethod · 0.95
GetMetadataMethod · 0.95
NewBrokerFunction · 0.85
shouldCloseBrokerConnFunction · 0.85
FatalfMethod · 0.80
IsMethod · 0.80
NewConfigFunction · 0.70

Tested by

no test coverage detected