66import com .bandwidth .sdk .Configuration ;
77import com .bandwidth .sdk .api .MultiChannelApi ;
88import 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 ;
1411import com .bandwidth .sdk .model .MultiChannelChannelListRequestObject ;
15- import com .bandwidth .sdk .model .MultiChannelChannelListSMSObject ;
12+ import com .bandwidth .sdk .model .MultiChannelChannelListResponseObject ;
1613import 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 ;
1926import com .bandwidth .sdk .model .RbmMessageContentText ;
2027import 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
2232import org .junit .jupiter .api .BeforeAll ;
23- import org .junit .jupiter .api .Disabled ;
2433import org .junit .jupiter .api .Test ;
2534
2635import java .net .URI ;
2736import java .time .OffsetDateTime ;
28- import java .util .ArrayList ;
2937import java .util .Arrays ;
3038import java .util .List ;
39+ import java .util .Set ;
3140
3241import static com .bandwidth .sdk .utils .TestingEnvironmentVariables .*;
3342import static org .hamcrest .MatcherAssert .assertThat ;
3443import static org .hamcrest .CoreMatchers .instanceOf ;
44+ import static org .hamcrest .Matchers .contains ;
45+ import static org .hamcrest .CoreMatchers .equalTo ;
3546import static org .hamcrest .CoreMatchers .is ;
3647
48+ @ SuppressWarnings ("null" )
3749public 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