You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by sh...@apache.org on 2020/07/27 08:04:39 UTC
[unomi] 07/11: Add itests for sending a new event with profile id
This is an automated email from the ASF dual-hosted git repository.
shuber pushed a commit to branch unomi-1.5.x
in repository https://gitbox.apache.org/repos/asf/unomi.git
commit fe4f09cbda13e35f0cd30867ae20990c985e48db
Author: Shir <sb...@yotpo.com>
AuthorDate: Mon Jul 20 11:28:44 2020 +0300
Add itests for sending a new event with profile id
(cherry picked from commit f83a236a9914ef12af7a455c329c7799b6566f5b)
---
.../org/apache/unomi/itests/ContextServletIT.java | 27 ++++++++++++++++++++++
.../java/org/apache/unomi/itests/TestUtils.java | 11 ++++++---
2 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/itests/src/test/java/org/apache/unomi/itests/ContextServletIT.java b/itests/src/test/java/org/apache/unomi/itests/ContextServletIT.java
index 307a38e..0587a21 100644
--- a/itests/src/test/java/org/apache/unomi/itests/ContextServletIT.java
+++ b/itests/src/test/java/org/apache/unomi/itests/ContextServletIT.java
@@ -319,4 +319,31 @@ public class ContextServletIT extends BaseIT {
//Assert
assertEquals(0,response.getProfileSegments().size());
}
+
+ @Test
+ public void testCreateEventWithProfileId_Success() throws IOException, InterruptedException {
+ //Arrange
+ String eventId = "test-event-id1";
+ String profileId = "test-profile-id";
+ String eventType = "test-event-type";
+ Event event = new Event();
+ event.setEventType(eventType);
+ event.setItemId(eventId);
+
+ ContextRequest contextRequest = new ContextRequest();
+ contextRequest.setProfileId(profileId);
+ contextRequest.setEvents(Arrays.asList(event));
+
+ //Act
+ HttpPost request = new HttpPost(URL + CONTEXT_URL);
+ request.addHeader(THIRD_PARTY_HEADER_NAME, UNOMI_KEY);
+ request.setEntity(new StringEntity(objectMapper.writeValueAsString(contextRequest), ContentType.create("application/json")));
+ TestUtils.executeContextJSONRequest(request);
+ refreshPersistence();
+ Thread.sleep(2000); //Making sure event is updated in DB
+
+ //Assert
+ Profile profile = this.profileService.load(profileId);
+ assertEquals(profileId, profile.getItemId());
+ }
}
diff --git a/itests/src/test/java/org/apache/unomi/itests/TestUtils.java b/itests/src/test/java/org/apache/unomi/itests/TestUtils.java
index 6f45456..5e385f5 100644
--- a/itests/src/test/java/org/apache/unomi/itests/TestUtils.java
+++ b/itests/src/test/java/org/apache/unomi/itests/TestUtils.java
@@ -78,9 +78,10 @@ public class TestUtils {
ContextResponse context = TestUtils.retrieveResourceFromResponse(response, ContextResponse.class);
Assert.assertNotNull("Context should not be null", context);
Assert.assertNotNull("Context profileId should not be null", context.getProfileId());
- Assert.assertEquals("Context sessionId should be the same as the sessionId used to request the context", sessionId,
- context.getSessionId());
-
+ if (sessionId != null) {
+ Assert.assertEquals("Context sessionId should be the same as the sessionId used to request the context", sessionId,
+ context.getSessionId());
+ }
String cookieHeader = null;
if (response.containsHeader("Set-Cookie")) {
cookieHeader = response.getHeaders("Set-Cookie")[0].toString().substring(12);
@@ -89,6 +90,10 @@ public class TestUtils {
}
}
+ public static RequestResponse executeContextJSONRequest(HttpPost request) throws IOException {
+ return executeContextJSONRequest(request, null);
+ }
+
public static boolean removeAllProfiles(DefinitionsService definitionsService, PersistenceService persistenceService) {
Condition condition = new Condition(definitionsService.getConditionType("profilePropertyCondition"));
condition.setParameter("propertyName","itemType");