Skip to content

Commit 704d9c6

Browse files
author
Chris Wilson
committed
Adding more web hook unit tests
1 parent 454297e commit 704d9c6

File tree

3 files changed

+317
-0
lines changed

3 files changed

+317
-0
lines changed
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
2+
package com.sparkpost.model.webhook.event;
3+
4+
import org.apache.log4j.Level;
5+
import org.apache.log4j.Logger;
6+
import org.junit.After;
7+
import org.junit.AfterClass;
8+
import org.junit.Assert;
9+
import org.junit.Before;
10+
import org.junit.BeforeClass;
11+
import org.junit.Test;
12+
13+
import com.google.gson.Gson;
14+
15+
public class BounceEventTest {
16+
17+
private static final String EVENT_DATA = "{\n"
18+
+ " \"msg_from\": \"msprvs1=17287cL4dnk4m=bounces-1521@spmailt.com\",\n"
19+
+ " \"campaign_id\": \"test\",\n"
20+
+ " \"routing_domain\": \"example.com\",\n"
21+
+ " \"type\": \"bounce\",\n"
22+
+ " \"customer_id\": \"1111\",\n"
23+
+ " \"ip_address\": \"74.125.28.26\",\n"
24+
+ " \"ip_pool\": \"shared\",\n"
25+
+ " \"queue_time\": \"160\",\n"
26+
+ " \"subject\": \"My Sample Subject\",\n"
27+
+ " \"rcpt_meta\": {\n"
28+
+ " \"myKey\": \"myValue\"\n"
29+
+ " },\n"
30+
+ " \"timestamp\": \"1493050627\",\n"
31+
+ " \"msg_size\": \"3125\",\n"
32+
+ " \"rcpt_to\": \"nonExist@example.com\",\n"
33+
+ " \"bounce_class\": \"10\",\n"
34+
+ " \"transmission_id\": \"84579375438919573\",\n"
35+
+ " \"error_code\": \"550\",\n"
36+
+ " \"template_version\": \"0\",\n"
37+
+ " \"sending_ip\": \"35.160.4.15\",\n"
38+
+ " \"template_id\": \"template_84579375438919573\",\n"
39+
+ " \"message_id\": \"00040325fe58f1b2ca62\",\n"
40+
+ " \"reason\": \"550-5.1.1 The email account that you tried to reach does not exist\",\n"
41+
+ " \"friendly_from\": \"test@test.example.com\",\n"
42+
+ " \"raw_reason\": \"550-5.1.1 The email account that you tried to reach does not exist.\",\n"
43+
+ " \"event_id\": \"84579375510121478\",\n"
44+
+ " \"num_retries\": \"0\",\n"
45+
+ " \"rcpt_tags\": [],\n"
46+
+ " \"raw_rcpt_to\": \"nonExist@example.com\"\n"
47+
+ "}";
48+
49+
@BeforeClass
50+
public static void setUpClass() {
51+
Logger.getRootLogger().setLevel(Level.DEBUG);
52+
}
53+
54+
@AfterClass
55+
public static void tearDownClass() {
56+
}
57+
58+
@Before
59+
public void setUp() {
60+
}
61+
62+
@After
63+
public void tearDown() {
64+
}
65+
66+
/**
67+
*
68+
*/
69+
@Test
70+
public void testDecodeRecipientAttributes() {
71+
Gson gson = new Gson();
72+
//System.out.println("JSON: " + EVENT_DATA);
73+
BounceEvent event = gson.fromJson(BounceEventTest.EVENT_DATA, BounceEvent.class);
74+
75+
Assert.assertNotNull(event);
76+
77+
Assert.assertEquals(event.getReason(), "550-5.1.1 The email account that you tried to reach does not exist");
78+
Assert.assertNull(event.getSmsSrcNpi());
79+
Assert.assertEquals(event.getTemplateVersion(), "0");
80+
Assert.assertEquals(event.getFriendlyFrom(), "test@test.example.com");
81+
Assert.assertEquals(event.getSubject(), "My Sample Subject");
82+
Assert.assertEquals(event.getIpPool(), "shared");
83+
Assert.assertNotNull(event.getRcptTags());
84+
Assert.assertEquals(event.getType(), "bounce");
85+
Assert.assertEquals(event.getNumRetries(), "0");
86+
Assert.assertNull(event.getSmsDstNpi());
87+
Assert.assertEquals(event.getBounceClass(), "10");
88+
Assert.assertEquals(event.getRawRcptTo(), "nonExist@example.com");
89+
Assert.assertNull(event.getSmsSrc());
90+
Assert.assertEquals(event.getMsgFrom(), "msprvs1=17287cL4dnk4m=bounces-1521@spmailt.com");
91+
Assert.assertEquals(event.getRcptTo(), "nonExist@example.com");
92+
Assert.assertNull(event.getSubaccountId());
93+
Assert.assertEquals(event.getTransmissionId(), "84579375438919573");
94+
Assert.assertEquals(event.getCampaignId(), "test");
95+
Assert.assertEquals(event.getTimestamp(), "1493050627");
96+
Assert.assertNull(event.getSmsCoding());
97+
Assert.assertNotNull(event.getRcptMeta());
98+
Assert.assertEquals(event.getMessageId(), "00040325fe58f1b2ca62");
99+
Assert.assertEquals(event.getIpAddress(), "74.125.28.26");
100+
Assert.assertNull(event.getRcptType());
101+
Assert.assertNull(event.getSmsDst());
102+
Assert.assertEquals(event.getEventId(), "84579375510121478");
103+
Assert.assertEquals(event.getRoutingDomain(), "example.com");
104+
Assert.assertEquals(event.getSendingIp(), "35.160.4.15");
105+
Assert.assertNull(event.getSmsSrcTon());
106+
Assert.assertNull(event.getDeviceToken());
107+
Assert.assertEquals(event.getRawReason(), "550-5.1.1 The email account that you tried to reach does not exist.");
108+
Assert.assertNull(event.getSmsDstTon());
109+
Assert.assertEquals(event.getErrorCode(), "550");
110+
Assert.assertEquals(event.getTemplateId(), "template_84579375438919573");
111+
Assert.assertNull(event.getDelvMethod());
112+
Assert.assertEquals(event.getCustomerId(), "1111");
113+
Assert.assertEquals(event.getMsgSize(), "3125");
114+
115+
}
116+
}
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
2+
package com.sparkpost.model.webhook.event;
3+
4+
import org.apache.log4j.Level;
5+
import org.apache.log4j.Logger;
6+
import org.junit.After;
7+
import org.junit.AfterClass;
8+
import org.junit.Assert;
9+
import org.junit.Before;
10+
import org.junit.BeforeClass;
11+
import org.junit.Test;
12+
13+
import com.google.gson.Gson;
14+
15+
public class ClickEventTest {
16+
17+
private static final String EVENT_DATA = "{\n"
18+
+ " \"type\": \"click\",\n"
19+
+ " \"delv_method\": \"esmtp\",\n"
20+
+ " \"timestamp\": \"1416500167.241\",\n"
21+
+ " \"message_id\": \"54863dba-3c9f-42f2-880a-07fc85a5158d\",\n"
22+
+ " \"campaign_id\": \"Test Campaign Name\",\n"
23+
+ " \"template_id\": \"Test Template Name\",\n"
24+
+ " \"target_link_name\": \"Test Link Name\",\n"
25+
+ " \"target_link_url\": \"http://example.com\",\n"
26+
+ " \"transmission_id\": \"65832150921904138\",\n"
27+
+ " \"user_agent\": \"test\",\n"
28+
+ " \"rcpt_tags\": [\n"
29+
+ " \"male\",\n"
30+
+ " \"MD\",\n"
31+
+ " \"50+\"\n"
32+
+ " ],\n"
33+
+ " \"node_name\": \"Test-Node\",\n"
34+
+ " \"customer_id\": \"1\",\n"
35+
+ " \"template_version\": \"1\"\n"
36+
+ "}";
37+
38+
@BeforeClass
39+
public static void setUpClass() {
40+
Logger.getRootLogger().setLevel(Level.DEBUG);
41+
}
42+
43+
@AfterClass
44+
public static void tearDownClass() {
45+
}
46+
47+
@Before
48+
public void setUp() {
49+
}
50+
51+
@After
52+
public void tearDown() {
53+
}
54+
55+
/**
56+
*
57+
*/
58+
@Test
59+
public void testDecodeRecipientAttributes() {
60+
Gson gson = new Gson();
61+
//System.out.println("JSON: " + EVENT_DATA);
62+
ClickEvent event = gson.fromJson(ClickEventTest.EVENT_DATA, ClickEvent.class);
63+
64+
Assert.assertNotNull(event);
65+
66+
Assert.assertEquals(event.getTemplateVersion(), "1");
67+
Assert.assertNull(event.getFriendlyFrom());
68+
Assert.assertNull(event.getSubject());
69+
Assert.assertNull(event.getIpPool());
70+
Assert.assertNotNull(event.getRcptTags());
71+
Assert.assertEquals(event.getType(), "click");
72+
Assert.assertNull(event.getNumRetries());
73+
Assert.assertNull(event.getRawRcptTo());
74+
Assert.assertNull(event.getMsgFrom());
75+
Assert.assertNull(event.getRcptTo());
76+
Assert.assertNull(event.getGeoIp());
77+
Assert.assertEquals(event.getTargetLinkName(), "Test Link Name");
78+
Assert.assertNull(event.getSubaccountId());
79+
Assert.assertEquals(event.getTransmissionId(), "65832150921904138");
80+
Assert.assertEquals(event.getCampaignId(), "Test Campaign Name");
81+
Assert.assertEquals(event.getUserAgent(), "test");
82+
Assert.assertEquals(event.getTimestamp(), "1416500167.241");
83+
Assert.assertNull(event.getRcptMeta());
84+
Assert.assertEquals(event.getMessageId(), "54863dba-3c9f-42f2-880a-07fc85a5158d");
85+
Assert.assertNull(event.getIpAddress());
86+
Assert.assertNull(event.getRcptType());
87+
Assert.assertNull(event.getQueueTime());
88+
Assert.assertNull(event.getEventId());
89+
Assert.assertNull(event.getRoutingDomain());
90+
Assert.assertNull(event.getSendingIp());
91+
Assert.assertEquals(event.getTargetLinkUrl(), "http://example.com");
92+
Assert.assertEquals(event.getTemplateId(), "Test Template Name");
93+
Assert.assertEquals(event.getDelvMethod(), "esmtp");
94+
Assert.assertEquals(event.getCustomerId(), "1");
95+
Assert.assertNull(event.getMsgSize());
96+
}
97+
}
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
2+
package com.sparkpost.model.webhook.event;
3+
4+
import org.apache.log4j.Level;
5+
import org.apache.log4j.Logger;
6+
import org.junit.After;
7+
import org.junit.AfterClass;
8+
import org.junit.Assert;
9+
import org.junit.Before;
10+
import org.junit.BeforeClass;
11+
import org.junit.Test;
12+
13+
import com.google.gson.Gson;
14+
15+
public class OpenEventTest {
16+
17+
private static final String EVENT_DATA = "{\n"
18+
+ " \"rcpt_meta\": {\n"
19+
+ " \"myKey\": \"myVal\"\n"
20+
+ " },\n"
21+
+ " \"ip_address\": \"66.102.8.147\",\n"
22+
+ " \"rcpt_tags\": [],\n"
23+
+ " \"rcpt_to\": \"test@example.com\",\n"
24+
+ " \"template_version\": \"0\",\n"
25+
+ " \"sending_ip\": \"52.39.26.144\",\n"
26+
+ " \"message_id\": \"0001d25bfe58f914d695\",\n"
27+
+ " \"event_id\": \"102595298805510121\",\n"
28+
+ " \"template_id\": \"template_30539097546350056\",\n"
29+
+ " \"timestamp\": \"1493064668\",\n"
30+
+ " \"campaign_id\": \"test\",\n"
31+
+ " \"delv_method\": \"esmtp\",\n"
32+
+ " \"transmission_id\": \"30539097546350056\",\n"
33+
+ " \"type\": \"open\",\n"
34+
+ " \"user_agent\": \"Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)\",\n"
35+
+ " \"ip_pool\": \"shared\",\n"
36+
+ " \"customer_id\": \"1111\",\n"
37+
+ " \"geo_ip\": {\n"
38+
+ " \"country\": \"US\",\n"
39+
+ " \"region\": \"NY\",\n"
40+
+ " \"city\": \"Bronx\",\n"
41+
+ " \"latitude\": 40.8499,\n"
42+
+ " \"longitude\": -73.8769\n"
43+
+ " },\n"
44+
+ " \"raw_rcpt_to\": \"test@example.com\"\n"
45+
+ "}";
46+
47+
@BeforeClass
48+
public static void setUpClass() {
49+
Logger.getRootLogger().setLevel(Level.DEBUG);
50+
}
51+
52+
@AfterClass
53+
public static void tearDownClass() {
54+
}
55+
56+
@Before
57+
public void setUp() {
58+
}
59+
60+
@After
61+
public void tearDown() {
62+
}
63+
64+
/**
65+
*
66+
*/
67+
@Test
68+
public void testDecodeRecipientAttributes() {
69+
Gson gson = new Gson();
70+
//System.out.println("JSON: " + EVENT_DATA);
71+
OpenEvent event = gson.fromJson(OpenEventTest.EVENT_DATA, OpenEvent.class);
72+
73+
Assert.assertNotNull(event);
74+
75+
Assert.assertEquals(event.getTemplateVersion(), "0");
76+
Assert.assertNull(event.getFriendlyFrom());
77+
Assert.assertNull(event.getSubject());
78+
Assert.assertEquals(event.getIpPool(), "shared");
79+
Assert.assertNotNull(event.getRcptTags());
80+
Assert.assertEquals(event.getType(), "open");
81+
Assert.assertNull(event.getNumRetries());
82+
Assert.assertEquals(event.getRawRcptTo(), "test@example.com");
83+
Assert.assertNull(event.getMsgFrom());
84+
Assert.assertEquals(event.getRcptTo(), "test@example.com");
85+
Assert.assertNotNull(event.getGeoIp());
86+
Assert.assertNull(event.getSubaccountId());
87+
Assert.assertEquals(event.getTransmissionId(), "30539097546350056");
88+
Assert.assertEquals(event.getCampaignId(), "test");
89+
Assert.assertEquals(event.getUserAgent(), "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)");
90+
Assert.assertEquals(event.getTimestamp(), "1493064668");
91+
Assert.assertNotNull(event.getRcptMeta());
92+
Assert.assertEquals(event.getMessageId(), "0001d25bfe58f914d695");
93+
Assert.assertEquals(event.getIpAddress(), "66.102.8.147");
94+
Assert.assertNull(event.getRcptType());
95+
Assert.assertNull(event.getQueueTime());
96+
Assert.assertEquals(event.getEventId(), "102595298805510121");
97+
Assert.assertNull(event.getRoutingDomain());
98+
Assert.assertEquals(event.getSendingIp(), "52.39.26.144");
99+
Assert.assertEquals(event.getTemplateId(), "template_30539097546350056");
100+
Assert.assertEquals(event.getDelvMethod(), "esmtp");
101+
Assert.assertEquals(event.getCustomerId(), "1111");
102+
Assert.assertNull(event.getMsgSize());
103+
}
104+
}

0 commit comments

Comments
 (0)