Skip to content

Commit d9ac6db

Browse files
committed
update smoke test
1 parent ddb1168 commit d9ac6db

File tree

1 file changed

+50
-167
lines changed

1 file changed

+50
-167
lines changed

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

Lines changed: 50 additions & 167 deletions
Original file line numberDiff line numberDiff line change
@@ -6,36 +6,32 @@
66
import com.bandwidth.sdk.ApiClient;
77
import com.bandwidth.sdk.auth.HttpBasicAuth;
88
import com.bandwidth.sdk.Configuration;
9+
import com.bandwidth.sdk.model.AsyncLookupRequest;
910
import com.bandwidth.sdk.model.CompletedLookupStatusEnum;
11+
import com.bandwidth.sdk.model.CreateAsyncBulkLookupResponse;
12+
import com.bandwidth.sdk.model.CreateAsyncBulkLookupResponseData;
1013
import com.bandwidth.sdk.model.CreateSyncLookupResponse;
1114
import 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;
1318
import com.bandwidth.sdk.model.LatestMessageDeliveryStatusEnum;
1419
import com.bandwidth.sdk.model.LineTypeEnum;
1520
import 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;
2021
import com.bandwidth.sdk.model.LookupResult;
2122
import com.bandwidth.sdk.model.SyncLookupRequest;
2223

23-
import org.junit.jupiter.api.Assertions;
24-
import org.junit.jupiter.api.Disabled;
2524
import org.junit.jupiter.api.Test;
2625

2726
import java.time.LocalDate;
28-
import java.util.ArrayList;
2927
import java.util.Arrays;
3028
import java.util.List;
3129
import java.util.UUID;
3230
import java.util.concurrent.TimeUnit;
3331

3432
import static org.hamcrest.MatcherAssert.assertThat;
3533
import static org.hamcrest.CoreMatchers.instanceOf;
36-
import static org.hamcrest.Matchers.hasProperty;
3734
import static org.hamcrest.Matchers.is;
38-
import static org.hamcrest.Matchers.matchesRegex;
3935

4036
import 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

Comments
 (0)