66import com .bandwidth .sdk .ApiClient ;
77import com .bandwidth .sdk .auth .HttpBasicAuth ;
88import com .bandwidth .sdk .Configuration ;
9+ import com .bandwidth .sdk .model .AsyncLookupRequest ;
910import com .bandwidth .sdk .model .CompletedLookupStatusEnum ;
11+ import com .bandwidth .sdk .model .CreateAsyncBulkLookupResponse ;
12+ import com .bandwidth .sdk .model .CreateAsyncBulkLookupResponseData ;
1013import com .bandwidth .sdk .model .CreateSyncLookupResponse ;
1114import com .bandwidth .sdk .model .CreateSyncLookupResponseData ;
12- import com .bandwidth .sdk .model .DeactivationEventEnum ;
15+ import com .bandwidth .sdk .model .GetAsyncBulkLookupResponse ;
16+ import com .bandwidth .sdk .model .GetAsyncBulkLookupResponseData ;
17+ import com .bandwidth .sdk .model .InProgressLookupStatusEnum ;
1318import com .bandwidth .sdk .model .LatestMessageDeliveryStatusEnum ;
1419import com .bandwidth .sdk .model .LineTypeEnum ;
1520import com .bandwidth .sdk .model .LinkSchema ;
16- // import com.bandwidth.sdk.model.LookupRequest;
17- // import com.bandwidth.sdk.model.LookupStatus;
18- // import com.bandwidth.sdk.model.LookupStatusEnum;
19- // import com.bandwidth.sdk.model.CreateLookupResponse;
2021import com .bandwidth .sdk .model .LookupResult ;
2122import com .bandwidth .sdk .model .SyncLookupRequest ;
2223
23- import org .junit .jupiter .api .Assertions ;
24- import org .junit .jupiter .api .Disabled ;
2524import org .junit .jupiter .api .Test ;
2625
2726import java .time .LocalDate ;
28- import java .util .ArrayList ;
2927import java .util .Arrays ;
3028import java .util .List ;
3129import java .util .UUID ;
3230import java .util .concurrent .TimeUnit ;
3331
3432import static org .hamcrest .MatcherAssert .assertThat ;
3533import static org .hamcrest .CoreMatchers .instanceOf ;
36- import static org .hamcrest .Matchers .hasProperty ;
3734import static org .hamcrest .Matchers .is ;
38- import static org .hamcrest .Matchers .matchesRegex ;
3935
4036import static com .bandwidth .sdk .utils .TestingEnvironmentVariables .*;
4137
@@ -45,72 +41,20 @@ public class PhoneNumberLookupApiTest {
4541 ApiClient defaultClient = Configuration .getDefaultApiClient ();
4642 HttpBasicAuth Basic = (HttpBasicAuth ) defaultClient .getAuthentication ("Basic" );
4743 private final PhoneNumberLookupApi api = new PhoneNumberLookupApi (defaultClient );
48- // LookupRequest lookupRequest = new LookupRequest();
49-
50- // /**
51- // * Validate a LookupResult object
52- // *
53- // * @param result A LookupResult object
54- // * @param phoneNumber A String phone number in E164 format to check against the
55- // * E164 format value in the result
56- // */
57- // private void validateResult(LookupResult result, String phoneNumber) {
58- // if (result.getMobileCountryCode() != null || result.getMobileNetworkCode() != null) {
59- // assertThat(result.getMobileCountryCode(), instanceOf(String.class));
60- // assertThat(result.getMobileNetworkCode(), instanceOf(String.class));
61- // }
62-
63- // assertThat(result, hasProperty("responseCode"));
64- // assertThat(result, hasProperty("message"));
65- // assertThat(result, hasProperty("e164Format"));
66- // assertThat(result, hasProperty("formatted"));
67- // assertThat(result, hasProperty("country"));
68- // assertThat(result, hasProperty("lineType"));
69- // assertThat(result, hasProperty("lineProvider"));
70- // assertThat(result, hasProperty("mobileCountryCode"));
71- // assertThat(result, hasProperty("mobileNetworkCode"));
72-
73- // assertThat(result.getE164Format(), is(phoneNumber));
74- // }
75-
76- // /**
77- // * Poll for a completed TN Lookup order
78- // *
79- // * @param requestId String requestId to poll for
80- // * @return the completed lookup status
81- // * @throws Exception If status was not complete after 5 attempts
82- // */
83- // private LookupStatus pollLookupStatus(String requestId) throws Exception {
84- // int attempt = 1;
85- // LookupStatus lookupStatus = this.api.getLookupStatus(BW_ACCOUNT_ID, requestId);
86-
87- // do {
88- // try {
89- // lookupStatus = this.api.getLookupStatus(BW_ACCOUNT_ID, requestId);
90- // TimeUnit.SECONDS.sleep(2);
91- // attempt += 1;
92- // } catch (ApiException e) {
93- // throw new Exception(
94- // "Polling for TnLookup order status failed. \nStatus Code: " + String.valueOf(e.getCode())
95- // + "\nMessage: " + e.getMessage());
96- // }
97- // } while (attempt <= 5 && lookupStatus.getStatus() != LookupStatusEnum.COMPLETE);
98- // return lookupStatus;
99- // }
44+ private final List <String > phoneNumbers = Arrays .asList (BW_NUMBER , VZW_NUMBER , ATT_NUMBER , T_MOBILE_NUMBER );
10045
10146 @ Test
10247 public void createSyncLookupTest () throws ApiException {
10348 Basic .setUsername (BW_USERNAME );
10449 Basic .setPassword (BW_PASSWORD );
10550
106- List <String > phoneNumbers = Arrays .asList (BW_NUMBER , VZW_NUMBER , ATT_NUMBER , T_MOBILE_NUMBER );
10751 SyncLookupRequest lookupRequest = new SyncLookupRequest ()
10852 .phoneNumbers (phoneNumbers );
10953
11054 ApiResponse <CreateSyncLookupResponse > response = api .createSyncLookupWithHttpInfo (BW_ACCOUNT_ID , lookupRequest );
111- CreateSyncLookupResponse lookupResponse = response .getData ();
11255 assertThat (response .getStatusCode (), is (200 ));
11356 assertThat (response .getData (), instanceOf (CreateSyncLookupResponse .class ));
57+ CreateSyncLookupResponse lookupResponse = response .getData ();
11458 assertThat (lookupResponse .getLinks (), instanceOf (List .class ));
11559 assertThat (lookupResponse .getLinks ().get (0 ), instanceOf (LinkSchema .class ));
11660 assertThat (lookupResponse .getData (), instanceOf (CreateSyncLookupResponseData .class ));
@@ -126,111 +70,50 @@ public void createSyncLookupTest() throws ApiException {
12670 assertThat (firstResult .getLatestMessageDeliveryStatus (), instanceOf (LatestMessageDeliveryStatusEnum .class ));
12771 assertThat (firstResult .getInitialMessageDeliveryStatusDate (), instanceOf (LocalDate .class ));
12872 assertThat (firstResult .getLatestMessageDeliveryStatusDate (), instanceOf (LocalDate .class ));
73+ }
12974
75+ @ Test
76+ public void createGetAsyncLookupTest () throws ApiException , InterruptedException {
77+ Basic .setUsername (BW_USERNAME );
78+ Basic .setPassword (BW_PASSWORD );
13079
131- System .out .println ("Lookup Response: " + lookupResponse );
132- }
80+ AsyncLookupRequest lookupRequest = new AsyncLookupRequest ()
81+ .phoneNumbers (phoneNumbers );
82+
83+ ApiResponse <CreateAsyncBulkLookupResponse > createResponse
84+ = api .createAsyncBulkLookupWithHttpInfo (BW_ACCOUNT_ID , lookupRequest );
85+
86+ assertThat (createResponse .getStatusCode (), is (202 ));
87+ assertThat (createResponse .getData (), instanceOf (CreateAsyncBulkLookupResponse .class ));
88+ assertThat (createResponse .getData ().getData (), instanceOf (CreateAsyncBulkLookupResponseData .class ));
89+ assertThat (createResponse .getData ().getData ().getRequestId (), instanceOf (UUID .class ));
90+ assertThat (createResponse .getData ().getData ().getStatus (), instanceOf (InProgressLookupStatusEnum .class ));
91+ UUID requestId = createResponse .getData ().getData ().getRequestId ();
13392
93+ TimeUnit .SECONDS .sleep (5 );
13494
135- // @SuppressWarnings("null")
136- // @Test
137- // public void successfulPhoneNumberLookup() throws Exception, ApiException {
138- // Basic.setUsername(BW_USERNAME);
139- // Basic.setPassword(BW_PASSWORD);
140-
141- // lookupRequest.addTnsItem(BW_NUMBER);
142- // lookupRequest.addTnsItem(VZW_NUMBER);
143- // lookupRequest.addTnsItem(ATT_NUMBER);
144- // lookupRequest.addTnsItem(T_MOBILE_NUMBER);
145-
146- // // Create the lookup request and validate the response
147- // ApiResponse<CreateLookupResponse> response = api.createLookupWithHttpInfo(BW_ACCOUNT_ID, lookupRequest);
148- // CreateLookupResponse lookupResponse = response.getData();
149- // assertThat(response.getStatusCode(), is(202));
150- // assertThat(response.getData(), instanceOf(CreateLookupResponse.class));
151- // assertThat(lookupResponse.getStatus(), is(LookupStatusEnum.IN_PROGRESS));
152- // assertThat(lookupResponse.getRequestId(), instanceOf(String.class));
153- // assertThat(lookupResponse.getRequestId(),
154- // matchesRegex("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"));
155-
156- // // Test GET LookupStatus Response
157- // ApiResponse<LookupStatus> lookupStatusResponse = api.getLookupStatusWithHttpInfo(BW_ACCOUNT_ID,
158- // lookupResponse.getRequestId());
159- // assertThat(lookupStatusResponse.getStatusCode(), is(200));
160-
161- // LookupStatus completedLookup = null;
162- // try {
163- // completedLookup = pollLookupStatus(lookupStatusResponse.getData().getRequestId());
164- // } catch (Exception e) {
165- // throw e;
166- // }
167- // assertThat(lookupStatusResponse.getData().getRequestId(), is(completedLookup.getRequestId()));
168-
169- // for (LookupResult result : completedLookup.getResult()) {
170- // assertThat(result, instanceOf(LookupResult.class));
171- // }
172-
173- // LookupResult bwLookupResult = completedLookup.getResult().get(0);
174- // validateResult(bwLookupResult, BW_NUMBER);
175-
176- // LookupResult vzwLookupResult = completedLookup.getResult().get(1);
177- // validateResult(vzwLookupResult, VZW_NUMBER);
178-
179- // LookupResult attLookupResult = completedLookup.getResult().get(2);
180- // validateResult(attLookupResult, ATT_NUMBER);
181-
182- // LookupResult tMobileLookupResult = completedLookup.getResult().get(3);
183- // validateResult(tMobileLookupResult, T_MOBILE_NUMBER);
184-
185- // }
186-
187- // @Test
188- // public void failedPhoneNumberLookup() throws ApiException {
189- // Basic.setUsername(BW_USERNAME);
190- // Basic.setPassword(BW_PASSWORD);
191-
192- // lookupRequest.addTnsItem("not a number");
193-
194- // ApiException exception = Assertions.assertThrows(ApiException.class,
195- // () -> api.createLookup(BW_ACCOUNT_ID, lookupRequest));
196- // assertThat(exception.getCode(), is(400));
197- // }
198-
199- // @Test
200- // public void duplicatePhoneNumberLookup() throws ApiException {
201- // Basic.setUsername(BW_USERNAME);
202- // Basic.setPassword(BW_PASSWORD);
203-
204- // lookupRequest.addTnsItem(BW_NUMBER);
205- // lookupRequest.addTnsItem(BW_NUMBER);
206-
207- // ApiException exception = Assertions.assertThrows(ApiException.class,
208- // () -> api.createLookup(BW_ACCOUNT_ID, lookupRequest));
209- // assertThat(exception.getCode(), is(400));
210- // }
211-
212- // @Test
213- // public void unauthorizedRequest() throws ApiException {
214- // Basic.setUsername("bad_username");
215- // Basic.setPassword("bad_password");
216-
217- // lookupRequest.addTnsItem(BW_NUMBER);
218-
219- // ApiException exception = Assertions.assertThrows(ApiException.class,
220- // () -> api.createLookup(BW_ACCOUNT_ID, lookupRequest));
221- // assertThat(exception.getCode(), is(401));
222- // }
223-
224- // @Disabled(("403 Response is not implemented in the API"))
225- // @Test
226- // public void forbiddenRequest() throws ApiException {
227- // Basic.setUsername(FORBIDDEN_USERNAME);
228- // Basic.setPassword(FORBIDDEN_PASSWORD);
229-
230- // lookupRequest.addTnsItem(BW_NUMBER);
231-
232- // ApiException exception = Assertions.assertThrows(ApiException.class,
233- // () -> api.createLookup(BW_ACCOUNT_ID, lookupRequest));
234- // assertThat(exception.getCode(), is(403));
235- // }
95+ ApiResponse <GetAsyncBulkLookupResponse > getResponse
96+ = api .getAsyncBulkLookupWithHttpInfo (BW_ACCOUNT_ID , requestId );
97+
98+ assertThat (getResponse .getStatusCode (), is (200 ));
99+ assertThat (getResponse .getData (), instanceOf (GetAsyncBulkLookupResponse .class ));
100+ GetAsyncBulkLookupResponse lookupResponse = getResponse .getData ();
101+ assertThat (lookupResponse .getLinks (), instanceOf (List .class ));
102+ assertThat (lookupResponse .getLinks ().get (0 ), instanceOf (LinkSchema .class ));
103+ assertThat (lookupResponse .getData (), instanceOf (GetAsyncBulkLookupResponseData .class ));
104+ assertThat (lookupResponse .getData ().getRequestId (), instanceOf (UUID .class ));
105+ assertThat (lookupResponse .getData ().getStatus (), instanceOf (InProgressLookupStatusEnum .class ));
106+ assertThat (lookupResponse .getData ().getResults (), instanceOf (List .class ));
107+ LookupResult firstResult = lookupResponse .getData ().getResults ().get (0 );
108+ assertThat (firstResult .getPhoneNumber (), instanceOf (String .class ));
109+ assertThat (firstResult .getLineType (), instanceOf (LineTypeEnum .class ));
110+ assertThat (firstResult .getMessagingProvider (), instanceOf (String .class ));
111+ assertThat (firstResult .getVoiceProvider (), instanceOf (String .class ));
112+ assertThat (firstResult .getCountryCodeA3 (), instanceOf (String .class ));
113+ assertThat (firstResult .getLatestMessageDeliveryStatus (), instanceOf (LatestMessageDeliveryStatusEnum .class ));
114+ assertThat (firstResult .getInitialMessageDeliveryStatusDate (), instanceOf (LocalDate .class ));
115+ assertThat (firstResult .getLatestMessageDeliveryStatusDate (), instanceOf (LocalDate .class ));
116+ // ASK ABOUT LATENCY / RESPONSE TIME GUARANTEE FOR ASYNC LOOKUP
117+
118+ }
236119}
0 commit comments