Skip to content

Commit 6f0261e

Browse files
committed
smoke test
1 parent e9c9af0 commit 6f0261e

File tree

1 file changed

+182
-34
lines changed

1 file changed

+182
-34
lines changed

src/test/java/com/bandwidth/sdk/smoke/MultiChannelApiTest.java

Lines changed: 182 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,46 @@
66
import com.bandwidth.sdk.Configuration;
77
import com.bandwidth.sdk.api.MultiChannelApi;
88
import com.bandwidth.sdk.auth.HttpBasicAuth;
9-
import com.bandwidth.sdk.model.MmsMessageContent;
10-
import com.bandwidth.sdk.model.MmsMessageContentFile;
11-
import com.bandwidth.sdk.model.MultiChannelChannelListMMSObject;
12-
// import com.bandwidth.sdk.model.MultiChannelChannelListObject;
13-
// import com.bandwidth.sdk.model.MultiChannelChannelListObjectContent;
9+
import com.bandwidth.sdk.model.MultiChannelMessageRequest;
10+
import com.bandwidth.sdk.model.MultiChannelMessageResponseData;
1411
import com.bandwidth.sdk.model.MultiChannelChannelListRequestObject;
15-
import com.bandwidth.sdk.model.MultiChannelChannelListSMSObject;
12+
import com.bandwidth.sdk.model.MultiChannelChannelListResponseObject;
1613
import com.bandwidth.sdk.model.MultiChannelMessageChannelEnum;
17-
import com.bandwidth.sdk.model.MultiChannelMessageRequest;
18-
import com.bandwidth.sdk.model.PriorityEnum;
14+
import com.bandwidth.sdk.model.MultiChannelChannelListSMSObject;
15+
import com.bandwidth.sdk.model.MultiChannelChannelListSMSResponseObject;
16+
import com.bandwidth.sdk.model.MultiChannelChannelListMMSObject;
17+
import com.bandwidth.sdk.model.MultiChannelChannelListMMSResponseObject;
18+
import com.bandwidth.sdk.model.MultiChannelChannelListRBMObject;
19+
import com.bandwidth.sdk.model.MultiChannelChannelListRBMObjectAllOfContent;
20+
import com.bandwidth.sdk.model.MultiChannelChannelListRBMResponseObject;
21+
import com.bandwidth.sdk.model.CreateMultiChannelMessageResponse;
22+
import com.bandwidth.sdk.model.MessageDirectionEnum;
23+
import com.bandwidth.sdk.model.MmsMessageContent;
24+
import com.bandwidth.sdk.model.MmsMessageContentFile;
25+
import com.bandwidth.sdk.model.MultiChannelAction;
1926
import com.bandwidth.sdk.model.RbmMessageContentText;
2027
import com.bandwidth.sdk.model.SmsMessageContent;
28+
import com.bandwidth.sdk.model.PriorityEnum;
29+
import com.bandwidth.sdk.model.RbmActionDial;
30+
import com.bandwidth.sdk.model.RbmActionTypeEnum;
2131

2232
import org.junit.jupiter.api.BeforeAll;
23-
import org.junit.jupiter.api.Disabled;
2433
import org.junit.jupiter.api.Test;
2534

2635
import java.net.URI;
2736
import java.time.OffsetDateTime;
28-
import java.util.ArrayList;
2937
import java.util.Arrays;
3038
import java.util.List;
39+
import java.util.Set;
3140

3241
import static com.bandwidth.sdk.utils.TestingEnvironmentVariables.*;
3342
import static org.hamcrest.MatcherAssert.assertThat;
3443
import static org.hamcrest.CoreMatchers.instanceOf;
44+
import static org.hamcrest.Matchers.contains;
45+
import static org.hamcrest.CoreMatchers.equalTo;
3546
import static org.hamcrest.CoreMatchers.is;
3647

