From b4cecb289fd10850f357b46afa63e468080cf3b6 Mon Sep 17 00:00:00 2001 From: MayorJay Date: Sun, 28 Apr 2024 17:48:42 +0100 Subject: [PATCH 1/2] feat: Add missing request fields --- .../events/requests/TriggerEventRequest.java | 52 ++++++++++++++++++- .../co/novu/api/events/EventsHandlerTest.java | 23 +++++++- 2 files changed, 72 insertions(+), 3 deletions(-) diff --git a/src/main/java/co/novu/api/events/requests/TriggerEventRequest.java b/src/main/java/co/novu/api/events/requests/TriggerEventRequest.java index 9b4ccb3..96fdb73 100644 --- a/src/main/java/co/novu/api/events/requests/TriggerEventRequest.java +++ b/src/main/java/co/novu/api/events/requests/TriggerEventRequest.java @@ -1,16 +1,64 @@ package co.novu.api.events.requests; +import co.novu.api.common.SubscriberRequest; +import co.novu.api.tenants.pojos.Tenant; import co.novu.common.contracts.IRequest; import lombok.Data; import java.util.Map; - @Data public class TriggerEventRequest implements IRequest { private String name; - private Object to;// Possible types this field accepts are; SubscriberRequest, List, Topic or List + + /** + * Possible types this field accepts are; {@link SubscriberRequest}, list of {@link SubscriberRequest}, {@link Topic} or list of {@link Topic} + * + *

For example: + * + *


+     * SubscriberRequest subscriberRequest = new SubscriberRequest();
+     * subscriberRequest.setFirstName("fName");
+     * subscriberRequest.setLastName("lName");
+     * subscriberRequest.setEmail("mail@sample.com");
+     * subscriberRequest.setSubscriberId("subId");
+     * 
+ */ + private Object to; private Map payload; private Map overrides; private String transactionId; + + /** + * Possible types this field accepts are; String or {@link Map} + * + *

For example: + * + *


+     * Map<String, Object> actorMap = new HashMap<>();
+     * actorMap.put("subscriberId", "sId");
+     * actorMap.put("email", "email@mail.com");
+     * actorMap.put("firstName", "fName");
+     * actorMap.put("lastName", "lName");
+     * actorMap.put("phone", "phoneNo");
+     * actorMap.put("avatar", "avatarUrl");
+     * actorMap.put("locale", "locale");
+     * actorMap.put("data", new Object());
+     * 
+ */ + private Object actor; + + /** + * Possible types this field accepts are; String or {@link Tenant} + * + *

For example: + * + *


+     * Tenant tenant = new Tenant();
+     * tenant.setIdentifier("identifier");
+     * tenant.setName("name");
+     * tenant.setData(new Object());
+     * 
+ */ + private Object tenant; } \ No newline at end of file diff --git a/src/test/java/co/novu/api/events/EventsHandlerTest.java b/src/test/java/co/novu/api/events/EventsHandlerTest.java index 7512f72..8949f50 100644 --- a/src/test/java/co/novu/api/events/EventsHandlerTest.java +++ b/src/test/java/co/novu/api/events/EventsHandlerTest.java @@ -8,6 +8,7 @@ import co.novu.api.events.responses.CancelEventResponse; import co.novu.api.events.responses.TriggerEventResponse; import co.novu.api.events.responses.TriggerEventResponseData; +import co.novu.api.tenants.pojos.Tenant; import co.novu.common.base.NovuConfig; import co.novu.common.rest.NovuNetworkException; import co.novu.common.rest.RestHandler; @@ -16,10 +17,11 @@ import okhttp3.mockwebserver.MockResponse; import okhttp3.mockwebserver.MockWebServer; import okhttp3.mockwebserver.RecordedRequest; -import org.mockito.Mockito; import java.io.IOException; import java.util.Collections; +import java.util.HashMap; +import java.util.Map; public class EventsHandlerTest extends TestCase { @@ -47,6 +49,8 @@ public void test_triggerEventToSubscriber() throws IOException, NovuNetworkExcep triggerEventRequest.setTo(subscriberRequest); triggerEventRequest.setPayload(Collections.singletonMap("customVariables", "Hello")); + triggerEventRequest.setActor("actor"); + triggerEventRequest.setTenant("tenant"); TriggerEventResponse triggerEventResponse = new TriggerEventResponse(); TriggerEventResponseData data = new TriggerEventResponseData(); @@ -77,6 +81,23 @@ public void test_triggerEventToTopic() throws IOException, NovuNetworkException, triggerEventRequest.setTo(topic); triggerEventRequest.setPayload(Collections.singletonMap("customVariables", "Hello")); + Map actorMap = new HashMap<>(); + actorMap.put("subscriberId", "sId"); + actorMap.put("email", "email@mail.com"); + actorMap.put("firstName", "fName"); + actorMap.put("lastName", "lName"); + actorMap.put("phone", "phoneNo"); + actorMap.put("avatar", "avatarUrl"); + actorMap.put("locale", "locale"); + actorMap.put("data", new Object()); + triggerEventRequest.setActor(actorMap); + + Tenant tenant = new Tenant(); + tenant.setIdentifier("identifier"); + tenant.setName("name"); + tenant.setData(new Object()); + triggerEventRequest.setTenant(tenant); + TriggerEventResponse triggerEventResponse = new TriggerEventResponse(); TriggerEventResponseData data = new TriggerEventResponseData(); data.setAcknowledged(true); From 6dfdeefb5fcfc7826ecb3d400bcc3337bdc917d9 Mon Sep 17 00:00:00 2001 From: MayorJay Date: Sun, 28 Apr 2024 17:51:22 +0100 Subject: [PATCH 2/2] feat: Delete properties file --- src/main/resources/application.properties | 1 - techstack.yml | 1 - 2 files changed, 2 deletions(-) delete mode 100644 src/main/resources/application.properties diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties deleted file mode 100644 index 4d360de..0000000 --- a/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -server.port=8081 diff --git a/techstack.yml b/techstack.yml index 201d67d..3be0a88 100644 --- a/techstack.yml +++ b/techstack.yml @@ -83,7 +83,6 @@ tools: category: Application Hosting sub_category: Platform as a Service image_url: https://img.stackshare.io/service/3276/xWt1RFo6_400x400.jpg - detection_source: src/main/resources/application.properties last_updated_by: Mukhtar last_updated_on: 2023-06-25 20:22:10.000000000 Z - name: com.squareup.okhttp3:logging-interceptor