Search in sources :

Example 1 with SendNotificationsOptions

use of com.ibm.cloud.eventnotifications.event_notifications.v1.model.SendNotificationsOptions in project event-notifications-java-admin-sdk by IBM.

the class EventNotificationsTest method testSendNotificationsWOptions.

// Test the sendNotifications operation with a valid options model parameter
@Test
public void testSendNotificationsWOptions() throws Throwable {
    // Register a mock response
    String mockResponseBody = "{\"notification_id\": \"notificationId\"}";
    String sendNotificationsPath = "/v1/instances/testString/notifications";
    server.enqueue(new MockResponse().setHeader("Content-type", "application/json").setResponseCode(202).setBody(mockResponseBody));
    // Construct an instance of the NotificationCreate model
    NotificationCreate notificationCreateModel = new NotificationCreate.Builder().data(new java.util.HashMap<String, Object>() {

        {
            put("foo", "testString");
        }
    }).ibmenseverity("testString").ibmenfcmbody("testString").ibmenapnsbody("testString").ibmensafaribody("testString").ibmenpushto("{\"fcm_devices\":[\"9c75975a-37d0-3898-905d-3b5ee0d7c172\",\"C9CACDF5-6EBF-49E1-AD60-E25BA23E954C\"],\"apns_devices\":[\"3423-37d0-3898-905d-42342\",\"432423-6EBF-49E1-AD60-4234\"],\"user_ids\":[\"user-1\",\"user-2\"],\"tags\":[\"tag-1\",\"tag-2\"],\"platforms\":[\"push_android\",\"push_ios\",\"push_chrome\",\"push_firefox\"]}").ibmenapnsheaders("testString").ibmendefaultshort("testString").ibmendefaultlong("testString").ibmenchromebody("testString").ibmenfirefoxbody("testString").ibmenchromeheaders("testString").ibmenfirefoxheaders("testString").ibmensourceid("testString").datacontenttype("application/json").subject("testString").id("testString").source("testString").type("testString").specversion("1.0").time("testString").add("foo", "testString").build();
    // Construct an instance of the SendNotificationsOptions model
    SendNotificationsOptions sendNotificationsOptionsModel = new SendNotificationsOptions.Builder().instanceId("testString").body(notificationCreateModel).ceIbmenseverity("testString").ceIbmendefaultshort("testString").ceIbmendefaultlong("testString").ceIbmenfcmbody("testString").ceIbmenapnsbody("testString").ceIbmensafaribody("testString").ceIbmenpushto("{\"fcm_devices\":[\"9c75975a-37d0-3898-905d-3b5ee0d7c172\",\"C9CACDF5-6EBF-49E1-AD60-E25BA23E954C\"],\"apns_devices\":[\"3423-37d0-3898-905d-42342\",\"432423-6EBF-49E1-AD60-4234\"],\"user_ids\":[\"user-1\",\"user-2\"],\"tags\":[\"tag-1\",\"tag-2\"],\"platforms\":[\"push_android\",\"push_ios\",\"push_chrome\",\"push_firefox\"]}").ceIbmenapnsheaders("testString").ceIbmenchromebody("testString").ceIbmenfirefoxbody("testString").ceIbmenchromeheaders("testString").ceIbmenfirefoxheaders("testString").ceIbmensourceid("testString").ceId("testString").ceSource("testString").ceType("testString").ceSpecversion("1.0").ceTime("testString").build();
    // Invoke sendNotifications() with a valid options model and verify the result
    Response<NotificationResponse> response = eventNotificationsService.sendNotifications(sendNotificationsOptionsModel).execute();
    assertNotNull(response);
    NotificationResponse responseObj = response.getResult();
    assertNotNull(responseObj);
    // Verify the contents of the request sent to the mock server
    RecordedRequest request = server.takeRequest();
    assertNotNull(request);
    assertEquals(request.getMethod(), "POST");
    // Verify request path
    String parsedPath = TestUtilities.parseReqPath(request);
    assertEquals(parsedPath, sendNotificationsPath);
    // Verify that there is no query string
    Map<String, String> query = TestUtilities.parseQueryString(request);
    assertNull(query);
}
Also used : RecordedRequest(okhttp3.mockwebserver.RecordedRequest) MockResponse(okhttp3.mockwebserver.MockResponse) SendNotificationsOptions(com.ibm.cloud.eventnotifications.event_notifications.v1.model.SendNotificationsOptions) BulkNotificationResponse(com.ibm.cloud.eventnotifications.event_notifications.v1.model.BulkNotificationResponse) NotificationResponse(com.ibm.cloud.eventnotifications.event_notifications.v1.model.NotificationResponse) NotificationCreate(com.ibm.cloud.eventnotifications.event_notifications.v1.model.NotificationCreate) Test(org.testng.annotations.Test) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 2 with SendNotificationsOptions

