Skip to content

Commit defc2c0

Browse files
author
marcel corso gonzalez
authored
Merge pull request #59 from denizkilic/mockListContacts
Mock list contacts
2 parents f92cd93 + 965744a commit defc2c0

File tree

6 files changed

+69
-20
lines changed

6 files changed

+69
-20
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@ If you are using maven simply add the messagebird API to your dependencies like
2929
<dependency>
3030
<groupId>com.messagebird</groupId>
3131
<artifactId>messagebird-api</artifactId>
32-
<version>2.1.0</version>
32+
<version>2.1.1</version>
3333
</dependency>
3434
```
3535

3636
In case you are building without maven you still need maven to build the libraries but
3737
then simply copy the following jar's over to your project
3838

3939
```
40-
messagebird-api-2.1.0.jar
40+
messagebird-api-2.1.1.jar
4141
jackson-core-2.9.8.jar
4242
jackson-databind-2.9.8.jar
4343
jackson-dataformat-csv-2.9.8.jar

api/pom.xml

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<project xmlns="http://maven.apache.org/POM/4.0.0"
3-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4-
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
53
<modelVersion>4.0.0</modelVersion>
64

75
<groupId>com.messagebird</groupId>
86
<artifactId>messagebird-api</artifactId>
9-
<version>2.1.0</version> <!--
7+
<version>2.1.2</version> <!--
108
are you going to bump a major number?
119
then you are pleased to replace com.messagebird.Base64 with some library, for example net.iharder.base64
1210
-->
@@ -44,7 +42,8 @@
4442
<connection>scm:git:[email protected]:messagebird/java-rest-api.git</connection>
4543
<developerConnection>scm:git:[email protected]:messagebird/java-rest-api.git</developerConnection>
4644
<url>[email protected]:messagebird/java-rest-api.git</url>
47-
</scm>
45+
<tag>HEAD</tag>
46+
</scm>
4847

4948
<profiles>
5049
<profile>
@@ -54,8 +53,8 @@
5453
</activation>
5554
<properties>
5655
<skipTests>true</skipTests>
57-
<messageBirdAccessKey></messageBirdAccessKey>
58-
<messageBirdMSISDN></messageBirdMSISDN>
56+
<messageBirdAccessKey />
57+
<messageBirdMSISDN />
5958
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
6059
</properties>
6160
</profile>
@@ -73,8 +72,8 @@
7372
<properties>
7473
<doclint>none</doclint>
7574
<skipTests>true</skipTests>
76-
<messageBirdAccessKey></messageBirdAccessKey>
77-
<messageBirdMSISDN></messageBirdMSISDN>
75+
<messageBirdAccessKey />
76+
<messageBirdMSISDN />
7877
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
7978
</properties>
8079
</profile>
@@ -102,6 +101,12 @@
102101
<version>4.11</version>
103102
<scope>test</scope>
104103
</dependency>
104+
<dependency>
105+
<groupId>org.unitils</groupId>
106+
<artifactId>unitils-core</artifactId>
107+
<version>3.4.2</version>
108+
<scope>test</scope>
109+
</dependency>
105110
<dependency>
106111
<groupId>org.mockito</groupId>
107112
<artifactId>mockito-core</artifactId>

