Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public async Task GivenIAmAuthenticatedAsTheRootUser()
var loginResult = await _context.IggyClient.LoginUserAsync(TestEnvironment.RootUsername, TestEnvironment.RootPassword);

loginResult.ShouldNotBeNull();
loginResult.UserId.ShouldBe(0);
loginResult.UserId.ShouldBe(0u);
}

[Given(@"I have no streams in the system")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ public async Task ConnectToFollowerWithPersonalAccessToken_Should_RedirectToLead
}

authResponse.ShouldNotBeNull();
authResponse!.UserId.ShouldBeGreaterThanOrEqualTo(0);
authResponse!.UserId.ShouldNotBe(uint.MaxValue);

var address = client.GetCurrentAddress();
address.ShouldNotBeNullOrEmpty();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ public async Task CreateConsumerGroup_HappyPath_Should_CreateConsumerGroup_Succe
Identifier.String(streamName), Identifier.String(TopicName), GroupName);

consumerGroup.ShouldNotBeNull();
consumerGroup.Id.ShouldBeGreaterThanOrEqualTo(0u);
consumerGroup.PartitionsCount.ShouldBe(PartitionsCount);
consumerGroup.MembersCount.ShouldBe(0u);
consumerGroup.Name.ShouldBe(GroupName);
Expand Down Expand Up @@ -129,8 +128,8 @@ await Should.NotThrowAsync(() =>
// Verify via GetMe that the client is now a member of the consumer group
var me = await client.GetMeAsync();
me.ShouldNotBeNull();
me.ConsumerGroupsCount.ShouldBe(1);
me.ConsumerGroups.ShouldContain(x => x.GroupId == (int)cg!.Id);
me.ConsumerGroupsCount.ShouldBe(1u);
me.ConsumerGroups.ShouldContain(x => x.GroupId == cg!.Id);
}

[Test]
Expand Down Expand Up @@ -165,8 +164,8 @@ await Should.NotThrowAsync(() =>
// Verify via GetMe that the client is no longer a member of the consumer group
var me = await client.GetMeAsync();
me.ShouldNotBeNull();
me.ConsumerGroupsCount.ShouldBe(0);
me.ConsumerGroups.ShouldNotContain(x => x.GroupId == (int)cg.Id);
me.ConsumerGroupsCount.ShouldBe(0u);
me.ConsumerGroups.ShouldNotContain(x => x.GroupId == cg.Id);
}

[Test]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ public async Task PollMessages_WithNoHeaders_Should_PollMessages_Successfully(Pr
});

response.Messages.Count.ShouldBe(10);
response.PartitionId.ShouldBe(0);
response.PartitionId.ShouldBe(0u);
response.CurrentOffset.ShouldBe(19u);

foreach (var responseMessage in response.Messages)
Expand Down Expand Up @@ -129,7 +129,7 @@ public async Task PollMessages_WithHeaders_Should_PollMessages_Successfully(Prot

var response = await client.PollMessagesAsync(headersMessageFetchRequest);
response.Messages.Count.ShouldBe(10);
response.PartitionId.ShouldBe(0);
response.PartitionId.ShouldBe(0u);
response.CurrentOffset.ShouldBe(19u);
foreach (var responseMessage in response.Messages)
{
Expand Down
8 changes: 4 additions & 4 deletions foreign/csharp/Iggy_SDK.Tests.Integration/HeartbeatTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public async Task IdleGroupMember_WithHeartbeat_Should_StayMember()

var me = await client.GetMeAsync();
me.ShouldNotBeNull();
me.ConsumerGroupsCount.ShouldBe(1);
me.ConsumerGroupsCount.ShouldBe(1u);
}

[Test]
Expand All @@ -78,7 +78,7 @@ public async Task IdleGroupMember_WithSlowHeartbeat_Should_BeEvicted_And_Reconne
// fresh, auto-logged-in session.
var me = await client.GetMeAsync();
me.ShouldNotBeNull();
me.ConsumerGroupsCount.ShouldBe(0);
me.ConsumerGroupsCount.ShouldBe(0u);
}

[Test]
Expand All @@ -101,7 +101,7 @@ public async Task EvictedClient_WithPersonalAccessTokenAutoLogin_Should_Reconnec

var me = await client.GetMeAsync();
me.ShouldNotBeNull();
me.ConsumerGroupsCount.ShouldBe(0);
me.ConsumerGroupsCount.ShouldBe(0u);
}