use of com.ibm.cloud.eventnotifications.event_notifications.v1.model.SendNotificationsOptions in project event-notifications-java-admin-sdk by IBM.

the class EventNotifications method sendNotifications.

/**
 * Send a notification.
 *
 * @param sendNotificationsOptions the {@link SendNotificationsOptions} containing the options for the call
 * @return a {@link ServiceCall} with a result of type {@link NotificationResponse}
 */
public ServiceCall<NotificationResponse> sendNotifications(SendNotificationsOptions sendNotificationsOptions) {
    com.ibm.cloud.sdk.core.util.Validator.notNull(sendNotificationsOptions, "sendNotificationsOptions cannot be null");
    Map<String, String> pathParamsMap = new HashMap<String, String>();
    pathParamsMap.put("instance_id", sendNotificationsOptions.instanceId());
    RequestBuilder builder = RequestBuilder.post(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/instances/{instance_id}/notifications", pathParamsMap));
    Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("event_notifications", "v1", "sendNotifications");
    for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
    }
    builder.header("Accept", "application/json");
    if (sendNotificationsOptions.ceIbmenseverity() != null) {
        builder.header("ce-ibmenseverity", sendNotificationsOptions.ceIbmenseverity());
    }
    if (sendNotificationsOptions.ceIbmendefaultshort() != null) {
        builder.header("ce-ibmendefaultshort", sendNotificationsOptions.ceIbmendefaultshort());
    }
    if (sendNotificationsOptions.ceIbmendefaultlong() != null) {
        builder.header("ce-ibmendefaultlong", sendNotificationsOptions.ceIbmendefaultlong());
    }
    if (sendNotificationsOptions.ceIbmenfcmbody() != null) {
        builder.header("ce-ibmenfcmbody", sendNotificationsOptions.ceIbmenfcmbody());
    }
    if (sendNotificationsOptions.ceIbmenapnsbody() != null) {
        builder.header("ce-ibmenapnsbody", sendNotificationsOptions.ceIbmenapnsbody());
    }
    if (sendNotificationsOptions.ceIbmensafaribody() != null) {
        builder.header("ce-ibmensafaribody", sendNotificationsOptions.ceIbmensafaribody());
    }
    if (sendNotificationsOptions.ceIbmenpushto() != null) {
        builder.header("ce-ibmenpushto", sendNotificationsOptions.ceIbmenpushto());
    }
    if (sendNotificationsOptions.ceIbmenapnsheaders() != null) {
        builder.header("ce-ibmenapnsheaders", sendNotificationsOptions.ceIbmenapnsheaders());
    }
    if (sendNotificationsOptions.ceIbmenchromebody() != null) {
        builder.header("ce-ibmenchromebody", sendNotificationsOptions.ceIbmenchromebody());
    }
    if (sendNotificationsOptions.ceIbmenfirefoxbody() != null) {
        builder.header("ce-ibmenfirefoxbody", sendNotificationsOptions.ceIbmenfirefoxbody());
    }
    if (sendNotificationsOptions.ceIbmenchromeheaders() != null) {
        builder.header("ce-ibmenchromeheaders", sendNotificationsOptions.ceIbmenchromeheaders());
    }
    if (sendNotificationsOptions.ceIbmenfirefoxheaders() != null) {
        builder.header("ce-ibmenfirefoxheaders", sendNotificationsOptions.ceIbmenfirefoxheaders());
    }
    if (sendNotificationsOptions.ceIbmensourceid() != null) {
        builder.header("ce-ibmensourceid", sendNotificationsOptions.ceIbmensourceid());
    }
    if (sendNotificationsOptions.ceId() != null) {
        builder.header("ce-id", sendNotificationsOptions.ceId());
    }
    if (sendNotificationsOptions.ceSource() != null) {
        builder.header("ce-source", sendNotificationsOptions.ceSource());
    }
    if (sendNotificationsOptions.ceType() != null) {
        builder.header("ce-type", sendNotificationsOptions.ceType());
    }
    if (sendNotificationsOptions.ceSpecversion() != null) {
        builder.header("ce-specversion", sendNotificationsOptions.ceSpecversion());
    }
    if (sendNotificationsOptions.ceTime() != null) {
        builder.header("ce-time", sendNotificationsOptions.ceTime());
    }
    if (sendNotificationsOptions.body() != null) {
        builder.bodyContent(com.ibm.cloud.sdk.core.util.GsonSingleton.getGsonWithoutPrettyPrinting().toJson(sendNotificationsOptions.body()), "application/json");
    }
    ResponseConverter<NotificationResponse> responseConverter = ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken<NotificationResponse>() {
    }.getType());
    return createServiceCall(builder.build(), responseConverter);
}
Also used : RequestBuilder(com.ibm.cloud.sdk.core.http.RequestBuilder) HashMap(java.util.HashMap) BulkNotificationResponse(com.ibm.cloud.eventnotifications.event_notifications.v1.model.BulkNotificationResponse) NotificationResponse(com.ibm.cloud.eventnotifications.event_notifications.v1.model.NotificationResponse)

