Skip to content

Commit 1ace436

Browse files
Christoffer-CortesAnders Breid
authored and
Anders Breid
committed
Add support for mail subject and body (#25)
* Add support for mail subject and body
1 parent 10db72a commit 1ace436

File tree

3 files changed

+57
-15
lines changed

3 files changed

+57
-15
lines changed

src/main/java/com/ericsson/eiffelcommons/subscriptionobject/MailSubscriptionObject.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
public class MailSubscriptionObject extends SubscriptionObject<MailSubscriptionObject> {
66

7+
private final String EMAIL_SUBJECT = "emailSubject";
8+
79
/**
810
* Creates a subscriptionObject with MAIL capabilities.
911
* @param subscriptionName
@@ -14,4 +16,14 @@ public MailSubscriptionObject(String subscriptionName) throws IOException {
1416

1517
subscriptionJson.put("notificationType", "MAIL");
1618
}
19+
20+
/**
21+
* Sets the field emailSubject to given value
22+
* @param emailSubject
23+
* @return MailSubscriptionObject
24+
*/
25+
public MailSubscriptionObject setEmailSubject(final String emailSubject) {
26+
subscriptionJson.put(EMAIL_SUBJECT, emailSubject);
27+
return this;
28+
}
1729
}

src/main/java/com/ericsson/eiffelcommons/subscriptionobject/SubscriptionObject.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,22 @@ public SubscriptionObject(final Class<T> selfClass, String subscriptionName) thr
3030
this.self = selfClass.cast(this);
3131
}
3232

33+
/**
34+
* Adds a notification body to the subscriptionObject.
35+
*
36+
* @param notificationBody
37+
* @return SubscriptionObject<T>
38+
*/
39+
public T addNotificationBody(final String notificationBody) {
40+
return addNotificationMessageKeyValue("", notificationBody);
41+
}
42+
3343
/**
3444
* Adds a notification message to the subscriptionObject as key value.
3545
*
3646
* @param notificationKey
3747
* @param notificationValue
38-
* @return
48+
* @return SubscriptionObject<T>
3949
*/
4050
public T addNotificationMessageKeyValue(String notificationKey, String notificationValue) {
4151
JSONObject keyValue = new JSONObject();
@@ -54,7 +64,7 @@ public T addNotificationMessageKeyValue(String notificationKey, String notificat
5464
*
5565
* @param requirementIndex
5666
* @param condition
57-
* @return
67+
* @return SubscriptionObject<T>
5868
*/
5969
public T addConditionToRequirement(int requirementIndex, JSONObject condition) {
6070
JSONArray requirements = subscriptionJson.getJSONArray("requirements");
@@ -68,7 +78,7 @@ public T addConditionToRequirement(int requirementIndex, JSONObject condition) {
6878
* Sets the field notificationMeta to the wanted value
6979
*
7080
* @param notificationMeta
71-
* @return
81+
* @return SubscriptionObject<T>
7282
*/
7383
public T setNotificationMeta(String notificationMeta) {
7484
subscriptionJson.put("notificationMeta", notificationMeta);
@@ -79,8 +89,8 @@ public T setNotificationMeta(String notificationMeta) {
7989
* Set the restPostBodyMediaType field in the subscriptions to wanted value for example
8090
* "application/x-www-form-urlencoded"
8191
*
82-
* @param value
83-
* @return
92+
* @param restPostBodyMediaType
93+
* @return SubscriptionObject<T>
8494
*/
8595
public T setRestPostBodyMediaType(String restPostBodyMediaType) {
8696
subscriptionJson.put("restPostBodyMediaType", restPostBodyMediaType);

src/test/java/com/ericsson/eiffelcommons/subscriptionobjecttest/SubscriptionObjectTest.java

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.ericsson.eiffelcommons.subscriptionobjecttest;
22

33
import static org.junit.Assert.assertEquals;
4+
import static org.junit.Assert.assertTrue;
45

56
import java.io.IOException;
67

@@ -10,15 +11,18 @@
1011
import org.junit.Test;
1112

1213
import com.ericsson.eiffelcommons.helpers.MediaType;
14+
import com.ericsson.eiffelcommons.subscriptionobject.MailSubscriptionObject;
1315
import com.ericsson.eiffelcommons.subscriptionobject.RestPostSubscriptionObject;
1416

1517
public class SubscriptionObjectTest {
1618

1719
RestPostSubscriptionObject restPostSubscription;
20+
MailSubscriptionObject mailSubscription;
1821

1922
@Before
2023
public void setup() throws IOException {
2124
restPostSubscription = new RestPostSubscriptionObject("mySubscription");
25+
mailSubscription = new MailSubscriptionObject("myMailSubscription");
2226
}
2327

2428
@Test
@@ -50,8 +54,7 @@ public void testSetNotificationMeta() {
5054
restPostSubscription.setNotificationMeta("http://localhost:8080");
5155

5256
String actualNotificationMeta = restPostSubscription.getSubscriptionJson()
53-
.get("notificationMeta")
54-
.toString();
57+
.getString("notificationMeta");
5558
assertEquals("http://localhost:8080", actualNotificationMeta);
5659
}
5760

@@ -60,14 +63,11 @@ public void testSetBasicAuth() {
6063
restPostSubscription.setBasicAuth("admin", "admin");
6164

6265
String actualUsername = restPostSubscription.getSubscriptionJson()
63-
.get("userName")
64-
.toString();
66+
.getString("userName");
6567
String actualPassword = restPostSubscription.getSubscriptionJson()
66-
.get("password")
67-
.toString();
68+
.getString("password");
6869
String actualAuthenticationType = restPostSubscription.getSubscriptionJson()
69-
.get("authenticationType")
70-
.toString();
70+
.getString("authenticationType");
7171

7272
assertEquals("admin", actualUsername);
7373
assertEquals("admin", actualPassword);
@@ -79,11 +79,31 @@ public void testSetRestPostBodyMediaType() {
7979
restPostSubscription.setRestPostBodyMediaType(MediaType.APPLICATION_FORM_URLENCODED);
8080

8181
String actualRestPostBodyMediaType = restPostSubscription.getSubscriptionJson()
82-
.get("restPostBodyMediaType")
83-
.toString();
82+
.getString("restPostBodyMediaType");
8483
assertEquals("application/x-www-form-urlencoded", actualRestPostBodyMediaType);
8584
}
8685

86+
@Test
87+
public void testSetNotificationBody() {
88+
String body = "Body";
89+
mailSubscription.addNotificationBody(body);
90+
91+
String actualNotificationBody = mailSubscription.getSubscriptionJson()
92+
.get("notificationMessageKeyValues")
93+
.toString();
94+
assertTrue(actualNotificationBody.contains(body));
95+
}
96+
97+
@Test
98+
public void testSetEmailSubject() {
99+
String subject = "MySubject";
100+
mailSubscription.setEmailSubject(subject);
101+
102+
String actualEmailSubject = mailSubscription.getSubscriptionJson()
103+
.getString("emailSubject");
104+
assertEquals(subject, actualEmailSubject);
105+
}
106+
87107
@Test
88108
public void testChaining() {
89109
restPostSubscription.addNotificationMessageKeyValue("Key", "value")

0 commit comments

Comments
 (0)