/// <summary>
Expand All @@ -128,7 +128,7 @@ public async Task EvictedClient_WithoutAutoLogin_Should_ReestablishItsSession()
// that belonged to it is gone.
var me = await client.GetMeAsync();
me.ShouldNotBeNull();
me.ConsumerGroupsCount.ShouldBe(0);
me.ConsumerGroupsCount.ShouldBe(0u);
}

private Task<IIggyClient> CreateClient(TimeSpan heartbeatInterval, bool autoLogin = true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,7 @@ public async Task SendMessages_ToMultiplePartitions_Should_DistributeMessages(Pr
false);

polledMessages.Messages.Count.ShouldBeGreaterThanOrEqualTo(10);
polledMessages.PartitionId.ShouldBe((int)partitionId);
polledMessages.PartitionId.ShouldBe(partitionId);
}
}

Expand Down
6 changes: 3 additions & 3 deletions foreign/csharp/Iggy_SDK.Tests.Integration/OffsetTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ await client.StoreOffsetAsync(Consumer.New("test-consumer"), Identifier.String(s

offset.ShouldNotBeNull();
offset.StoredOffset.ShouldBe(SetOffset);
offset.PartitionId.ShouldBe(0);
offset.PartitionId.ShouldBe(0u);
offset.CurrentOffset.ShouldBe(3u);
}

Expand Down Expand Up @@ -142,7 +142,7 @@ await client.StoreOffsetAsync(Consumer.Group("test_consumer_group"), Identifier.

offset.ShouldNotBeNull();
offset.StoredOffset.ShouldBe(SetOffset);
offset.PartitionId.ShouldBe(0);
offset.PartitionId.ShouldBe(0u);
offset.CurrentOffset.ShouldBe(3u);
}

Expand Down Expand Up @@ -175,7 +175,7 @@ await client.StoreOffsetAsync(Consumer.Group("test_consumer_group"), Identifier.

offset.ShouldNotBeNull();
offset.StoredOffset.ShouldBe(SetOffset);
offset.PartitionId.ShouldBe(0);
offset.PartitionId.ShouldBe(0u);
offset.CurrentOffset.ShouldBe(3u);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ public async Task LoginWithPersonalAccessToken_Should_Be_Successfully(Protocol p
var authResponse = await loginClient.LoginWithPersonalAccessTokenAsync(response!.Token);

authResponse.ShouldNotBeNull();
authResponse.UserId.ShouldBeGreaterThanOrEqualTo(0);
authResponse.UserId.ShouldNotBe(uint.MaxValue);
}

[Test]
Expand Down
12 changes: 5 additions & 7 deletions foreign/csharp/Iggy_SDK.Tests.Integration/StreamsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,11 @@ public async Task CreateStream_HappyPath_Should_CreateStream_Successfully(Protoc
var response = await client.CreateStreamAsync(name);

response.ShouldNotBeNull();
response.Id.ShouldBeGreaterThanOrEqualTo(0u);
response.Name.ShouldBe(name);
response.Size.ShouldBe(0u);
response.CreatedAt.UtcDateTime.ShouldBe(DateTimeOffset.UtcNow.UtcDateTime, TimeSpan.FromMinutes(1));
response.MessagesCount.ShouldBe(0u);
response.TopicsCount.ShouldBe(0);
response.TopicsCount.ShouldBe(0u);
response.Topics.ShouldBeEmpty();
}

Expand Down Expand Up @@ -98,7 +97,7 @@ public async Task GetStreamById_Should_ReturnValidResponse(Protocol protocol)
response.Size.ShouldBe(0u);
response.CreatedAt.UtcDateTime.ShouldBe(DateTimeOffset.UtcNow.UtcDateTime, TimeSpan.FromMinutes(1));
response.MessagesCount.ShouldBe(0u);
response.TopicsCount.ShouldBe(0);
response.TopicsCount.ShouldBe(0u);
response.Topics.ShouldBeEmpty();
}

Expand All @@ -119,7 +118,7 @@ public async Task GetStreams_ByStreamName_Should_ReturnValidResponse(Protocol pr
response.Size.ShouldBe(0u);
response.CreatedAt.UtcDateTime.ShouldBe(DateTimeOffset.UtcNow.UtcDateTime, TimeSpan.FromMinutes(1));
response.MessagesCount.ShouldBe(0u);
response.TopicsCount.ShouldBe(0);
response.TopicsCount.ShouldBe(0u);
response.Topics.ShouldBeEmpty();
}

Expand Down Expand Up @@ -157,12 +156,11 @@ await client.SendMessagesAsync(Identifier.String(streamName),

var response = await client.GetStreamByIdAsync(Identifier.String(streamName));
response.ShouldNotBeNull();
response.Id.ShouldBeGreaterThanOrEqualTo(0u);
response.Name.ShouldBe(streamName);
response.Size.ShouldBeGreaterThan(0u);
response.CreatedAt.UtcDateTime.ShouldBe(DateTimeOffset.UtcNow.UtcDateTime, TimeSpan.FromMinutes(1));
response.MessagesCount.ShouldBe(7u);
response.TopicsCount.ShouldBe(2);
response.TopicsCount.ShouldBe(2u);
response.Topics.Count().ShouldBe(2);

var topic = response.Topics.First(x => x.Name == topicName1);
Expand Down Expand Up @@ -222,7 +220,7 @@ await client.SendMessagesAsync(Identifier.String(streamName),
purged => purged?.MessagesCount == 0, TimeSpan.FromSeconds(10));
stream.ShouldNotBeNull();
stream.MessagesCount.ShouldBe(0u);
stream.TopicsCount.ShouldBe(1);
stream.TopicsCount.ShouldBe(1u);
}

[Test]
Expand Down
29 changes: 11 additions & 18 deletions foreign/csharp/Iggy_SDK.Tests.Integration/SystemTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public async Task GetClients_Should_Return_NonEmptyClientsList(Protocol protocol
{
c.ClientId.ShouldNotBe(0u);
c.Address.ShouldNotBeNullOrEmpty();
c.Transport.ShouldBe(Protocol.Tcp);
c.Transport.ShouldBe(ClientTransport.Tcp);
}
}

Expand All @@ -63,10 +63,9 @@ public async Task GetClient_Should_Return_CorrectClient(Protocol protocol)
response.ShouldNotBeNull();
response.ClientId.ShouldBe(clientInfo.ClientId);
response.UserId.ShouldNotBeNull();
response.UserId.Value.ShouldBeGreaterThanOrEqualTo(0u);
response.Address.ShouldNotBeNullOrEmpty();
response.Transport.ShouldBe(Protocol.Tcp);
response.ConsumerGroupsCount.ShouldBe(0);
response.Transport.ShouldBe(ClientTransport.Tcp);
response.ConsumerGroupsCount.ShouldBe(0u);
response.ConsumerGroups.ShouldBeEmpty();
}

