66import com .bandwidth .sdk .Configuration ;
77import com .bandwidth .sdk .api .MultiChannelApi ;
88import com .bandwidth .sdk .auth .HttpBasicAuth ;
9- // import com.bandwidth.sdk.model.MultiChannelChannelListObject;
10- // import com.bandwidth.sdk.model.MultiChannelChannelListObjectContent;
9+ import com .bandwidth .sdk .model .CreateMultiChannelMessageResponse ;
10+ import com .bandwidth .sdk .model .MessageDirectionEnum ;
11+ import com .bandwidth .sdk .model .MmsMessageContent ;
12+ import com .bandwidth .sdk .model .MmsMessageContentFile ;
13+ import com .bandwidth .sdk .model .MultiChannelAction ;
14+ import com .bandwidth .sdk .model .MultiChannelChannelListMMSObject ;
15+ import com .bandwidth .sdk .model .MultiChannelChannelListMMSResponseObject ;
16+ import com .bandwidth .sdk .model .MultiChannelChannelListRBMObject ;
17+ import com .bandwidth .sdk .model .MultiChannelChannelListRBMObjectAllOfContent ;
18+ import com .bandwidth .sdk .model .MultiChannelChannelListRBMResponseObject ;
19+ import com .bandwidth .sdk .model .MultiChannelChannelListRequestObject ;
20+ import com .bandwidth .sdk .model .MultiChannelChannelListResponseObject ;
21+ import com .bandwidth .sdk .model .MultiChannelChannelListSMSObject ;
22+ import com .bandwidth .sdk .model .MultiChannelChannelListSMSResponseObject ;
1123import com .bandwidth .sdk .model .MultiChannelMessageChannelEnum ;
1224import com .bandwidth .sdk .model .MultiChannelMessageRequest ;
25+ import com .bandwidth .sdk .model .MultiChannelMessageResponseData ;
1326import com .bandwidth .sdk .model .PriorityEnum ;
27+ import com .bandwidth .sdk .model .RbmActionDial ;
28+ import com .bandwidth .sdk .model .RbmActionTypeEnum ;
29+ import com .bandwidth .sdk .model .RbmMessageContentText ;
1430import com .bandwidth .sdk .model .SmsMessageContent ;
1531
1632import org .junit .jupiter .api .BeforeAll ;
17- import org .junit .jupiter .api .Disabled ;
1833import org .junit .jupiter .api .Test ;
1934
35+ import java .net .URI ;
2036import java .time .OffsetDateTime ;
37+ import java .util .Arrays ;
38+ import java .util .List ;
39+ import java .util .Set ;
2140
2241import static com .bandwidth .sdk .utils .TestingEnvironmentVariables .*;
2342import static org .hamcrest .MatcherAssert .assertThat ;
43+ import static org .mockito .ArgumentMatchers .contains ;
44+ import static org .hamcrest .CoreMatchers .equalTo ;
45+ import static org .hamcrest .CoreMatchers .instanceOf ;
2446import static org .hamcrest .CoreMatchers .is ;
2547
48+ @ SuppressWarnings ("null" )
2649public class MultiChannelApiTest {
2750 private static ApiClient defaultClient = Configuration .getDefaultApiClient ();
2851 private static HttpBasicAuth Basic = (HttpBasicAuth ) defaultClient .getAuthentication ("Basic" );
@@ -35,26 +58,38 @@ public static void setUp() {
3558 api .setCustomBaseUrl ("http://127.0.0.1:4010" );
3659 }
3760
38- // @Test
39- // @Disabled // skip because prism can't handle a oneOf with differing required fields
40- // public void createMultiChannelMessageTest() throws ApiException {
41- // MultiChannelChannelListObject channelListObject = new MultiChannelChannelListObject()
42- // .from(BW_NUMBER)
43- // .applicationId(BW_MESSAGING_APPLICATION_ID)
44- // .channel(MultiChannelMessageChannelEnum.SMS)
45- // .content(new MultiChannelChannelListObjectContent(new SmsMessageContent()
46- // .text("Hello World!")));
47- // MultiChannelMessageRequest multiChannelMessageRequest = new MultiChannelMessageRequest()
48- // .to(USER_NUMBER)
49- // .tag("tag")
50- // .priority(PriorityEnum.DEFAULT)
51- // .expiration(OffsetDateTime.now());
52-
53- // multiChannelMessageRequest.addChannelListItem(channelListObject);
54-
55- // ApiResponse response =
56- // api.createMultiChannelMessageWithHttpInfo(BW_ACCOUNT_ID, multiChannelMessageRequest);
57- // assertThat(response.getStatusCode(), is(202));
58- // }
61+ @ Test
62+ public void createMultiChannelMessageTest () throws ApiException {
63+ MultiChannelChannelListRequestObject channelListSMSObject = new MultiChannelChannelListRequestObject (
64+ new MultiChannelChannelListSMSObject ()
65+ .from (BW_NUMBER )
66+ .applicationId (BW_MESSAGING_APPLICATION_ID )
67+ .channel (MultiChannelMessageChannelEnum .SMS )
68+ .content (new SmsMessageContent ().text ("Hello World!" ))
69+ );
70+ MultiChannelMessageRequest smsRequest = new MultiChannelMessageRequest ()
71+ .to (USER_NUMBER )
72+ .tag ("tag" )
73+ .priority (PriorityEnum .HIGH )
74+ .expiration (OffsetDateTime .now ().plusSeconds (60 ))
75+ .channelList (Arrays .asList (channelListSMSObject ));
76+
77+ ApiResponse <CreateMultiChannelMessageResponse > response
78+ = api .createMultiChannelMessageWithHttpInfo (BW_ACCOUNT_ID , smsRequest );
79+
80+ assertThat (response .getStatusCode (), is (202 ));
81+ assertThat (response .getData (), instanceOf (CreateMultiChannelMessageResponse .class ));
82+ assertThat (response .getData ().getLinks (), instanceOf (List .class ));
83+ assertThat (response .getData ().getData (), instanceOf (MultiChannelMessageResponseData .class ));
84+ assertThat (response .getData ().getData ().getId (), instanceOf (String .class ));
85+ assertThat (response .getData ().getData ().getTime (), instanceOf (OffsetDateTime .class ));
86+ assertThat (response .getData ().getData ().getDirection (), instanceOf (MessageDirectionEnum .class ));
87+ assertThat (response .getData ().getData ().getTo (), instanceOf (Set .class ));
88+ assertThat (response .getData ().getData ().getTag (), instanceOf (String .class ));
89+ assertThat (response .getData ().getData ().getPriority (), instanceOf (PriorityEnum .class ));
90+ assertThat (response .getData ().getData ().getExpiration (), instanceOf (OffsetDateTime .class ));
91+ assertThat (response .getData ().getData ().getChannelList (), instanceOf (List .class ));
92+ assertThat (response .getData ().getData ().getChannelList ().get (0 ), instanceOf (MultiChannelChannelListResponseObject .class ));
93+ }
5994
6095}
0 commit comments