48+
@SuppressWarnings("null")
3749
public class MultiChannelApiTest {
3850
private static ApiClient defaultClient = Configuration.getDefaultApiClient();
3951
private static HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic");
@@ -46,41 +58,177 @@ public static void setUp() {
4658
}
4759

4860
@Test
49-
// @Disabled
50-
public void createMultiChannelMessageTest() throws ApiException {
51-
MultiChannelChannelListRequestObject channelListObject = new MultiChannelChannelListRequestObject(
61+
public void createMultiChannelSMSMessageTest() throws ApiException {
62+
MultiChannelChannelListRequestObject channelListSMSObject = new MultiChannelChannelListRequestObject(
5263
new MultiChannelChannelListSMSObject()
5364
.from(BW_NUMBER)
5465
.applicationId(BW_MESSAGING_APPLICATION_ID)
55-
.channel(MultiChannelMessageChannelEnum.MMS)
56-
// .content(new MmsMessageContent()
57-
// .media(Arrays.asList(new MmsMessageContentFile()
58-
// .fileUrl(URI.create("https://www.example.com/image.png"))
59-
// ))
60-
// .text("Hello World!")
61-
// )
66+
.channel(MultiChannelMessageChannelEnum.SMS)
6267
.content(new SmsMessageContent().text("Hello World!"))
6368
);
64-
// MultiChannelChannelListObject channelListObject = new MultiChannelChannelListObject()
65-
// .from(BW_NUMBER)
66-
// .applicationId(BW_MESSAGING_APPLICATION_ID)
67-
// .channel(MultiChannelMessageChannelEnum.SMS)
68-
// .content(new MultiChannelChannelListObjectContent(
69-
// new SmsMessageContent().text("Hello World!")
70-
// ));
71-
72-
MultiChannelMessageRequest multiChannelMessageRequest = new MultiChannelMessageRequest()
69+
MultiChannelMessageRequest smsRequest = new MultiChannelMessageRequest()
7370
.to(USER_NUMBER)
7471
.tag("tag")
7572
.priority(PriorityEnum.HIGH)
76-
.expiration(OffsetDateTime.now().plusSeconds(60));
73+
.expiration(OffsetDateTime.now().plusSeconds(60))
74+
.channelList(Arrays.asList(channelListSMSObject));
75+
76+
ApiResponse<CreateMultiChannelMessageResponse> response
77+
= api.createMultiChannelMessageWithHttpInfo(BW_ACCOUNT_ID, smsRequest);
78+
79+
assertThat(response.getStatusCode(), is(202));
80+
assertThat(response.getData(), instanceOf(CreateMultiChannelMessageResponse.class));
81+
assertThat(response.getData().getLinks(), instanceOf(List.class));
82+
assertThat(response.getData().getData(), instanceOf(MultiChannelMessageResponseData.class));
83+
assertThat(response.getData().getData().getId(), instanceOf(String.class));
84+
assertThat(response.getData().getData().getTime(), instanceOf(OffsetDateTime.class));
85+
assertThat(response.getData().getData().getDirection(), instanceOf(MessageDirectionEnum.class));
86+
assertThat(response.getData().getData().getDirection(), equalTo(MessageDirectionEnum.OUT));
87+
assertThat(response.getData().getData().getTo(), instanceOf(Set.class));
88+
assertThat(response.getData().getData().getTo(), contains(USER_NUMBER));
89+
assertThat(response.getData().getData().getTag(), instanceOf(String.class));
90+
assertThat(response.getData().getData().getPriority(), instanceOf(PriorityEnum.class));
91+
assertThat(response.getData().getData().getPriority(), equalTo(PriorityEnum.HIGH));
92+
assertThat(response.getData().getData().getExpiration(), instanceOf(OffsetDateTime.class));
93+
assertThat(response.getData().getData().getChannelList(), instanceOf(List.class));
94+
assertThat(response.getData().getData().getChannelList().get(0), instanceOf(MultiChannelChannelListResponseObject.class));
95+
assertThat(response.getData().getData().getChannelList().get(0).getActualInstance(), instanceOf(MultiChannelChannelListSMSResponseObject.class));
96+
MultiChannelChannelListSMSResponseObject channelListObject
97+
= response.getData().getData().getChannelList().get(0).getMultiChannelChannelListSMSResponseObject();
98+
assertThat(channelListObject.getFrom(), equalTo(BW_NUMBER));
99+
assertThat(channelListObject.getApplicationId(), equalTo(BW_MESSAGING_APPLICATION_ID));
100+
assertThat(channelListObject.getChannel(), instanceOf(MultiChannelMessageChannelEnum.class));
101+
assertThat(channelListObject.getChannel(), equalTo(MultiChannelMessageChannelEnum.SMS));
102+
assertThat(channelListObject.getContent(), instanceOf(SmsMessageContent.class));
103+
assertThat(channelListObject.getContent().getText(), instanceOf(String.class));
104+
assertThat(channelListObject.getOwner(), equalTo(BW_NUMBER));
105+
}
77106

78-
multiChannelMessageRequest.addChannelListItem(channelListObject);
107+
@Test
108+
public void createMultiChannelMMSMessageTest() throws ApiException {
109+
MultiChannelChannelListRequestObject channelListMMSObject = new MultiChannelChannelListRequestObject(
110+
new MultiChannelChannelListMMSObject()
111+
.from(BW_NUMBER)
112+
.applicationId(BW_MESSAGING_APPLICATION_ID)
113+
.channel(MultiChannelMessageChannelEnum.MMS)
114+
.content(new MmsMessageContent()
115+
.media(Arrays.asList(new MmsMessageContentFile()
116+
.fileUrl(URI.create("https://www.example.com/image.png"))
117+
))
118+
.text("Hello World!")
119+
)
120+
);
121+
122+
MultiChannelMessageRequest mmsRequest = new MultiChannelMessageRequest()
123+
.to(USER_NUMBER)
124+
.tag("tag")
125+
.priority(PriorityEnum.HIGH)
126+
.expiration(OffsetDateTime.now().plusSeconds(60))
127+
.channelList(Arrays.asList(channelListMMSObject));
128+
129+
ApiResponse<CreateMultiChannelMessageResponse> response
130+
= api.createMultiChannelMessageWithHttpInfo(BW_ACCOUNT_ID, mmsRequest);
131+
132+
assertThat(response.getStatusCode(), is(202));
133+
assertThat(response.getData(), instanceOf(CreateMultiChannelMessageResponse.class));
134+
assertThat(response.getData().getLinks(), instanceOf(List.class));
135+
assertThat(response.getData().getData(), instanceOf(MultiChannelMessageResponseData.class));
136+
assertThat(response.getData().getData().getId(), instanceOf(String.class));
137+
assertThat(response.getData().getData().getTime(), instanceOf(OffsetDateTime.class));
138+
assertThat(response.getData().getData().getDirection(), instanceOf(MessageDirectionEnum.class));
139+
assertThat(response.getData().getData().getDirection(), equalTo(MessageDirectionEnum.OUT));
140+
assertThat(response.getData().getData().getTo(), instanceOf(Set.class));
141+
assertThat(response.getData().getData().getTo(), contains(USER_NUMBER));
142+
assertThat(response.getData().getData().getTag(), instanceOf(String.class));
143+
assertThat(response.getData().getData().getPriority(), instanceOf(PriorityEnum.class));
144+
assertThat(response.getData().getData().getPriority(), equalTo(PriorityEnum.HIGH));
145+
assertThat(response.getData().getData().getExpiration(), instanceOf(OffsetDateTime.class));
146+
assertThat(response.getData().getData().getChannelList(), instanceOf(List.class));
147+
assertThat(response.getData().getData().getChannelList().get(0), instanceOf(MultiChannelChannelListResponseObject.class));
148+
assertThat(response.getData().getData().getChannelList().get(0).getActualInstance(), instanceOf(MultiChannelChannelListMMSResponseObject.class));
149+
MultiChannelChannelListMMSResponseObject channelListObject
150+
= response.getData().getData().getChannelList().get(0).getMultiChannelChannelListMMSResponseObject();
151+
assertThat(channelListObject.getFrom(), equalTo(BW_NUMBER));
152+
assertThat(channelListObject.getApplicationId(), equalTo(BW_MESSAGING_APPLICATION_ID));
153+
assertThat(channelListObject.getChannel(), instanceOf(MultiChannelMessageChannelEnum.class));
154+
assertThat(channelListObject.getChannel(), equalTo(MultiChannelMessageChannelEnum.MMS));
155+
assertThat(channelListObject.getContent(), instanceOf(MmsMessageContent.class));
156+
assertThat(channelListObject.getContent().getText(), instanceOf(String.class));
157+
assertThat(channelListObject.getContent().getMedia(), instanceOf(List.class));
158+
assertThat(channelListObject.getContent().getMedia().get(0), instanceOf(MmsMessageContentFile.class));
159+
assertThat(channelListObject.getContent().getMedia().get(0).getFileUrl(), instanceOf(URI.class));
160+
assertThat(channelListObject.getOwner(), equalTo(BW_NUMBER));
161+
}
162+
163+
@Test
164+
public void createMultiChannelRBMMessageTest() throws ApiException {
165+
MultiChannelChannelListRequestObject channelListRBMObject = new MultiChannelChannelListRequestObject(
166+
new MultiChannelChannelListRBMObject()
167+
.from(BW_NUMBER)
168+
.applicationId(BW_MESSAGING_APPLICATION_ID)
169+
.channel(MultiChannelMessageChannelEnum.RBM)
170+
.content(new MultiChannelChannelListRBMObjectAllOfContent(
171+
new RbmMessageContentText()
172+
.text("Hello World!")
173+
.suggestions(Arrays.asList(
174+
new MultiChannelAction(new RbmActionDial()
175+
.type(RbmActionTypeEnum.DIAL_PHONE)
176+
.text("Call Us")
177+
.postbackData(new byte[]{1, 2, 3})
178+
.phoneNumber(BW_NUMBER)
179+
)
180+
))
181+
)
182+
)
183+
);
184+
185+
MultiChannelMessageRequest rbmRequest = new MultiChannelMessageRequest()
186+
.to(USER_NUMBER)
187+
.tag("tag")
188+
.priority(PriorityEnum.HIGH)
189+
.expiration(OffsetDateTime.now().plusSeconds(60))
190+
.channelList(Arrays.asList(channelListRBMObject));
79191

80-
ApiResponse response =
81-
api.createMultiChannelMessageWithHttpInfo(BW_ACCOUNT_ID, multiChannelMessageRequest);
82-
System.out.println(response.getData());
192+
ApiResponse<CreateMultiChannelMessageResponse> response
193+
= api.createMultiChannelMessageWithHttpInfo(BW_ACCOUNT_ID, rbmRequest);
194+
83195
assertThat(response.getStatusCode(), is(202));
196+
assertThat(response.getData(), instanceOf(CreateMultiChannelMessageResponse.class));
197+
assertThat(response.getData().getLinks(), instanceOf(List.class));
198+
assertThat(response.getData().getData(), instanceOf(MultiChannelMessageResponseData.class));
199+
assertThat(response.getData().getData().getId(), instanceOf(String.class));
200+
assertThat(response.getData().getData().getTime(), instanceOf(OffsetDateTime.class));
201+
assertThat(response.getData().getData().getDirection(), instanceOf(MessageDirectionEnum.class));
202+
assertThat(response.getData().getData().getDirection(), equalTo(MessageDirectionEnum.OUT));
203+
assertThat(response.getData().getData().getTo(), instanceOf(Set.class));
204+
assertThat(response.getData().getData().getTo(), contains(USER_NUMBER));
205+
assertThat(response.getData().getData().getTag(), instanceOf(String.class));
206+
assertThat(response.getData().getData().getPriority(), instanceOf(PriorityEnum.class));
207+
assertThat(response.getData().getData().getPriority(), equalTo(PriorityEnum.HIGH));
208+
assertThat(response.getData().getData().getExpiration(), instanceOf(OffsetDateTime.class));
209+
assertThat(response.getData().getData().getChannelList(), instanceOf(List.class));
210+
assertThat(response.getData().getData().getChannelList().get(0), instanceOf(MultiChannelChannelListResponseObject.class));
211+
assertThat(response.getData().getData().getChannelList().get(0).getActualInstance(), instanceOf(MultiChannelChannelListRBMResponseObject.class));
212+
MultiChannelChannelListRBMResponseObject channelListObject
213+
= response.getData().getData().getChannelList().get(0).getMultiChannelChannelListRBMResponseObject();
214+
assertThat(channelListObject.getFrom(), equalTo(BW_NUMBER));
215+
assertThat(channelListObject.getApplicationId(), equalTo(BW_MESSAGING_APPLICATION_ID));
216+
assertThat(channelListObject.getChannel(), instanceOf(MultiChannelMessageChannelEnum.class));
217+
assertThat(channelListObject.getChannel(), equalTo(MultiChannelMessageChannelEnum.RBM));
218+
assertThat(channelListObject.getContent(), instanceOf(MultiChannelChannelListRBMObjectAllOfContent.class));
219+
assertThat(channelListObject.getContent().getActualInstance(), instanceOf(RbmMessageContentText.class));
220+
RbmMessageContentText rbmContent = channelListObject.getContent().getRbmMessageContentText();
221+
assertThat(rbmContent.getText(), instanceOf(String.class));
222+
assertThat(rbmContent.getSuggestions(), instanceOf(List.class));
223+
assertThat(rbmContent.getSuggestions().get(0), instanceOf(MultiChannelAction.class));
224+
assertThat(rbmContent.getSuggestions().get(0).getActualInstance(), instanceOf(RbmActionDial.class));
225+
RbmActionDial rbmActionDial = rbmContent.getSuggestions().get(0).getRbmActionDial();
226+
assertThat(rbmActionDial.getType(), instanceOf(RbmActionTypeEnum.class));
227+
assertThat(rbmActionDial.getType(), equalTo(RbmActionTypeEnum.DIAL_PHONE));
228+
assertThat(rbmActionDial.getText(), instanceOf(String.class));
229+
assertThat(rbmActionDial.getPostbackData(), instanceOf(byte[].class));
230+
assertThat(rbmActionDial.getPhoneNumber(), instanceOf(String.class));
231+
assertThat(channelListObject.getOwner(), equalTo(BW_NUMBER));
84232
}
85233

86234
}

0 commit comments

Comments
 (0)