public void Constuctor() { var bm = new BrokerMetadata(42, "myhost", 8080); Assert.Equal(bm.BrokerId, 42); Assert.Equal(bm.Host, "myhost"); Assert.Equal(bm.Port, 8080); }
public void Constuctor() { var bm = new BrokerMetadata(42, "myhost", 8080); Assert.Equal(42, bm.BrokerId); Assert.Equal("myhost", bm.Host); Assert.Equal(8080, bm.Port); }
public void ToStringTest() { var bm = new BrokerMetadata(42, "myhost", 8080); Assert.Contains(42.ToString(), bm.ToString()); Assert.Contains("myhost", bm.ToString()); Assert.Contains(8080.ToString(), bm.ToString()); // TODO: JSON based test. Note: there is coverage of this already in the Metadata integration test. }
public void Constuctor() { var bmd = new BrokerMetadata(1, "host", 42); var members = new List <GroupMemberInfo>(); var gi = new GroupInfo(bmd, "mygroup", new Error(ErrorCode.NoError), "mystate", "myprotocoltype", "myprotocol", members); Assert.Equal(gi.Broker, bmd); Assert.Equal(gi.Group, "mygroup"); Assert.Equal(gi.Error, new Error(ErrorCode.NoError)); Assert.Equal(gi.State, "mystate"); Assert.Equal(gi.ProtocolType, "myprotocoltype"); Assert.Equal(gi.Protocol, "myprotocol"); Assert.Same(gi.Members, members); }
public async Task CanLoadWatermarksWithValidParamsAsync() { // Arrange var topic = new TopicName("test"); var clientMock = new Mock <IAdminClient>(); var client = clientMock.Object; var timeout = 1000; var loader = new TopicWatermarkLoader(topic, client, timeout); var consumerMock = new Mock <IConsumer <object, object> >(); IConsumer <object, object> consumerFactory() => consumerMock.Object; var adminClientPartition = new TopicPartition(topic.Value, new Partition(1)); var adminParitions = new[] { adminClientPartition }; var borkerMeta = new BrokerMetadata(1, "testHost", 1000); var partitionMeta = new PartitionMetadata(1, 1, new[] { 1 }, new[] { 1 }, null); var topicMeta = new TopicMetadata(topic.Value, new[] { partitionMeta }.ToList(), null); var meta = new Confluent.Kafka.Metadata( new[] { borkerMeta }.ToList(), new[] { topicMeta }.ToList(), 1, "test" ); clientMock.Setup(c => c.GetMetadata(topic.Value, TimeSpan.FromSeconds(timeout))).Returns(meta); var offets = new WatermarkOffsets(new Offset(1), new Offset(2)); consumerMock.Setup(x => x.QueryWatermarkOffsets(adminClientPartition, TimeSpan.FromSeconds(timeout))).Returns(offets); TopicWatermark result = null !; // Act var exception = await Record.ExceptionAsync(async() => result = await loader.LoadWatermarksAsync(consumerFactory, CancellationToken.None)); // Assert exception.Should().BeNull(); consumerMock.Verify(x => x.Close(), Times.Once); consumerMock.Verify(x => x.Dispose(), Times.Once); result.Should().NotBeNull(); var watermarks = result.Watermarks.ToList(); watermarks.Should().ContainSingle(); clientMock.Verify(c => c.GetMetadata(topic.Value, TimeSpan.FromSeconds(timeout)), Times.Once); consumerMock.Verify(x => x.QueryWatermarkOffsets(adminClientPartition, TimeSpan.FromSeconds(timeout)), Times.Once); watermarks.Single().TopicName.Should().Be(topic); watermarks.Single().Partition.Value.Should().Be(partitionMeta.PartitionId); watermarks.Single().Offset.Should().Be(offets); }