(t *testing.T)
| 256 | } |
| 257 | |
| 258 | func 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 | |
| 299 | func TestBrokerOpenSASLv1FailThenReopenTransportError(t *testing.T) { |
| 300 | t.Parallel() |
nothing calls this directly
no test coverage detected