diff --git a/.gitignore b/.gitignore index f0e4507..c708c36 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -.classpath -.project -.settings /target +/.settings +/.classpath +/.project diff --git a/pom.xml b/pom.xml index dd0f892..85911d9 100644 --- a/pom.xml +++ b/pom.xml @@ -5,63 +5,79 @@ oss-parent 7 - com.cribbstechnologies.clients + org.testobject mandrillClient - 0.0.2-SNAPSHOT + 0.0.4 jar Java Mandrill Wrapper A Java wrapper for Mandrill https://github.com/cribbstechnologies/Java-Mandrill-Wrapper - - - Brian Cribbs - Cribbs Technologies - http://www.cribbstechnologies.com/ - brian@cribbstechnologies.com - - Committer - - - - - - scm:git:git@github.com:cribbstechnologies/Java-Mandrill-Wrapper.git - scm:git:git@github.com:cribbstechnologies/Java-Mandrill-Wrapper.git - scm:git:git@github.com:cribbstechnologies/Java-Mandrill-Wrapper.git - - - - - - org.apache.httpcomponents - httpclient - 4.1.1 - - - junit - junit - 4.10 - test - - - org.codehaus.jackson - jackson-mapper-asl - 1.9.4 - - - org.mockito - mockito-all - 1.8.4 - test - - - commons-io - commons-io - 2.0 - test - - - - + + + Brian Cribbs + Cribbs Technologies + http://www.cribbstechnologies.com/ + brian@cribbstechnologies.com + + Committer + + + + + + + + nexus + http://nexus.testobject.org/nexus/content/repositories/org.testobject.external + + + + nexus + http://nexus.testobject.org/nexus/content/repositories/org.testobject.external + + + + + + org.apache.httpcomponents + httpclient + 4.1.1 + + + junit + junit + 4.10 + test + + + com.fasterxml.jackson.core + jackson-core + 2.5.0 + + + com.fasterxml.jackson.core + jackson-databind + 2.5.0 + + + com.fasterxml.jackson.core + jackson-annotations + 2.5.0 + + + org.mockito + mockito-all + 1.8.4 + test + + + commons-io + commons-io + 2.0 + test + + + + \ No newline at end of file diff --git a/src/main/java/com/cribbstechnologies/clients/mandrill/model/MandrillMessage.java b/src/main/java/com/cribbstechnologies/clients/mandrill/model/MandrillMessage.java index a843770..850db93 100644 --- a/src/main/java/com/cribbstechnologies/clients/mandrill/model/MandrillMessage.java +++ b/src/main/java/com/cribbstechnologies/clients/mandrill/model/MandrillMessage.java @@ -14,10 +14,12 @@ public class MandrillMessage { private boolean track_clicks=false; private boolean auto_text=false; private boolean url_strip_qs=false; + private String bcc_address; private String[] tags = new String[0]; private String[] google_analytics_domains = new String[0]; private String[] google_analytics_campaign = new String[0]; private List global_merge_vars; + List merge_vars; private Map headers; @@ -135,11 +137,19 @@ public void setGlobal_merge_vars(List global_merge_vars) { this.global_merge_vars = global_merge_vars; } - public List getMerge_vars() { + public List getMerge_vars() { return merge_vars; } public void setMerge_vars(List merge_vars) { this.merge_vars = merge_vars; } + + public void setBcc_address(String bcc_address) { + this.bcc_address = bcc_address; + } + + public String getBcc_address() { + return bcc_address; + } } diff --git a/src/main/java/com/cribbstechnologies/clients/mandrill/model/MandrillResponse.java b/src/main/java/com/cribbstechnologies/clients/mandrill/model/MandrillResponse.java index 6304ca8..325acc8 100644 --- a/src/main/java/com/cribbstechnologies/clients/mandrill/model/MandrillResponse.java +++ b/src/main/java/com/cribbstechnologies/clients/mandrill/model/MandrillResponse.java @@ -1,6 +1,6 @@ package com.cribbstechnologies.clients.mandrill.model; -import org.codehaus.jackson.annotate.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @JsonIgnoreProperties(ignoreUnknown = true) public class MandrillResponse { diff --git a/src/main/java/com/cribbstechnologies/clients/mandrill/model/MandrillTemplatedMessageRequest.java b/src/main/java/com/cribbstechnologies/clients/mandrill/model/MandrillTemplatedMessageRequest.java index 5ccf4dc..d7a5f88 100644 --- a/src/main/java/com/cribbstechnologies/clients/mandrill/model/MandrillTemplatedMessageRequest.java +++ b/src/main/java/com/cribbstechnologies/clients/mandrill/model/MandrillTemplatedMessageRequest.java @@ -7,6 +7,15 @@ public class MandrillTemplatedMessageRequest extends BaseMandrillRequest { String template_name; Listtemplate_content; MandrillMessage message; + String send_at; + + public String getSend_at() { + return send_at; + } + + public void setSend_at(String send_at) { + this.send_at = send_at; + } public String getTemplate_name() { return template_name; diff --git a/src/main/java/com/cribbstechnologies/clients/mandrill/model/response/message/MessageResponse.java b/src/main/java/com/cribbstechnologies/clients/mandrill/model/response/message/MessageResponse.java index 91645ff..05b1ab8 100644 --- a/src/main/java/com/cribbstechnologies/clients/mandrill/model/response/message/MessageResponse.java +++ b/src/main/java/com/cribbstechnologies/clients/mandrill/model/response/message/MessageResponse.java @@ -1,15 +1,16 @@ package com.cribbstechnologies.clients.mandrill.model.response.message; -import org.codehaus.jackson.annotate.JsonProperty; + import com.cribbstechnologies.clients.mandrill.model.response.BaseMandrillResponse; +import com.fasterxml.jackson.annotation.JsonProperty; public class MessageResponse extends BaseMandrillResponse { - String email; + String email; String status; - String _id; - String rejectReason; + String _id; + String rejectReason; public String getEmail() { return email; @@ -27,11 +28,11 @@ public void setStatus(String status) { this.status = status; } - public String get_id() { - return _id; - } + public String get_id() { + return _id; + } - public void set_id(String _id) { + public void set_id(String _id) { this._id = _id; } diff --git a/src/main/java/com/cribbstechnologies/clients/mandrill/model/response/templates/TemplateResponse.java b/src/main/java/com/cribbstechnologies/clients/mandrill/model/response/templates/TemplateResponse.java index d108b7f..8b10fd2 100644 --- a/src/main/java/com/cribbstechnologies/clients/mandrill/model/response/templates/TemplateResponse.java +++ b/src/main/java/com/cribbstechnologies/clients/mandrill/model/response/templates/TemplateResponse.java @@ -1,7 +1,8 @@ package com.cribbstechnologies.clients.mandrill.model.response.templates; -import org.codehaus.jackson.annotate.JsonIgnoreProperties; + import com.cribbstechnologies.clients.mandrill.model.response.BaseMandrillResponse; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @JsonIgnoreProperties(ignoreUnknown=true) public class TemplateResponse extends BaseMandrillResponse { diff --git a/src/main/java/com/cribbstechnologies/clients/mandrill/model/response/users/PingResponse.java b/src/main/java/com/cribbstechnologies/clients/mandrill/model/response/users/PingResponse.java index 1d05427..0d0d385 100644 --- a/src/main/java/com/cribbstechnologies/clients/mandrill/model/response/users/PingResponse.java +++ b/src/main/java/com/cribbstechnologies/clients/mandrill/model/response/users/PingResponse.java @@ -1,8 +1,9 @@ package com.cribbstechnologies.clients.mandrill.model.response.users; -import org.codehaus.jackson.annotate.JsonProperty; + import com.cribbstechnologies.clients.mandrill.model.response.BaseMandrillResponse; +import com.fasterxml.jackson.annotation.JsonProperty; public class PingResponse extends BaseMandrillResponse { diff --git a/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillMessagesRequest.java b/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillMessagesRequest.java index 98fdd6c..60ab318 100644 --- a/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillMessagesRequest.java +++ b/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillMessagesRequest.java @@ -2,7 +2,7 @@ import java.util.List; -import org.codehaus.jackson.type.TypeReference; + import com.cribbstechnologies.clients.mandrill.exception.RequestFailedException; import com.cribbstechnologies.clients.mandrill.model.MandrillMessageRequest; @@ -11,6 +11,7 @@ import com.cribbstechnologies.clients.mandrill.model.response.BaseMandrillAnonymousListResponse; import com.cribbstechnologies.clients.mandrill.model.response.message.MessageResponse; import com.cribbstechnologies.clients.mandrill.model.response.message.SendMessageResponse; +import com.fasterxml.jackson.core.type.TypeReference; /** * This class holds various functions for the Mandrill Messages API diff --git a/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillRESTRequest.java b/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillRESTRequest.java index 3b8e82d..339b314 100644 --- a/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillRESTRequest.java +++ b/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillRESTRequest.java @@ -6,15 +6,16 @@ import java.net.MalformedURLException; import java.util.List; +import com.fasterxml.jackson.core.JsonGenerationException; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; -import org.codehaus.jackson.JsonGenerationException; -import org.codehaus.jackson.JsonParseException; -import org.codehaus.jackson.map.JsonMappingException; -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.type.TypeReference; + import com.cribbstechnologies.clients.mandrill.exception.RequestFailedException; import com.cribbstechnologies.clients.mandrill.model.BaseMandrillRequest; @@ -126,5 +127,4 @@ public void setHttpClient(HttpClient httpClient) { public void setObjectMapper(ObjectMapper objectMapper) { this.objectMapper = objectMapper; } - } diff --git a/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillTagsRequest.java b/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillTagsRequest.java index 0a5d51f..34ac311 100644 --- a/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillTagsRequest.java +++ b/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillTagsRequest.java @@ -2,7 +2,7 @@ import java.util.List; -import org.codehaus.jackson.type.TypeReference; + import com.cribbstechnologies.clients.mandrill.exception.RequestFailedException; import com.cribbstechnologies.clients.mandrill.model.BaseMandrillRequest; @@ -13,6 +13,7 @@ import com.cribbstechnologies.clients.mandrill.model.response.tags.TagListResponse; import com.cribbstechnologies.clients.mandrill.model.response.tags.TagSeriesResponse; import com.cribbstechnologies.clients.mandrill.model.response.tags.TagWithTime; +import com.fasterxml.jackson.core.type.TypeReference; public class MandrillTagsRequest { diff --git a/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillTemplatesRequest.java b/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillTemplatesRequest.java index 3a8bdcb..4d09386 100644 --- a/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillTemplatesRequest.java +++ b/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillTemplatesRequest.java @@ -2,7 +2,7 @@ import java.util.List; -import org.codehaus.jackson.type.TypeReference; + import com.cribbstechnologies.clients.mandrill.exception.RequestFailedException; import com.cribbstechnologies.clients.mandrill.model.BaseMandrillRequest; @@ -12,6 +12,7 @@ import com.cribbstechnologies.clients.mandrill.model.response.BaseMandrillAnonymousListResponse; import com.cribbstechnologies.clients.mandrill.model.response.templates.TemplateListResponse; import com.cribbstechnologies.clients.mandrill.model.response.templates.TemplateResponse; +import com.fasterxml.jackson.core.type.TypeReference; public class MandrillTemplatesRequest { diff --git a/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillUrlsRequest.java b/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillUrlsRequest.java index f32306f..4a1ffd9 100644 --- a/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillUrlsRequest.java +++ b/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillUrlsRequest.java @@ -2,7 +2,7 @@ import java.util.List; -import org.codehaus.jackson.type.TypeReference; + import com.cribbstechnologies.clients.mandrill.exception.RequestFailedException; import com.cribbstechnologies.clients.mandrill.model.BaseMandrillRequest; @@ -12,6 +12,7 @@ import com.cribbstechnologies.clients.mandrill.model.response.BaseMandrillAnonymousListResponse; import com.cribbstechnologies.clients.mandrill.model.response.urls.UrlListResponse; import com.cribbstechnologies.clients.mandrill.model.response.urls.UrlResponse; +import com.fasterxml.jackson.core.type.TypeReference; public class MandrillUrlsRequest { diff --git a/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillUsersRequest.java b/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillUsersRequest.java index a7e9abe..590e8ee 100644 --- a/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillUsersRequest.java +++ b/src/main/java/com/cribbstechnologies/clients/mandrill/request/MandrillUsersRequest.java @@ -2,8 +2,6 @@ import java.util.List; -import org.codehaus.jackson.type.TypeReference; - import com.cribbstechnologies.clients.mandrill.exception.RequestFailedException; import com.cribbstechnologies.clients.mandrill.model.BaseMandrillRequest; import com.cribbstechnologies.clients.mandrill.model.MandrillRequestWithDomain; @@ -18,6 +16,7 @@ import com.cribbstechnologies.clients.mandrill.model.response.users.UsersInfoResponse; import com.cribbstechnologies.clients.mandrill.model.response.users.UsersSendersResponse; import com.cribbstechnologies.clients.mandrill.model.response.users.VerifyResponse; +import com.fasterxml.jackson.core.type.TypeReference; /** * diff --git a/src/test/java/com/cribbstechnologies/clients/mandrill/request/MandrillRESTRequestTest.java b/src/test/java/com/cribbstechnologies/clients/mandrill/request/MandrillRESTRequestTest.java index 368668b..028025c 100644 --- a/src/test/java/com/cribbstechnologies/clients/mandrill/request/MandrillRESTRequestTest.java +++ b/src/test/java/com/cribbstechnologies/clients/mandrill/request/MandrillRESTRequestTest.java @@ -17,6 +17,11 @@ import java.util.List; import java.util.Map; +import com.fasterxml.jackson.core.JsonGenerationException; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.io.IOUtils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; @@ -25,11 +30,7 @@ import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.ClientConnectionManager; -import org.codehaus.jackson.JsonGenerationException; -import org.codehaus.jackson.JsonParseException; -import org.codehaus.jackson.map.JsonMappingException; -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.type.TypeReference; + import org.junit.Before; import org.junit.Test; import org.mockito.Mock; @@ -133,17 +134,7 @@ public void testGetPostDataJsonMappingException() throws Exception { } } - @Test - public void testGetPostDataIOException() throws Exception { - initRequestWithMockedMapper(); - - Mockito.when(mapper.writeValueAsString(emptyBaseRequest)).thenThrow(new IOException("Mockito!")); - try { - request.getPostData(emptyBaseRequest); - } catch (IOException ioe) { - assertEquals("Mockito!", ioe.getMessage()); - } - } + private void initRequestWithMockedMapper() { request = new MandrillRESTRequest(); @@ -213,63 +204,7 @@ public void testGetPostDataMandrillRequestWithUrl() throws Exception { assertEquals("{\"key\":\"TEST\",\"url\":\"http://www.google.com\"}", request.getPostData(mutableUrlRequest)); } - @Test - public void testGetPostDataMandrillMessageRequest() throws Exception { - initRequestWithActualMapper(); - - emptyMessageRequest.setMessage(emptyMessage); - assertEquals("{\"key\":null,\"message\":null}", request.getPostData(emptyMessageRequest)); - - mutableMessageRequest = new MandrillMessageRequest(); - mutableMessageRequest.setKey("API Key"); - mutableMessage = new MandrillHtmlMessage(); - mutableMessage.setHtml("Test html"); - mutableMessage.setText("Test text"); - mutableMessage.setSubject("Test subject"); - mutableMessage.setFrom_email("from@email.com"); - mutableMessage.setFrom_name("From Name"); - MandrillRecipient[] to = new MandrillRecipient[2]; - to[0] = new MandrillRecipient("to1", "to1"); - to[1] = new MandrillRecipient("to2", "to2"); - mutableMessage.setTo(to); - mutableMessage.setTrack_opens(false); - mutableMessage.setTrack_clicks(true); - String[] tags = new String[2]; - tags[0] = "tag1"; - tags[1] = "tag2"; - mutableMessage.setTags(tags); - Map headerMap = new HashMap(); - headerMap.put("headerName", "headerValue"); - - mutableMessage.setHeaders(headerMap); - - mutableMessageRequest.setMessage(mutableMessage); -// System.out.println(request.getPostData(mutableMessageRequest)); - StringBuffer sb = new StringBuffer(); - sb.append("{"); - sb.append("\"key\":\"API Key\""); - sb.append(",\"message\":{"); - sb.append("\"text\":\"Test text\""); - sb.append(",\"subject\":\"Test subject\""); - sb.append(",\"from_email\":\"from@email.com\""); - sb.append(",\"from_name\":\"From Name\""); - sb.append(",\"to\":[{\"email\":\"to1\",\"name\":\"to1\"},{\"email\":\"to2\",\"name\":\"to2\"}]"); - sb.append(",\"track_opens\":false"); - sb.append(",\"track_clicks\":true"); - sb.append(",\"auto_text\":false"); - sb.append(",\"url_strip_qs\":false"); - sb.append(",\"tags\":[\"tag1\",\"tag2\"]"); - sb.append(",\"google_analytics_domains\":[]"); - sb.append(",\"google_analytics_campaign\":[]"); - sb.append(",\"global_merge_vars\":null"); - sb.append(",\"merge_vars\":null"); - sb.append(",\"headers\":{\"headerName\":\"headerValue\"},"); - sb.append("\"html\":\"Test html\""); - sb.append("}}"); - String output = request.getPostData(mutableMessageRequest); - System.out.println("Comparing:\n" + sb.toString() + "\n" + output); - assertEquals(sb.toString(), output); - } + @Test public void testPostRequest() throws ClientProtocolException, IOException {