(t *testing.T)
| 408 | } |
| 409 | |
| 410 | func TestClientReceivingUnknownTopic(t *testing.T) { |
| 411 | seedBroker := NewMockBroker(t, 1) |
| 412 | |
| 413 | metadataResponse1 := new(MetadataResponse) |
| 414 | metadataResponse1.AddBroker(seedBroker.Addr(), seedBroker.BrokerID()) |
| 415 | seedBroker.Returns(metadataResponse1) |
| 416 | |
| 417 | config := NewTestConfig() |
| 418 | config.Metadata.Retry.Max = 1 |
| 419 | config.Metadata.Retry.Backoff = 0 |
| 420 | client, err := NewClient([]string{seedBroker.Addr()}, config) |
| 421 | if err != nil { |
| 422 | t.Fatal(err) |
| 423 | } |
| 424 | |
| 425 | metadataUnknownTopic := new(MetadataResponse) |
| 426 | metadataUnknownTopic.AddBroker(seedBroker.Addr(), seedBroker.BrokerID()) |
| 427 | metadataUnknownTopic.AddTopic("new_topic", ErrUnknownTopicOrPartition) |
| 428 | seedBroker.Returns(metadataUnknownTopic) |
| 429 | seedBroker.Returns(metadataUnknownTopic) |
| 430 | |
| 431 | if err := client.RefreshMetadata("new_topic"); !errors.Is(err, ErrUnknownTopicOrPartition) { |
| 432 | t.Error("ErrUnknownTopicOrPartition expected, got", err) |
| 433 | } |
| 434 | |
| 435 | // If we are asking for the leader of a partition of the non-existing topic. |
| 436 | // we will request metadata again. |
| 437 | seedBroker.Returns(metadataUnknownTopic) |
| 438 | seedBroker.Returns(metadataUnknownTopic) |
| 439 | |
| 440 | if _, err = client.Leader("new_topic", 1); !errors.Is(err, ErrUnknownTopicOrPartition) { |
| 441 | t.Error("Expected ErrUnknownTopicOrPartition, got", err) |
| 442 | } |
| 443 | |
| 444 | safeClose(t, client) |
| 445 | seedBroker.Close() |
| 446 | } |
| 447 | |
| 448 | func TestClientReceivingPartialMetadata(t *testing.T) { |
| 449 | seedBroker := NewMockBroker(t, 1) |
nothing calls this directly
no test coverage detected