From 91fd31a85cc3def3dc11b64ec8150267898741c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Prante?= Date: Fri, 7 Mar 2025 16:02:34 +0100 Subject: [PATCH] add test for reading the systemd-journal-gateway --- gradle/test/junit5.gradle | 1 + .../src/test/java/module-info.java | 7 ++++ .../event/stream/test/EventStreamTest.java | 34 +++++++++++++++++++ settings.gradle | 1 + 4 files changed, 43 insertions(+) create mode 100644 net-http-client-event-stream/src/test/java/module-info.java create mode 100644 net-http-client-event-stream/src/test/java/org/xbib/net/http/client/event/stream/test/EventStreamTest.java diff --git a/gradle/test/junit5.gradle b/gradle/test/junit5.gradle index a0d2b6f..79ccc6d 100644 --- a/gradle/test/junit5.gradle +++ b/gradle/test/junit5.gradle @@ -18,6 +18,7 @@ test { '--add-opens=java.base/java.nio=ALL-UNNAMED', '--add-opens=java.base/java.util=ALL-UNNAMED' systemProperty 'java.util.logging.config.file', 'src/test/resources/logging.properties' + systemProperty 'java.net.preferIPv6Addresses', 'true' systemProperty 'io.netty.tryReflectionSetAccessible', 'false' systemProperty 'io.netty.allocator.typ', 'pooled' systemProperty 'io.netty.noUnsafe', 'true' diff --git a/net-http-client-event-stream/src/test/java/module-info.java b/net-http-client-event-stream/src/test/java/module-info.java new file mode 100644 index 0000000..fb45ee3 --- /dev/null +++ b/net-http-client-event-stream/src/test/java/module-info.java @@ -0,0 +1,7 @@ +module org.xbib.net.http.client.event.stream.test { + requires java.logging; + requires java.net.http; + requires transitive org.junit.jupiter.api; + exports org.xbib.net.http.client.event.stream.test; + opens org.xbib.net.http.client.event.stream.test; +} diff --git a/net-http-client-event-stream/src/test/java/org/xbib/net/http/client/event/stream/test/EventStreamTest.java b/net-http-client-event-stream/src/test/java/org/xbib/net/http/client/event/stream/test/EventStreamTest.java new file mode 100644 index 0000000..dd91140 --- /dev/null +++ b/net-http-client-event-stream/src/test/java/org/xbib/net/http/client/event/stream/test/EventStreamTest.java @@ -0,0 +1,34 @@ +package org.xbib.net.http.client.event.stream.test; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; +import java.util.logging.Level; +import java.util.logging.Logger; + +@Disabled +public class EventStreamTest { + + private static final Logger logger = Logger.getLogger(EventStreamTest.class.getName()); + + @Test + void testSimpleJournalGateway() throws URISyntaxException, IOException, InterruptedException { + var uri = new URI("http://localhost:19531/entries?follow"); + try (var client = HttpClient.newHttpClient()) { + var request = HttpRequest.newBuilder(uri) + .GET() + .header("Accept", "text/event-stream") + .header("Cache-Control", "no-cache") + .header("Range", "entries=:-1:") + .build(); + var lines = client.send(request, HttpResponse.BodyHandlers.ofLines()).body(); + lines.forEach(line -> logger.log(Level.INFO, line)); + } + } +} diff --git a/settings.gradle b/settings.gradle index de2f197..f1efa10 100644 --- a/settings.gradle +++ b/settings.gradle @@ -46,6 +46,7 @@ dependencyResolutionManagement { include 'net-http' include 'net-http-client' +include 'net-http-client-event-stream' include 'net-http-client-simple' include 'net-http-client-netty' include 'net-http-client-netty-secure'