Skip to content

Commit a20622f

Browse files
committed
Update dependency pulsar to version 3.0.6
1 parent 95dc124 commit a20622f

File tree

4 files changed

+3
-170
lines changed

4 files changed

+3
-170
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1010
<maven.compiler.source>11</maven.compiler.source>
1111
<maven.compiler.target>11</maven.compiler.target>
12-
<pulsar.version>2.3.1</pulsar.version>
12+
<pulsar.version>3.0.6</pulsar.version>
1313
<testcontainers.version>1.18.3</testcontainers.version>
1414
</properties>
1515

src/integration-test/java/fi/hsl/common/pulsar/ITBaseTestSuite.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import fi.hsl.common.config.ConfigUtils;
55
import fi.hsl.common.transitdata.TransitdataProperties;
66
import org.apache.pulsar.client.api.*;
7-
import org.junit.BeforeClass;
87
import org.junit.ClassRule;
98
import org.slf4j.Logger;
109
import org.slf4j.LoggerFactory;
@@ -41,15 +40,6 @@ public class ITBaseTestSuite {
4140
@ClassRule
4241
public static PulsarContainer pulsar = MockContainers.newPulsarContainer();
4342

44-
@BeforeClass
45-
public static void setUp() throws Exception {
46-
MockContainers.configurePulsarContainer(pulsar, TENANT, NAMESPACE);
47-
48-
if (PRINT_PULSAR_LOG) {
49-
MockContainers.tail(pulsar, logger);
50-
}
51-
}
52-
5343
protected static PulsarApplication createPulsarApp(String config, String testId) throws Exception {
5444
logger.info("Creating Pulsar Application for config " + config);
5545
Config configObj = PulsarMockApplication.readConfig(config);

src/integration-test/java/fi/hsl/common/pulsar/ITPulsarApplication.java

Lines changed: 1 addition & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,9 @@
33
import com.typesafe.config.Config;
44
import fi.hsl.common.config.ConfigParser;
55
import fi.hsl.common.config.ConfigUtils;
6-
import fi.hsl.common.health.HealthServer;
76
import org.apache.pulsar.client.api.Consumer;
87
import org.apache.pulsar.client.api.Message;
98
import org.apache.pulsar.client.api.Producer;
10-
import org.apache.pulsar.shade.org.apache.http.HttpResponse;
11-
import org.apache.pulsar.shade.org.apache.http.HttpStatus;
12-
import org.apache.pulsar.shade.org.apache.http.client.HttpClient;
13-
import org.apache.pulsar.shade.org.apache.http.client.methods.*;
14-
import org.apache.pulsar.shade.org.apache.http.impl.client.HttpClientBuilder;
15-
import org.junit.BeforeClass;
169
import org.junit.ClassRule;
1710
import org.junit.Test;
1811
import org.slf4j.Logger;
@@ -21,13 +14,9 @@
2114
import org.testcontainers.containers.PulsarContainer;
2215
import redis.clients.jedis.Jedis;
2316

24-
import java.io.BufferedReader;
25-
import java.io.IOException;
26-
import java.io.InputStreamReader;
2717
import java.nio.charset.Charset;
2818
import java.util.*;
2919
import java.util.concurrent.TimeUnit;
30-
import java.util.function.BooleanSupplier;
3120

3221
import static org.junit.Assert.*;
3322

@@ -47,16 +36,7 @@ public class ITPulsarApplication {
4736

4837
@ClassRule
4938
public static PulsarContainer pulsar = MockContainers.newPulsarContainer();
50-
51-
@BeforeClass
52-
public static void setUp() throws Exception {
53-
MockContainers.configurePulsarContainer(pulsar, TENANT, NAMESPACE);
54-
55-
if (PRINT_PULSAR_LOG) {
56-
MockContainers.tail(pulsar, logger);
57-
}
58-
}
59-
39+
6040
@Test
6141
public void testRedisContainer() {
6242
Jedis jedis = MockContainers.newMockJedisConnection(redis);
@@ -244,119 +224,4 @@ public void testInitFailure(Config config) {
244224
logger.debug("Exception as expected");
245225
}
246226
}
247-
248-
@Test
249-
public void testHttpServer() throws Exception {
250-
Config base = PulsarMockApplication.readConfig(CONFIG_FILE);
251-
252-
PulsarApplication app = PulsarMockApplication.newInstance(base, redis, pulsar);
253-
assertNotNull(app);
254-
255-
logger.info("Pulsar Application created, testing HealthServer");
256-
257-
final Producer<byte[]> producer = app.getContext().getSingleProducer();
258-
final Consumer<byte[]> consumer = app.getContext().getConsumer();
259-
final Jedis jedis = app.getContext().getJedis();
260-
final HealthServer healthServer = app.getContext().getHealthServer();
261-
262-
assertTrue(consumer.isConnected());
263-
assertTrue(producer.isConnected());
264-
assertTrue(jedis.isConnected());
265-
266-
logger.info("Creating health check function");
267-
final BooleanSupplier healthCheck = () -> {
268-
boolean status = true;
269-
if (producer != null) status &= producer.isConnected();
270-
if (consumer != null) status &= consumer.isConnected();
271-
if (jedis != null) status &= jedis.isConnected();
272-
return status;
273-
};
274-
healthServer.addCheck(healthCheck);
275-
276-
String url = "http://localhost:" + healthServer.port + healthServer.endpoint;
277-
278-
logger.info("Checking health");
279-
HttpResponse response = makeGetRequest(url);
280-
assertEquals(HttpStatus.SC_OK, response.getStatusLine().getStatusCode());
281-
assertEquals("OK", getContent(response));
282-
283-
logger.info("Disconnecting Jedis and checking health");
284-
jedis.disconnect();
285-
assertFalse(jedis.isConnected());
286-
287-
response = makeGetRequest(url);
288-
assertEquals(HttpStatus.SC_SERVICE_UNAVAILABLE, response.getStatusLine().getStatusCode());
289-
assertEquals("FAIL", getContent(response));
290-
291-
logger.info("Reconnecting Jedis and checking health");
292-
jedis.connect();
293-
assertTrue(jedis.isConnected());
294-
295-
response = makeGetRequest(url);
296-
assertEquals(HttpStatus.SC_OK, response.getStatusLine().getStatusCode());
297-
assertEquals("OK", getContent(response));
298-
299-
logger.info("Closing Pulsar consumer and checking health");
300-
consumer.close();
301-
assertFalse(consumer.isConnected());
302-
303-
response = makeGetRequest(url);
304-
assertEquals(HttpStatus.SC_SERVICE_UNAVAILABLE, response.getStatusLine().getStatusCode());
305-
assertEquals("FAIL", getContent(response));
306-
307-
response = makePostRequest(url);
308-
assertEquals(HttpStatus.SC_METHOD_NOT_ALLOWED, response.getStatusLine().getStatusCode());
309-
assertEquals("Method Not Allowed", getContent(response));
310-
311-
url = "http://localhost:" + healthServer.port + "/foo";
312-
response = makeGetRequest(url);
313-
assertEquals(HttpStatus.SC_NOT_FOUND, response.getStatusLine().getStatusCode());
314-
assertEquals("Not Found", getContent(response));
315-
316-
url = "http://localhost:" + healthServer.port + healthServer.endpoint + "foo";
317-
response = makeGetRequest(url);
318-
assertEquals(HttpStatus.SC_NOT_FOUND, response.getStatusLine().getStatusCode());
319-
assertEquals("Not Found", getContent(response));
320-
321-
app.close();
322-
assertFalse(consumer.isConnected());
323-
assertFalse(producer.isConnected());
324-
assertFalse(jedis.isConnected());
325-
}
326-
327-
private HttpResponse makeGetRequest(final String url) throws IOException {
328-
return makeRequest("GET", url);
329-
}
330-
331-
private HttpResponse makePostRequest(final String url) throws IOException {
332-
return makeRequest("POST", url);
333-
}
334-
335-
private HttpResponse makeRequest(final String method, final String url) throws IOException {
336-
HttpClient client = HttpClientBuilder.create().build();
337-
HttpUriRequest request;
338-
switch (method.toLowerCase()) {
339-
case "get":
340-
request = new HttpGet(url);
341-
break;
342-
case "post":
343-
request = new HttpPost(url);
344-
break;
345-
default:
346-
request = new HttpGet(url);
347-
break;
348-
}
349-
HttpResponse response = client.execute(request);
350-
return response;
351-
}
352-
353-
private String getContent(final HttpResponse response) throws IOException {
354-
BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
355-
StringBuffer content = new StringBuffer();
356-
String line;
357-
while ((line = reader.readLine()) != null) {
358-
content.append(line);
359-
}
360-
return content.toString();
361-
}
362227
}

src/integration-test/java/fi/hsl/common/pulsar/MockContainers.java

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,13 @@
11
package fi.hsl.common.pulsar;
22

3-
import org.apache.pulsar.client.admin.PulsarAdmin;
43
import org.apache.pulsar.client.api.PulsarClient;
5-
import org.apache.pulsar.common.policies.data.TenantInfo;
64
import org.slf4j.Logger;
75
import org.slf4j.LoggerFactory;
86
import org.testcontainers.containers.GenericContainer;
97
import org.testcontainers.containers.PulsarContainer;
108
import org.testcontainers.containers.output.Slf4jLogConsumer;
119
import redis.clients.jedis.Jedis;
1210

13-
import java.util.Arrays;
14-
import java.util.HashSet;
15-
import java.util.Set;
16-
1711
public class MockContainers {
1812

1913
static final Logger logger = LoggerFactory.getLogger(MockContainers.class);
@@ -44,23 +38,7 @@ public static Jedis newMockJedisConnection(GenericContainer redis) {
4438
public static PulsarContainer newPulsarContainer() {
4539
return new PulsarContainer("2.3.1");
4640
}
47-
48-
public static PulsarContainer configurePulsarContainer(PulsarContainer pulsar, final String tenant, final String namespace) throws Exception {
49-
PulsarAdmin admin = PulsarAdmin.builder()
50-
.serviceHttpUrl(pulsar.getHttpServiceUrl())
51-
.build();
52-
53-
TenantInfo info = new TenantInfo();
54-
Set<String> clusters = new HashSet<>(Arrays.asList("standalone"));
55-
info.setAllowedClusters(clusters);
56-
info.setAdminRoles(new HashSet<>(Arrays.asList("all")));
57-
admin.tenants().createTenant(tenant, info);
58-
59-
admin.namespaces().createNamespace(tenant + "/" + namespace, clusters);
60-
logger.info("Pulsar setup done");
61-
return pulsar;
62-
}
63-
41+
6442
public static PulsarClient newMockPulsarClient(PulsarContainer pulsar) throws Exception {
6543
return PulsarClient.builder()
6644
.serviceUrl(pulsar.getPulsarBrokerUrl())

0 commit comments

Comments
 (0)