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

Function TestClientReceivingUnknownTopic

client_test.go:410–446  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

408}
409
410func 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
448func TestClientReceivingPartialMetadata(t *testing.T) {
449 seedBroker := NewMockBroker(t, 1)

Callers

nothing calls this directly

Calls 15

AddrMethod · 0.95
BrokerIDMethod · 0.95
ReturnsMethod · 0.95
RefreshMetadataMethod · 0.95
LeaderMethod · 0.95
CloseMethod · 0.95
NewMockBrokerFunction · 0.85
AddBrokerMethod · 0.80
FatalMethod · 0.80
AddTopicMethod · 0.80
IsMethod · 0.80
NewTestConfigFunction · 0.70

Tested by

no test coverage detected