Skip to content

Commit a09e4ef

Browse files
committed
Clean up project
1 parent e64b7d0 commit a09e4ef

File tree

17 files changed

+359
-451
lines changed

17 files changed

+359
-451
lines changed

build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,14 @@ testing {
7777
"test"(JvmTestSuite::class) {
7878
dependencies {
7979
compileOnly(libs.jetbrains.annotations)
80+
implementation(libs.assertj)
8081
implementation(libs.mockito)
8182
}
8283
}
8384
"integrationTest"(JvmTestSuite::class) {
8485
dependencies {
8586
compileOnly(libs.jetbrains.annotations)
87+
implementation(libs.assertj)
8688
implementation(libs.awaitility)
8789
implementation(libs.testcontainers)
8890
implementation(libs.testcontainers.hivemq)

gradle/libs.versions.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
[versions]
2+
assertj = "3.27.3"
23
awaitility = "4.3.0"
34
azure-storage-blob = "12.30.1"
45
gradleOci-junitJupiter = "0.7.0"
@@ -11,6 +12,7 @@ owner = "1.0.12"
1112
testcontainers = "1.21.2"
1213

1314
[libraries]
15+
assertj = { module = "org.assertj:assertj-core", version.ref = "assertj" }
1416
awaitility = { module = "org.awaitility:awaitility", version.ref = "awaitility" }
1517
azure-storage-blob = { module = "com.azure:azure-storage-blob", version.ref = "azure-storage-blob" }
1618
gradleOci-junitJupiter = { module = "io.github.sgtsilvio:gradle-oci-junit-jupiter", version.ref = "gradleOci-junitJupiter" }

renovate.json5

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
"local>hivemq/renovate-config:default.json5",
55
],
66
addLabels: [
7-
"tooling-and-extensions-coordination",
7+
"integrations-team-coordination",
88
]
99
}

src/integrationTest/java/com/hivemq/extensions/cluster/discovery/azure/AzureDiscoveryExtensionIT.java

Lines changed: 82 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,7 @@
1616

1717
package com.hivemq.extensions.cluster.discovery.azure;
1818

19-
import com.azure.storage.blob.BlobClient;
20-
import com.azure.storage.blob.BlobContainerClient;
2119
import com.azure.storage.blob.BlobContainerClientBuilder;
22-
import com.azure.storage.blob.models.BlobItem;
2320
import io.github.sgtsilvio.gradle.oci.junit.jupiter.OciImages;
2421
import org.jetbrains.annotations.NotNull;
2522
import org.junit.jupiter.api.AfterEach;
@@ -34,15 +31,12 @@
3431
import org.testcontainers.utility.MountableFile;
3532

3633
import java.io.ByteArrayInputStream;
37-
import java.util.List;
3834
import java.util.concurrent.TimeoutException;
3935
import java.util.stream.Collectors;
4036

4137
import static java.util.concurrent.TimeUnit.SECONDS;
38+
import static org.assertj.core.api.Assertions.assertThat;
4239
import static org.awaitility.Awaitility.await;
43-
import static org.junit.jupiter.api.Assertions.assertEquals;
44-
import static org.junit.jupiter.api.Assertions.assertFalse;
45-
import static org.junit.jupiter.api.Assertions.assertTrue;
4640

4741
@SuppressWarnings("resource")
4842
class AzureDiscoveryExtensionIT {
@@ -53,32 +47,32 @@ class AzureDiscoveryExtensionIT {
5347
private static final @NotNull String BLOB_CONTAINER_NAME = "hivemq-discovery";
5448

5549
private final @NotNull Network network = Network.newNetwork();
56-
private final @NotNull GenericContainer<?> azureriteContainer =
50+
private final @NotNull GenericContainer<?> azuriteContainer =
5751
new GenericContainer<>(OciImages.getImageName("azure-storage/azurite")) //
5852
.withExposedPorts(AZURITE_PORT) //
5953
.withNetwork(network) //
6054
.withNetworkAliases(AZURITE_NETWORK_ALIAS);
6155

6256
@BeforeEach
6357
void setUp() {
64-
azureriteContainer.start();
58+
azuriteContainer.start();
6559
}
6660

6761
@AfterEach
6862
void tearDown() {
69-
azureriteContainer.stop();
63+
azuriteContainer.stop();
7064
network.close();
7165
}
7266

7367
@Test
7468
void threeNodesFormCluster() throws TimeoutException {
75-
final WaitingConsumer consumer1 = new WaitingConsumer();
76-
final WaitingConsumer consumer2 = new WaitingConsumer();
77-
final WaitingConsumer consumer3 = new WaitingConsumer();
69+
final var consumer1 = new WaitingConsumer();
70+
final var consumer2 = new WaitingConsumer();
71+
final var consumer3 = new WaitingConsumer();
7872

79-
final HiveMQContainer node1 = createHiveMQNode().withLogConsumer(consumer1);
80-
final HiveMQContainer node2 = createHiveMQNode().withLogConsumer(consumer2);
81-
final HiveMQContainer node3 = createHiveMQNode().withLogConsumer(consumer3);
73+
final var node1 = createHiveMQNode().withLogConsumer(consumer1);
74+
final var node2 = createHiveMQNode().withLogConsumer(consumer2);
75+
final var node3 = createHiveMQNode().withLogConsumer(consumer3);
8276

8377
try (node1; node2; node3) {
8478
node1.start();
@@ -93,114 +87,112 @@ void threeNodesFormCluster() throws TimeoutException {
9387

9488
@Test
9589
void twoNodesInCluster_oneNodeStarted_threeNodesInCluster() throws TimeoutException {
96-
final WaitingConsumer consumer1 = new WaitingConsumer();
97-
final WaitingConsumer consumer2 = new WaitingConsumer();
98-
final WaitingConsumer consumer3 = new WaitingConsumer();
99-
100-
final HiveMQContainer node1 = createHiveMQNode().withLogConsumer(consumer1);
101-
final HiveMQContainer node2 = createHiveMQNode().withLogConsumer(consumer2);
102-
final HiveMQContainer node3 = createHiveMQNode().withLogConsumer(consumer3);
90+
final var consumer1 = new WaitingConsumer();
91+
final var consumer2 = new WaitingConsumer();
92+
final var consumer3 = new WaitingConsumer();
10393

94+
final var node1 = createHiveMQNode().withLogConsumer(consumer1);
95+
final var node2 = createHiveMQNode().withLogConsumer(consumer2);
96+
final var node3 = createHiveMQNode().withLogConsumer(consumer3);
10497
try (node1; node2; node3) {
10598
node1.start();
10699
node2.start();
107-
108100
consumer1.waitUntil(frame -> frame.getUtf8String().contains("Cluster size = 2"), 30, SECONDS);
109101
consumer2.waitUntil(frame -> frame.getUtf8String().contains("Cluster size = 2"), 30, SECONDS);
110102

111103
node3.start();
112-
113104
consumer3.waitUntil(frame -> frame.getUtf8String().contains("Cluster size = 3"), 300, SECONDS);
114105
}
115106
}
116107

117108
@Test
118109
void twoNodesInCluster_oneNodeCannotReachAzure_nodeFileDeleted() throws TimeoutException {
119-
final ToxiproxyContainer toxiproxy = new ToxiproxyContainer(OciImages.getImageName("shopify/toxiproxy")) //
110+
final var toxiproxy = new ToxiproxyContainer(OciImages.getImageName("shopify/toxiproxy")) //
120111
.withNetwork(network).withNetworkAliases(TOXIPROXY_NETWORK_ALIAS);
121112
try (toxiproxy) {
122113
toxiproxy.start();
123114

124-
final ToxiproxyContainer.ContainerProxy proxy = toxiproxy.getProxy(azureriteContainer, AZURITE_PORT);
125-
final String toxiproxyConnectionString = createAzuriteConnectionString(TOXIPROXY_NETWORK_ALIAS, proxy.getOriginalProxyPort());
115+
final var proxy = toxiproxy.getProxy(azuriteContainer, AZURITE_PORT);
116+
final var toxiproxyConnectionString =
117+
createAzuriteConnectionString(TOXIPROXY_NETWORK_ALIAS, proxy.getOriginalProxyPort());
126118

127-
final WaitingConsumer toxicConsumer = new WaitingConsumer();
128-
final WaitingConsumer normalConsumer = new WaitingConsumer();
129-
130-
final HiveMQContainer toxicNode =
131-
createHiveMQNode(toxiproxyConnectionString).withLogConsumer(toxicConsumer);
132-
final HiveMQContainer normalNode = createHiveMQNode().withLogConsumer(normalConsumer);
119+
final var toxicConsumer = new WaitingConsumer();
120+
final var normalConsumer = new WaitingConsumer();
133121

122+
final var toxicNode = createHiveMQNode(toxiproxyConnectionString).withLogConsumer(toxicConsumer);
123+
final var normalNode = createHiveMQNode().withLogConsumer(normalConsumer);
134124
try (toxicNode; normalNode) {
135125
toxicNode.start();
136126
normalNode.start();
137-
138127
toxicConsumer.waitUntil(frame -> frame.getUtf8String().contains("Cluster size = 2"), 30, SECONDS);
139128
normalConsumer.waitUntil(frame -> frame.getUtf8String().contains("Cluster size = 2"), 30, SECONDS);
140129

141-
proxy.setConnectionCut(true); // toxicNode now cannot update its node file
130+
// toxicNode now cannot update its node file
131+
proxy.setConnectionCut(true);
142132

143-
final BlobContainerClient blobContainerClient = new BlobContainerClientBuilder().connectionString(createHostAzuriteConnectionString())
144-
.containerName(BLOB_CONTAINER_NAME)
145-
.buildClient();
146-
147-
await().pollInterval(1, SECONDS).atMost(60, SECONDS).until(() -> blobContainerClient.listBlobs().stream().count() == 1);
133+
final var blobContainerClient =
134+
new BlobContainerClientBuilder().connectionString(createHostAzuriteConnectionString())
135+
.containerName(BLOB_CONTAINER_NAME)
136+
.buildClient();
137+
await().pollInterval(1, SECONDS)
138+
.atMost(60, SECONDS)
139+
.until(() -> blobContainerClient.listBlobs().stream().count() == 1);
148140
}
149141
}
150142
}
151143

152144
@Test
153145
void threeNodesInCluster_oneNodeStopped_twoNodesInCluster() throws TimeoutException {
154-
final WaitingConsumer consumer1 = new WaitingConsumer();
155-
final WaitingConsumer consumer2 = new WaitingConsumer();
156-
final WaitingConsumer consumer3 = new WaitingConsumer();
157-
158-
final HiveMQContainer node1 = createHiveMQNode().withLogConsumer(consumer1);
159-
final HiveMQContainer node2 = createHiveMQNode().withLogConsumer(consumer2);
160-
final HiveMQContainer node3 = createHiveMQNode().withLogConsumer(consumer3);
146+
final var consumer1 = new WaitingConsumer();
147+
final var consumer2 = new WaitingConsumer();
148+
final var consumer3 = new WaitingConsumer();
161149

150+
final var node1 = createHiveMQNode().withLogConsumer(consumer1);
151+
final var node2 = createHiveMQNode().withLogConsumer(consumer2);
152+
final var node3 = createHiveMQNode().withLogConsumer(consumer3);
162153
try (node1; node2; node3) {
163154
node1.start();
164155
node2.start();
165156
node3.start();
166-
167157
consumer1.waitUntil(frame -> frame.getUtf8String().contains("Cluster size = 3"), 30, SECONDS);
168158
consumer2.waitUntil(frame -> frame.getUtf8String().contains("Cluster size = 3"), 30, SECONDS);
169159
consumer3.waitUntil(frame -> frame.getUtf8String().contains("Cluster size = 3"), 30, SECONDS);
170160

171161
node3.stop();
172-
173162
consumer1.waitUntil(frame -> frame.getUtf8String().contains("Cluster size = 2"), 30, SECONDS, 2);
174163
consumer2.waitUntil(frame -> frame.getUtf8String().contains("Cluster size = 2"), 30, SECONDS, 2);
175164

176-
final BlobContainerClient blobContainerClient = new BlobContainerClientBuilder().connectionString(createHostAzuriteConnectionString())
177-
.containerName(BLOB_CONTAINER_NAME)
178-
.buildClient();
179-
180-
final List<BlobItem> blobs = blobContainerClient.listBlobs().stream().collect(Collectors.toList());
181-
182-
assertEquals(3, blobs.size()); // Blob did not yet expire
165+
final var blobContainerClient =
166+
new BlobContainerClientBuilder().connectionString(createHostAzuriteConnectionString())
167+
.containerName(BLOB_CONTAINER_NAME)
168+
.buildClient();
169+
// blob did not yet expire
170+
final var blobs = blobContainerClient.listBlobs().stream().collect(Collectors.toList());
171+
assertThat(blobs.size()).isEqualTo(3);
183172
}
184173
}
185174

186175
@Test
176+
@SuppressWarnings("HttpUrlsUsage")
187177
void wrongConnectionString_reloadRightConnectionString_clusterCreated() throws TimeoutException {
188-
final String wrongConnectionString = "DefaultEndpointsProtocol=http;" + //
178+
final var wrongConnectionString = "DefaultEndpointsProtocol=http;" +
189179
"AccountName=devstoreaccount1;" +
190180
"AccountKey=XXX8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;" +
191-
"BlobEndpoint=http://" + AZURITE_NETWORK_ALIAS + ":" + AZURITE_PORT + "/devstoreaccount1";
192-
193-
final WaitingConsumer consumer = new WaitingConsumer();
181+
"BlobEndpoint=http://" +
182+
AZURITE_NETWORK_ALIAS +
183+
":" +
184+
AZURITE_PORT +
185+
"/devstoreaccount1";
194186

195-
final HiveMQContainer reloadingNode = createHiveMQNode(wrongConnectionString).withLogConsumer(consumer);
196-
final HiveMQContainer normalNode = createHiveMQNode();
187+
final var consumer = new WaitingConsumer();
197188

189+
final var reloadingNode = createHiveMQNode(wrongConnectionString).withLogConsumer(consumer);
190+
final var normalNode = createHiveMQNode();
198191
try (reloadingNode; normalNode) {
199192
reloadingNode.start();
200193
normalNode.start();
201194

202-
reloadingNode.copyFileToContainer(
203-
Transferable.of(createConfig(createDockerAzuriteConnectionString()).getBytes()),
195+
reloadingNode.copyFileToContainer(Transferable.of(createConfig(createDockerAzuriteConnectionString()).getBytes()),
204196
"/opt/hivemq/extensions/hivemq-azure-cluster-discovery-extension/azDiscovery.properties");
205197

206198
consumer.waitUntil(frame -> frame.getUtf8String().contains("Cluster size = 2"), 90, SECONDS);
@@ -209,47 +201,51 @@ void wrongConnectionString_reloadRightConnectionString_clusterCreated() throws T
209201

210202
@Test
211203
void containerNotExisting_nodeStarted_containerCreated() {
212-
final BlobContainerClient blobContainerClient = new BlobContainerClientBuilder().connectionString(createHostAzuriteConnectionString())
213-
.containerName(BLOB_CONTAINER_NAME)
214-
.buildClient();
215-
216-
assertFalse(blobContainerClient.exists());
217-
218-
final HiveMQContainer node = createHiveMQNode();
204+
final var blobContainerClient =
205+
new BlobContainerClientBuilder().connectionString(createHostAzuriteConnectionString())
206+
.containerName(BLOB_CONTAINER_NAME)
207+
.buildClient();
208+
assertThat(blobContainerClient.exists()).isFalse();
219209

210+
final var node = createHiveMQNode();
220211
try (node) {
221212
node.start();
222-
223-
assertTrue(blobContainerClient.exists());
213+
assertThat(blobContainerClient.exists()).isTrue();
224214
}
225215
}
226216

227217
@Test
228218
void containerExisting_nodeStarted_containerUsed() {
229-
final BlobContainerClient blobContainerClient = new BlobContainerClientBuilder().connectionString(createHostAzuriteConnectionString())
230-
.containerName(BLOB_CONTAINER_NAME)
231-
.buildClient();
232-
final BlobClient blob = blobContainerClient.getBlobClient("blob");
219+
final var blobContainerClient =
220+
new BlobContainerClientBuilder().connectionString(createHostAzuriteConnectionString())
221+
.containerName(BLOB_CONTAINER_NAME)
222+
.buildClient();
223+
final var blob = blobContainerClient.getBlobClient("blob");
233224
blobContainerClient.create();
234225
blob.upload(new ByteArrayInputStream("Test".getBytes()), "Test".getBytes().length);
235226

236-
final WaitingConsumer consumer = new WaitingConsumer();
237-
238-
final HiveMQContainer node = createHiveMQNode().withLogConsumer(consumer);
227+
final var consumer = new WaitingConsumer();
239228

229+
final var node = createHiveMQNode().withLogConsumer(consumer);
240230
try (node) {
241231
node.start();
242232

243-
final List<BlobItem> blobs = blobContainerClient.listBlobs().stream().collect(Collectors.toList());
244-
assertEquals(2, blobs.size());
233+
final var blobs = blobContainerClient.listBlobs().stream().collect(Collectors.toList());
234+
assertThat(blobs.size()).isEqualTo(2);
245235
}
246236
}
247237

238+
@SuppressWarnings("HttpUrlsUsage")
248239
private @NotNull String createAzuriteConnectionString(final @NotNull String host, final int port) {
249-
return "DefaultEndpointsProtocol=http;" + //
240+
return "DefaultEndpointsProtocol=http;" +
241+
//
250242
"AccountName=devstoreaccount1;" +
251243
"AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;" +
252-
"BlobEndpoint=http://" + host + ":" + port + "/devstoreaccount1";
244+
"BlobEndpoint=http://" +
245+
host +
246+
":" +
247+
port +
248+
"/devstoreaccount1";
253249
}
254250

255251
private @NotNull String createDockerAzuriteConnectionString() {
@@ -265,7 +261,7 @@ void containerExisting_nodeStarted_containerUsed() {
265261
}
266262

267263
private @NotNull String createHostAzuriteConnectionString() {
268-
return createAzuriteConnectionString("127.0.0.1", azureriteContainer.getMappedPort(AZURITE_PORT));
264+
return createAzuriteConnectionString("127.0.0.1", azuriteContainer.getMappedPort(AZURITE_PORT));
269265
}
270266

271267
private @NotNull HiveMQContainer createHiveMQNode(final @NotNull String connectionString) {

src/integrationTest/resources/config.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
1818
-->
1919
<hivemq>
20-
2120
<listeners>
2221
<tcp-listener>
2322
<port>1883</port>
@@ -34,5 +33,4 @@
3433
<extension/>
3534
</discovery>
3635
</cluster>
37-
38-
</hivemq>
36+
</hivemq>

src/integrationTest/resources/logback-test.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
1717
-->
1818
<configuration>
19-
2019
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
2120
<encoder>
2221
<pattern>%-30(%d %level)- %msg%n%ex</pattern>
@@ -30,5 +29,4 @@
3029
<!-- silence test containers (https://www.testcontainers.org/supported_docker_environment/logging_config/) -->
3130
<logger name="org.testcontainers" level="INFO"/>
3231
<logger name="com.github.dockerjava" level="WARN"/>
33-
34-
</configuration>
32+
</configuration>

0 commit comments

Comments
 (0)