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;
     }
 

Reply via email to