This is an automated email from the ASF dual-hosted git repository.
sergehuber pushed a commit to branch UNOMI-139-878-integration-tests
in repository https://gitbox.apache.org/repos/asf/unomi.git
The following commit(s) were added to
refs/heads/UNOMI-139-878-integration-tests by this push:
new 958d2fb2f UNOMI-139: Fix TenantIT and EventsCollectorIT integration
failures
958d2fb2f is described below
commit 958d2fb2f6fecbc4de35addda302eb9f8927a237
Author: Serge Huber <[email protected]>
AuthorDate: Tue May 19 16:53:25 2026 +0200
UNOMI-139: Fix TenantIT and EventsCollectorIT integration failures
- TenantIT: use /cxs/context.json (REST endpoint) instead of legacy
/context.json servlet forward that timed out under Pax Exam.
- EventCollectorResponse: add Jackson @JsonCreator so IT clients can
deserialize the POST /cxs/eventcollector JSON body.
---
itests/src/test/java/org/apache/unomi/itests/TenantIT.java | 8 ++++----
.../java/org/apache/unomi/rest/models/EventCollectorResponse.java | 6 +++++-
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/itests/src/test/java/org/apache/unomi/itests/TenantIT.java
b/itests/src/test/java/org/apache/unomi/itests/TenantIT.java
index 999dca531..2c5035dc3 100644
--- a/itests/src/test/java/org/apache/unomi/itests/TenantIT.java
+++ b/itests/src/test/java/org/apache/unomi/itests/TenantIT.java
@@ -239,12 +239,12 @@ public class TenantIT extends BaseIT {
try {
// Test without any authentication
String sessionId = "test-session-" + System.currentTimeMillis();
- try (CloseableHttpResponse response = executeHttpRequest(new
HttpGet(getFullUrl("/context.json?sessionId=" + sessionId)), AuthType.NONE)) {
+ try (CloseableHttpResponse response = executeHttpRequest(new
HttpGet(getFullUrl("/cxs/context.json?sessionId=" + sessionId)),
AuthType.NONE)) {
Assert.assertEquals("Unauthenticated public request should be
rejected", 401, response.getStatusLine().getStatusCode());
}
// Test with private API key (should succeed - private keys have
higher privileges)
- HttpGet publicRequest = new
HttpGet(getFullUrl("/context.json?sessionId=" + sessionId));
+ HttpGet publicRequest = new
HttpGet(getFullUrl("/cxs/context.json?sessionId=" + sessionId));
publicRequest.setHeader("Authorization", "Basic " +
Base64.getEncoder().encodeToString(
(tenant.getItemId() + ":" +
tenant.getPrivateApiKey()).getBytes()));
try (CloseableHttpResponse response =
executeHttpRequest(publicRequest, AuthType.PRIVATE_KEY)) {
@@ -252,7 +252,7 @@ public class TenantIT extends BaseIT {
}
// Test with valid public API key (should succeed)
- publicRequest = new HttpGet(getFullUrl("/context.json?sessionId="
+ sessionId));
+ publicRequest = new
HttpGet(getFullUrl("/cxs/context.json?sessionId=" + sessionId));
publicRequest.setHeader("X-Unomi-Api-Key",
tenant.getPublicApiKey());
try (CloseableHttpResponse response =
executeHttpRequest(publicRequest, AuthType.PUBLIC_KEY)) {
Assert.assertEquals("Valid public API key should grant access
to public endpoints", 200, response.getStatusLine().getStatusCode());
@@ -583,7 +583,7 @@ public class TenantIT extends BaseIT {
// Test that context.json is properly detected as a public endpoint
// This test verifies that the AUTO authentication works correctly
String sessionId = "test-session-" + System.currentTimeMillis();
- try (CloseableHttpResponse response = executeHttpRequest(new
HttpGet(getFullUrl("/context.json?sessionId=" + sessionId)), AuthType.AUTO)) {
+ try (CloseableHttpResponse response = executeHttpRequest(new
HttpGet(getFullUrl("/cxs/context.json?sessionId=" + sessionId)),
AuthType.AUTO)) {
// Should succeed with public key authentication
Assert.assertEquals("context.json should be accessible with
auto-detected public authentication",
200, response.getStatusLine().getStatusCode());
diff --git
a/rest/src/main/java/org/apache/unomi/rest/models/EventCollectorResponse.java
b/rest/src/main/java/org/apache/unomi/rest/models/EventCollectorResponse.java
index b53b25d8e..c94ad2eac 100644
---
a/rest/src/main/java/org/apache/unomi/rest/models/EventCollectorResponse.java
+++
b/rest/src/main/java/org/apache/unomi/rest/models/EventCollectorResponse.java
@@ -17,12 +17,16 @@
package org.apache.unomi.rest.models;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
import java.io.Serializable;
public class EventCollectorResponse implements Serializable {
private int updated;
- public EventCollectorResponse(int updated) {
+ @JsonCreator
+ public EventCollectorResponse(@JsonProperty("updated") int updated) {
this.updated = updated;
}