Example 3 with SendNotificationsOptions

use of com.ibm.cloud.eventnotifications.event_notifications.v1.model.SendNotificationsOptions in project event-notifications-java-admin-sdk by IBM.

the class SendNotificationsOptionsTest method testSendNotificationsOptions.

@Test
public void testSendNotificationsOptions() throws Throwable {
    NotificationCreate notificationCreateModel = new NotificationCreate.Builder().data(new java.util.HashMap<String, Object>() {

        {
            put("foo", "testString");
        }
    }).ibmenseverity("testString").ibmenfcmbody("testString").ibmenapnsbody("testString").ibmensafaribody("testString").ibmenpushto("{\"fcm_devices\":[\"9c75975a-37d0-3898-905d-3b5ee0d7c172\",\"C9CACDF5-6EBF-49E1-AD60-E25BA23E954C\"],\"apns_devices\":[\"3423-37d0-3898-905d-42342\",\"432423-6EBF-49E1-AD60-4234\"],\"user_ids\":[\"user-1\",\"user-2\"],\"tags\":[\"tag-1\",\"tag-2\"],\"platforms\":[\"push_android\",\"push_ios\",\"push_chrome\",\"push_firefox\"]}").ibmenapnsheaders("testString").ibmendefaultshort("testString").ibmendefaultlong("testString").ibmenchromebody("testString").ibmenfirefoxbody("testString").ibmenchromeheaders("testString").ibmenfirefoxheaders("testString").ibmensourceid("testString").datacontenttype("application/json").subject("testString").id("testString").source("testString").type("testString").specversion("1.0").time("testString").add("foo", "testString").build();
    assertEquals(notificationCreateModel.getData(), new java.util.HashMap<String, Object>() {

        {
            put("foo", "testString");
        }
    });
    assertEquals(notificationCreateModel.getIbmenseverity(), "testString");
    assertEquals(notificationCreateModel.getIbmenfcmbody(), "testString");
    assertEquals(notificationCreateModel.getIbmenapnsbody(), "testString");
    assertEquals(notificationCreateModel.getIbmensafaribody(), "testString");
    assertEquals(notificationCreateModel.getIbmenpushto(), "{\"fcm_devices\":[\"9c75975a-37d0-3898-905d-3b5ee0d7c172\",\"C9CACDF5-6EBF-49E1-AD60-E25BA23E954C\"],\"apns_devices\":[\"3423-37d0-3898-905d-42342\",\"432423-6EBF-49E1-AD60-4234\"],\"user_ids\":[\"user-1\",\"user-2\"],\"tags\":[\"tag-1\",\"tag-2\"],\"platforms\":[\"push_android\",\"push_ios\",\"push_chrome\",\"push_firefox\"]}");
    assertEquals(notificationCreateModel.getIbmenapnsheaders(), "testString");
    assertEquals(notificationCreateModel.getIbmendefaultshort(), "testString");
    assertEquals(notificationCreateModel.getIbmendefaultlong(), "testString");
    assertEquals(notificationCreateModel.getIbmenchromebody(), "testString");
    assertEquals(notificationCreateModel.getIbmenfirefoxbody(), "testString");
    assertEquals(notificationCreateModel.getIbmenchromeheaders(), "testString");
    assertEquals(notificationCreateModel.getIbmenfirefoxheaders(), "testString");
    assertEquals(notificationCreateModel.getIbmensourceid(), "testString");
    assertEquals(notificationCreateModel.getDatacontenttype(), "application/json");
    assertEquals(notificationCreateModel.getSubject(), "testString");
    assertEquals(notificationCreateModel.getId(), "testString");
    assertEquals(notificationCreateModel.getSource(), "testString");
    assertEquals(notificationCreateModel.getType(), "testString");
    assertEquals(notificationCreateModel.getSpecversion(), "1.0");
    assertEquals(notificationCreateModel.getTime(), "testString");
    assertEquals(notificationCreateModel.get("foo"), "testString");
    SendNotificationsOptions sendNotificationsOptionsModel = new SendNotificationsOptions.Builder().instanceId("testString").body(notificationCreateModel).ceIbmenseverity("testString").ceIbmendefaultshort("testString").ceIbmendefaultlong("testString").ceIbmenfcmbody("testString").ceIbmenapnsbody("testString").ceIbmensafaribody("testString").ceIbmenpushto("{\"fcm_devices\":[\"9c75975a-37d0-3898-905d-3b5ee0d7c172\",\"C9CACDF5-6EBF-49E1-AD60-E25BA23E954C\"],\"apns_devices\":[\"3423-37d0-3898-905d-42342\",\"432423-6EBF-49E1-AD60-4234\"],\"user_ids\":[\"user-1\",\"user-2\"],\"tags\":[\"tag-1\",\"tag-2\"],\"platforms\":[\"push_android\",\"push_ios\",\"push_chrome\",\"push_firefox\"]}").ceIbmenapnsheaders("testString").ceIbmenchromebody("testString").ceIbmenfirefoxbody("testString").ceIbmenchromeheaders("testString").ceIbmenfirefoxheaders("testString").ceIbmensourceid("testString").ceId("testString").ceSource("testString").ceType("testString").ceSpecversion("1.0").ceTime("testString").build();
    assertEquals(sendNotificationsOptionsModel.instanceId(), "testString");
    assertEquals(sendNotificationsOptionsModel.body(), notificationCreateModel);
    assertEquals(sendNotificationsOptionsModel.ceIbmenseverity(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceIbmendefaultshort(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceIbmendefaultlong(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceIbmenfcmbody(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceIbmenapnsbody(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceIbmensafaribody(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceIbmenpushto(), "{\"fcm_devices\":[\"9c75975a-37d0-3898-905d-3b5ee0d7c172\",\"C9CACDF5-6EBF-49E1-AD60-E25BA23E954C\"],\"apns_devices\":[\"3423-37d0-3898-905d-42342\",\"432423-6EBF-49E1-AD60-4234\"],\"user_ids\":[\"user-1\",\"user-2\"],\"tags\":[\"tag-1\",\"tag-2\"],\"platforms\":[\"push_android\",\"push_ios\",\"push_chrome\",\"push_firefox\"]}");
    assertEquals(sendNotificationsOptionsModel.ceIbmenapnsheaders(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceIbmenchromebody(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceIbmenfirefoxbody(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceIbmenchromeheaders(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceIbmenfirefoxheaders(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceIbmensourceid(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceId(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceSource(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceType(), "testString");
    assertEquals(sendNotificationsOptionsModel.ceSpecversion(), "1.0");
    assertEquals(sendNotificationsOptionsModel.ceTime(), "testString");
}
Also used : SendNotificationsOptions(com.ibm.cloud.eventnotifications.event_notifications.v1.model.SendNotificationsOptions) NotificationCreate(com.ibm.cloud.eventnotifications.event_notifications.v1.model.NotificationCreate) Test(org.testng.annotations.Test)

Aggregations

BulkNotificationResponse (com.ibm.cloud.eventnotifications.event_notifications.v1.model.BulkNotificationResponse)2 NotificationCreate (com.ibm.cloud.eventnotifications.event_notifications.v1.model.NotificationCreate)2 NotificationResponse (com.ibm.cloud.eventnotifications.event_notifications.v1.model.NotificationResponse)2 SendNotificationsOptions (com.ibm.cloud.eventnotifications.event_notifications.v1.model.SendNotificationsOptions)2 Test (org.testng.annotations.Test)2 RequestBuilder (com.ibm.cloud.sdk.core.http.RequestBuilder)1 HashMap (java.util.HashMap)1 MockResponse (okhttp3.mockwebserver.MockResponse)1 RecordedRequest (okhttp3.mockwebserver.RecordedRequest)1 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)1