Expand All @@ -82,7 +81,7 @@ public async Task GetMe_Tcp_Should_Return_MyClient(Protocol protocol)
me.ClientId.ShouldNotBe(0u);
me.UserId.ShouldBe(0u);
me.Address.ShouldNotBeNullOrEmpty();
me.Transport.ShouldBe(Protocol.Tcp);
me.Transport.ShouldBe(ClientTransport.Tcp);
}

[Test]
Expand Down Expand Up @@ -117,8 +116,8 @@ await tcpClient.JoinConsumerGroupAsync(Identifier.String(streamName),
var response = await client.GetClientByIdAsync(me!.ClientId);
response.ShouldNotBeNull();
response.Address.ShouldNotBeNullOrEmpty();
response.Transport.ShouldBe(Protocol.Tcp);
response.ConsumerGroupsCount.ShouldBe(1);
response.Transport.ShouldBe(ClientTransport.Tcp);
response.ConsumerGroupsCount.ShouldBe(1u);
response.ConsumerGroups.ShouldNotBeEmpty();
response.ConsumerGroups.ShouldContain(x => x.GroupId == consumerGroup!.Id);
response.ConsumerGroups.ShouldContain(x => x.StreamId == stream!.Id);
Expand All @@ -141,21 +140,15 @@ await client.SendMessagesAsync(Identifier.String(streamName),

var response = await client.GetStatsAsync();
response.ShouldNotBeNull();
response.ProcessId.ShouldBeGreaterThanOrEqualTo(0);
response.ProcessId.ShouldNotBe(0u);
response.CpuUsage.ShouldBeGreaterThanOrEqualTo(0);
response.TotalCpuUsage.ShouldBeGreaterThanOrEqualTo(0);
response.MemoryUsage.ShouldBeGreaterThanOrEqualTo(0u);
response.TotalMemory.ShouldBeGreaterThanOrEqualTo(0u);
response.AvailableMemory.ShouldNotBe(0u);
response.RunTime.ShouldBeGreaterThanOrEqualTo(0u);
response.StartTime.ShouldBe(DateTimeOffset.UtcNow, TimeSpan.FromMinutes(5));
response.ReadBytes.ShouldBeGreaterThanOrEqualTo(0u);
response.WrittenBytes.ShouldBeGreaterThanOrEqualTo(0u);
response.MessagesSizeBytes.ShouldBeGreaterThanOrEqualTo(0u);
response.StreamsCount.ShouldBeGreaterThanOrEqualTo(1);
response.TopicsCount.ShouldBeGreaterThanOrEqualTo(1);
response.PartitionsCount.ShouldBeGreaterThanOrEqualTo(1);
response.SegmentsCount.ShouldBeGreaterThanOrEqualTo(1);
response.StreamsCount.ShouldBeGreaterThanOrEqualTo(1u);
response.TopicsCount.ShouldBeGreaterThanOrEqualTo(1u);
response.PartitionsCount.ShouldBeGreaterThanOrEqualTo(1u);
response.SegmentsCount.ShouldBeGreaterThanOrEqualTo(1u);
response.MessagesCount.ShouldBeGreaterThanOrEqualTo(1u);
// iggy-server leaves the connected-client tally out of its stats reply, so ClientsCount goes unchecked.
response.Hostname.ShouldNotBeNullOrEmpty();
Expand Down
4 changes: 0 additions & 4 deletions foreign/csharp/Iggy_SDK.Tests.Integration/TopicsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ public async Task Create_NewTopic_Should_Return_Successfully(Protocol protocol)
TimeSpan.FromMinutes(10), 2_000_000_000);

response.ShouldNotBeNull();
response.Id.ShouldBeGreaterThanOrEqualTo(0u);
response.CreatedAt.UtcDateTime.ShouldBe(DateTimeOffset.UtcNow.UtcDateTime, TimeSpan.FromMinutes(1));
response.Name.ShouldBe("Test Topic");
response.CompressionAlgorithm.ShouldBe(CompressionAlgorithm.Gzip);
Expand Down Expand Up @@ -86,7 +85,6 @@ await client.CreateTopicAsync(Identifier.String(streamName), "Get Topic", 2,
var response = await client.GetTopicByIdAsync(Identifier.String(streamName), Identifier.Numeric(0));

response.ShouldNotBeNull();
response.Id.ShouldBeGreaterThanOrEqualTo(0u);
response.CreatedAt.UtcDateTime.ShouldBe(DateTimeOffset.UtcNow.UtcDateTime, TimeSpan.FromMinutes(1));
response.Name.ShouldBe("Get Topic");
response.CompressionAlgorithm.ShouldBe(CompressionAlgorithm.Gzip);
Expand All @@ -113,7 +111,6 @@ await client.CreateTopicAsync(Identifier.String(streamName), "Name Topic", 2,
Identifier.String("Name Topic"));

response.ShouldNotBeNull();
response.Id.ShouldBeGreaterThanOrEqualTo(0u);
response.Name.ShouldBe("Name Topic");
response.CompressionAlgorithm.ShouldBe(CompressionAlgorithm.Gzip);
response.Partitions!.Count().ShouldBe(2);
Expand Down Expand Up @@ -169,7 +166,6 @@ await client.SendMessagesAsync(Identifier.String(streamName),
Identifier.String("Parts Topic"));

response.ShouldNotBeNull();
response.Id.ShouldBeGreaterThanOrEqualTo(0u);
response.Name.ShouldBe("Parts Topic");
response.Partitions!.Count().ShouldBe(3);
response.Size.ShouldBeGreaterThan(0u);
Expand Down
14 changes: 6 additions & 8 deletions foreign/csharp/Iggy_SDK.Tests.Integration/UsersTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ public async Task GetUser_WithoutPermissions_Should_ReturnValidResponse(Protocol
var response = await client.GetUserAsync(Identifier.String(username));

response.ShouldNotBeNull();
response.Id.ShouldBeGreaterThanOrEqualTo(0u);
response.Username.ShouldBe(username);
response.Status.ShouldBe(UserStatus.Active);
response.CreatedAt.ShouldBeGreaterThan(0u);
Expand Down Expand Up @@ -109,7 +108,6 @@ public async Task UpdateUser_Should_UpdateUser_Successfully(Protocol protocol)
var user = await client.GetUserAsync(Identifier.String(newUsername));

user.ShouldNotBeNull();
user.Id.ShouldBeGreaterThanOrEqualTo(0u);
user.Username.ShouldBe(newUsername);
user.Status.ShouldBe(UserStatus.Active);
user.CreatedAt.ShouldBeGreaterThan(0u);
Expand Down Expand Up @@ -144,15 +142,15 @@ public async Task UpdatePermissions_Should_UpdatePermissions_Successfully(Protoc
user.Permissions.Global.ReadUsers.ShouldBeTrue();
user.Permissions.Global.SendMessages.ShouldBeTrue();
user.Permissions.Streams.ShouldNotBeNull();
user.Permissions.Streams.ShouldContainKey(1);
user.Permissions.Streams.ShouldContainKey(1u);
user.Permissions.Streams[1].ManageStream.ShouldBeTrue();
user.Permissions.Streams[1].ManageTopics.ShouldBeTrue();
user.Permissions.Streams[1].ReadStream.ShouldBeTrue();
user.Permissions.Streams[1].SendMessages.ShouldBeTrue();
user.Permissions.Streams[1].ReadTopics.ShouldBeTrue();
user.Permissions.Streams[1].PollMessages.ShouldBeTrue();
user.Permissions.Streams[1].Topics.ShouldNotBeNull();
user.Permissions.Streams[1].Topics!.ShouldContainKey(1);
user.Permissions.Streams[1].Topics!.ShouldContainKey(1u);
user.Permissions.Streams[1].Topics![1].ManageTopic.ShouldBeTrue();
user.Permissions.Streams[1].Topics![1].PollMessages.ShouldBeTrue();
user.Permissions.Streams[1].Topics![1].ReadTopic.ShouldBeTrue();
Expand All @@ -175,7 +173,7 @@ await Should.NotThrowAsync(client.ChangePasswordAsync(Identifier.String(username
var loginClient = await Fixture.CreateClient(protocol, true);
var loginResponse = await loginClient.LoginUserAsync(username, "new_password");
loginResponse.ShouldNotBeNull();
loginResponse.UserId.ShouldBeGreaterThan(0);
loginResponse.UserId.ShouldBeGreaterThan(0u);
}

[Test]
Expand Down Expand Up @@ -204,7 +202,7 @@ public async Task LoginUser_Should_LoginUser_Successfully(Protocol protocol)
var response = await loginClient.LoginUserAsync(username, "login_password");

response.ShouldNotBeNull();
response.UserId.ShouldBeGreaterThan(0);
response.UserId.ShouldBeGreaterThan(0u);
switch (protocol)
{
case Protocol.Tcp:
Expand Down Expand Up @@ -255,7 +253,7 @@ private static Permissions CreatePermissions()
ReadUsers = true,
SendMessages = true
},
Streams = new Dictionary<int, StreamPermissions>
Streams = new Dictionary<uint, StreamPermissions>
{
{
1, new StreamPermissions
Expand All @@ -266,7 +264,7 @@ private static Permissions CreatePermissions()
SendMessages = true,
ReadTopics = true,
PollMessages = true,
Topics = new Dictionary<int, TopicPermissions>
Topics = new Dictionary<uint, TopicPermissions>
{
{
1, new TopicPermissions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public async Task SendMessages_ToAnExplicitPartition_Should_PollBack_FromThatPar

var polled = await PollAsync(client, streamName, 2);
polled.Messages.Count.ShouldBe(5);
polled.PartitionId.ShouldBe(2);
polled.PartitionId.ShouldBe(2u);

(await PollAsync(client, streamName, 1)).Messages.ShouldBeEmpty();
}
Expand Down
5 changes: 5 additions & 0 deletions foreign/csharp/Iggy_SDK/Consumers/IggyConsumer.Logging.cs
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,11 @@ public partial class IggyConsumer
Message = "Waiting for {Remaining} milliseconds before polling messages")]
private partial void LogWaitingBeforePolling(long remaining);

[LoggerMessage(EventId = 203,
Level = LogLevel.Debug,
Message = "No partition assigned to this group member, backing off for {BackoffMs} milliseconds")]
private partial void LogNoPartitionAssignedBackingOff(int backoffMs);

[LoggerMessage(EventId = 301,
Level = LogLevel.Warning,
Message = "PartitionId is ignored when ConsumerType is ConsumerGroup")]
Expand Down
Loading
Loading