Skip to content

Commit 42b3ae8

Browse files
buschesHaarolean
andauthored
BE: Fix KafkaConsumerGroupTests on Windows (#261)
Co-authored-by: Roman Zabaluev <gpg@haarolean.dev>
1 parent 7720cc2 commit 42b3ae8

File tree

3 files changed

+53
-47
lines changed

3 files changed

+53
-47
lines changed

api/src/test/java/io/kafbat/ui/KafkaConsumerGroupTests.java

Lines changed: 33 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import java.util.List;
1111
import java.util.Properties;
1212
import java.util.UUID;
13-
import java.util.stream.Collectors;
1413
import java.util.stream.Stream;
1514
import lombok.extern.slf4j.Slf4j;
1615
import lombok.val;
@@ -32,7 +31,6 @@ public class KafkaConsumerGroupTests extends AbstractIntegrationTest {
3231
@Test
3332
void shouldNotFoundWhenNoSuchConsumerGroupId() {
3433
String groupId = "groupA";
35-
String expError = "The group id does not exist";
3634
webTestClient
3735
.delete()
3836
.uri("/api/clusters/{clusterName}/consumer-groups/{groupId}", LOCAL, groupId)
@@ -47,12 +45,13 @@ void shouldOkWhenConsumerGroupIsNotActive() {
4745

4846
//Create a consumer and subscribe to the topic
4947
String groupId = UUID.randomUUID().toString();
50-
val consumer = createTestConsumerWithGroupId(groupId);
51-
consumer.subscribe(List.of(topicName));
52-
consumer.poll(Duration.ofMillis(100));
48+
try (val consumer = createTestConsumerWithGroupId(groupId)) {
49+
consumer.subscribe(List.of(topicName));
50+
consumer.poll(Duration.ofMillis(100));
5351

54-
//Unsubscribe from all topics to be able to delete this consumer
55-
consumer.unsubscribe();
52+
//Unsubscribe from all topics to be able to delete this consumer
53+
consumer.unsubscribe();
54+
}
5655

5756
//Delete the consumer when it's INACTIVE and check
5857
webTestClient
@@ -69,24 +68,24 @@ void shouldBeBadRequestWhenConsumerGroupIsActive() {
6968

7069
//Create a consumer and subscribe to the topic
7170
String groupId = UUID.randomUUID().toString();
72-
val consumer = createTestConsumerWithGroupId(groupId);
73-
consumer.subscribe(List.of(topicName));
74-
consumer.poll(Duration.ofMillis(100));
71+
try (val consumer = createTestConsumerWithGroupId(groupId)) {
72+
consumer.subscribe(List.of(topicName));
73+
consumer.poll(Duration.ofMillis(100));
7574

76-
//Try to delete the consumer when it's ACTIVE
77-
String expError = "The group is not empty";
78-
webTestClient
79-
.delete()
80-
.uri("/api/clusters/{clusterName}/consumer-groups/{groupId}", LOCAL, groupId)
81-
.exchange()
82-
.expectStatus()
83-
.isBadRequest();
75+
//Try to delete the consumer when it's ACTIVE
76+
webTestClient
77+
.delete()
78+
.uri("/api/clusters/{clusterName}/consumer-groups/{groupId}", LOCAL, groupId)
79+
.exchange()
80+
.expectStatus()
81+
.isBadRequest();
82+
}
8483
}
8584

8685
@Test
8786
void shouldReturnConsumerGroupsWithPagination() throws Exception {
88-
try (var groups1 = startConsumerGroups(3, "cgPageTest1");
89-
var groups2 = startConsumerGroups(2, "cgPageTest2")) {
87+
try (var ignored = startConsumerGroups(3, "cgPageTest1");
88+
var ignored1 = startConsumerGroups(2, "cgPageTest2")) {
9089
webTestClient
9190
.get()
9291
.uri("/api/clusters/{clusterName}/consumer-groups/paged?perPage=3&search=cgPageTest", LOCAL)
@@ -114,19 +113,19 @@ void shouldReturnConsumerGroupsWithPagination() throws Exception {
114113
});
115114

116115
webTestClient
117-
.get()
118-
.uri("/api/clusters/{clusterName}/consumer-groups/paged?perPage=10&&search"
119-
+ "=cgPageTest&orderBy=NAME&sortOrder=DESC", LOCAL)
120-
.exchange()
121-
.expectStatus()
122-
.isOk()
123-
.expectBody(ConsumerGroupsPageResponseDTO.class)
124-
.value(page -> {
125-
assertThat(page.getPageCount()).isEqualTo(1);
126-
assertThat(page.getConsumerGroups().size()).isEqualTo(5);
127-
assertThat(page.getConsumerGroups())
128-
.isSortedAccordingTo(Comparator.comparing(ConsumerGroupDTO::getGroupId).reversed());
129-
});
116+
.get()
117+
.uri("/api/clusters/{clusterName}/consumer-groups/paged?perPage=10&&search"
118+
+ "=cgPageTest&orderBy=NAME&sortOrder=DESC", LOCAL)
119+
.exchange()
120+
.expectStatus()
121+
.isOk()
122+
.expectBody(ConsumerGroupsPageResponseDTO.class)
123+
.value(page -> {
124+
assertThat(page.getPageCount()).isEqualTo(1);
125+
assertThat(page.getConsumerGroups().size()).isEqualTo(5);
126+
assertThat(page.getConsumerGroups())
127+
.isSortedAccordingTo(Comparator.comparing(ConsumerGroupDTO::getGroupId).reversed());
128+
});
130129

131130
webTestClient
132131
.get()
@@ -156,7 +155,7 @@ private Closeable startConsumerGroups(int count, String consumerGroupPrefix) {
156155
return consumer;
157156
})
158157
.limit(count)
159-
.collect(Collectors.toList());
158+
.toList();
160159
return () -> {
161160
consumers.forEach(KafkaConsumer::close);
162161
deleteTopic(topicName);

api/src/test/java/io/kafbat/ui/service/acl/AclCsvTest.java

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import io.kafbat.ui.exception.ValidationException;
77
import java.util.Collection;
88
import java.util.List;
9+
import java.util.stream.Stream;
910
import org.apache.kafka.common.acl.AccessControlEntry;
1011
import org.apache.kafka.common.acl.AclBinding;
1112
import org.apache.kafka.common.acl.AclOperation;
@@ -15,6 +16,8 @@
1516
import org.apache.kafka.common.resource.ResourceType;
1617
import org.junit.jupiter.api.Test;
1718
import org.junit.jupiter.params.ParameterizedTest;
19+
import org.junit.jupiter.params.provider.Arguments;
20+
import org.junit.jupiter.params.provider.MethodSource;
1821
import org.junit.jupiter.params.provider.ValueSource;
1922

2023
class AclCsvTest {
@@ -29,22 +32,26 @@ class AclCsvTest {
2932
);
3033

3134
@ParameterizedTest
32-
@ValueSource(strings = {
33-
"Principal,ResourceType, PatternType, ResourceName,Operation,PermissionType,Host\n"
34-
+ "User:test1,TOPIC,LITERAL,*,READ,ALLOW,*\n"
35-
+ "User:test2,GROUP,PREFIXED,group1,DESCRIBE,DENY,localhost",
36-
37-
//without header
38-
"User:test1,TOPIC,LITERAL,*,READ,ALLOW,*\n"
39-
+ "\n"
40-
+ "User:test2,GROUP,PREFIXED,group1,DESCRIBE,DENY,localhost"
41-
+ "\n"
42-
})
35+
@MethodSource
4336
void parsesValidInputCsv(String csvString) {
4437
Collection<AclBinding> parsed = AclCsv.parseCsv(csvString);
4538
assertThat(parsed).containsExactlyInAnyOrderElementsOf(TEST_BINDINGS);
4639
}
4740

41+
private static Stream<Arguments> parsesValidInputCsv() {
42+
return Stream.of(
43+
Arguments.of(
44+
"Principal,ResourceType, PatternType, ResourceName,Operation,PermissionType,Host" + System.lineSeparator()
45+
+ "User:test1,TOPIC,LITERAL,*,READ,ALLOW,*" + System.lineSeparator()
46+
+ "User:test2,GROUP,PREFIXED,group1,DESCRIBE,DENY,localhost"),
47+
Arguments.of(
48+
//without header
49+
"User:test1,TOPIC,LITERAL,*,READ,ALLOW,*" + System.lineSeparator()
50+
+ System.lineSeparator()
51+
+ "User:test2,GROUP,PREFIXED,group1,DESCRIBE,DENY,localhost"
52+
+ System.lineSeparator()));
53+
}
54+
4855
@ParameterizedTest
4956
@ValueSource(strings = {
5057
// columns > 7

api/src/test/java/io/kafbat/ui/service/acl/AclsServiceTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ void testSyncAclWithAclCsv() {
6868

6969
aclsService.syncAclWithAclCsv(
7070
CLUSTER,
71-
"Principal,ResourceType, PatternType, ResourceName,Operation,PermissionType,Host\n"
72-
+ "User:test1,TOPIC,LITERAL,*,READ,ALLOW,*\n"
71+
"Principal,ResourceType, PatternType, ResourceName,Operation,PermissionType,Host" + System.lineSeparator()
72+
+ "User:test1,TOPIC,LITERAL,*,READ,ALLOW,*" + System.lineSeparator()
7373
+ "User:test3,GROUP,PREFIXED,groupNew,DESCRIBE,DENY,localhost"
7474
).block();
7575

0 commit comments

Comments
 (0)