api/src/main/java/com/messagebird/MessageBirdServiceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public class MessageBirdServiceImpl implements MessageBirdService {
5757

5858
private final String accessKey;
5959
private final String serviceUrl;
60-
private final String clientVersion = "2.1.0";
60+
private final String clientVersion = "2.1.1";
6161
private final String userAgentString;
6262
private Proxy proxy = null;
6363

api/src/test/java/com/messagebird/ContactTest.java

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,16 @@
55
import com.messagebird.exceptions.UnauthorizedException;
66
import com.messagebird.objects.*;
77
import org.junit.*;
8-
8+
import org.mockito.Mockito;
99
import static org.junit.Assert.*;
10+
import static org.mockito.Mockito.*;
11+
import static org.unitils.reflectionassert.ReflectionAssert.assertReflectionEquals;
1012

1113
public class ContactTest {
1214

1315
private static MessageBirdServiceImpl messageBirdService;
1416
private static MessageBirdClient messageBirdClient;
17+
private static final String CONTACTPATH = "/contacts";
1518

1619
private static String msisdn;
1720

@@ -62,12 +65,20 @@ public static void tearDown() throws UnauthorizedException, GeneralException, No
6265

6366
@Test
6467
public void testList() throws UnauthorizedException, GeneralException {
65-
ContactList actual = messageBirdClient.listContacts();
68+
final ContactList contactResponseList = TestUtil.createContactList();
69+
70+
MessageBirdService messageBirdServiceMock = mock(MessageBirdService.class);
71+
MessageBirdClient messageBirdClientInjectMock = new MessageBirdClient(messageBirdServiceMock);
72+
73+
when(messageBirdServiceMock.requestList(Mockito.eq(CONTACTPATH), Mockito.eq(0), Mockito.eq(20),
74+
Mockito.eq(ContactList.class)))
75+
.thenReturn(contactResponseList);
6676

67-
assertSame(20, actual.getLimit());
68-
assertSame(0, actual.getOffset());
69-
assertNotSame(0, actual.getTotalCount());
70-
assertNotNull(actual.getItems().get(0).getId());
77+
final ContactList response = messageBirdClientInjectMock.listContacts();
78+
verify(messageBirdServiceMock, times(1))
79+
.requestList(Mockito.eq(CONTACTPATH), Mockito.eq(0), Mockito.eq(20),
80+
Mockito.eq(ContactList.class));
81+
assertReflectionEquals(response.getItems().get(0),contactResponseList.getItems().get(0));
7182
}
7283

7384
@Test

api/src/test/java/com/messagebird/TestUtil.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,4 +115,37 @@ static WebhookResponseData createWebhookResponseData() {
115115
webhookResponseData.setData(Collections.singletonList(createWebhookResponse()));
116116
return webhookResponseData;
117117
}
118+
119+
private static Contact createContact(){
120+
final CustomDetails customDetails = new CustomDetails();
121+
customDetails.setCustom1("ANY_DETAIL");
122+
123+
final MessageReference messageReference = new MessageReference();
124+
messageReference.setHREF("ANY_HREF");
125+
messageReference.setTotalCount(30);
126+
127+
final GroupReference groupReference = new GroupReference();
128+
groupReference.setHREF("ANY_HREF");
129+
groupReference.setTotalCount(30);
130+
131+
final Contact contact = new Contact();
132+
contact.setFirstName("ANY_NAME");
133+
contact.setLastName("ANY_LAST_NAME");
134+
contact.setId("ANY_ID");
135+
contact.setCreatedDatetime(new Date());
136+
contact.setMsisdn("ANY_MSISDN");
137+
contact.setCustomDetails(customDetails);
138+
contact.setMessages(messageReference);
139+
contact.setHref("ANY_HREF");
140+
contact.setGroups(groupReference);
141+
contact.setUpdatedDatetime(new Date());
142+
143+
return contact;
144+
}
145+
static ContactList createContactList() {
146+
final ContactList contactList = new ContactList();
147+
contactList.setItems(Collections.singletonList(createContact()));
148+
return contactList;
149+
}
150+
118151
}

examples/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.messagebird</groupId>
88
<artifactId>examples</artifactId>
9-
<version>2.1.0</version>
9+
<version>2.1.1</version>
1010

1111
<licenses>
1212
<license>
@@ -20,7 +20,7 @@
2020
<dependency>
2121
<groupId>com.messagebird</groupId>
2222
<artifactId>messagebird-api</artifactId>
23-
<version>2.1.0</version>
23+
<version>2.1.1</version>
2424
</dependency>
2525
</dependencies>
2626

0 commit comments

Comments
 (0)