use of com.google.api.services.dns.model.ChangesListResponse in project google-cloud-java by GoogleCloudPlatform.
the class DnsBatchTest method testListChangeRequestsWithOptions.
@Test
public void testListChangeRequestsWithOptions() {
EasyMock.reset(batchMock);
Capture<RpcBatch.Callback<ChangesListResponse>> callback = Capture.newInstance();
Capture<Map<DnsRpc.Option, Object>> capturedOptions = Capture.newInstance();
batchMock.addListChangeRequests(EasyMock.eq(ZONE_NAME), EasyMock.capture(callback), EasyMock.capture(capturedOptions));
EasyMock.replay(batchMock);
DnsBatchResult<Page<ChangeRequest>> batchResult = dnsBatch.listChangeRequests(ZONE_NAME, CHANGE_LIST_OPTIONS);
assertNotNull(callback.getValue());
Integer size = (Integer) capturedOptions.getValue().get(CHANGE_LIST_OPTIONS[0].getRpcOption());
assertEquals(MAX_SIZE, size);
String selector = (String) capturedOptions.getValue().get(CHANGE_LIST_OPTIONS[1].getRpcOption());
assertEquals(PAGE_TOKEN, selector);
selector = (String) capturedOptions.getValue().get(CHANGE_LIST_OPTIONS[2].getRpcOption());
assertTrue(selector.contains(Dns.ChangeRequestField.STATUS.getSelector()));
assertTrue(selector.contains(Dns.ChangeRequestField.ID.getSelector()));
selector = (String) capturedOptions.getValue().get(CHANGE_LIST_OPTIONS[3].getRpcOption());
assertTrue(selector.contains(Dns.SortingOrder.ASCENDING.selector()));
// check the callback
ChangesListResponse response = new ChangesListResponse().setChanges(CHANGE_LIST).setNextPageToken(PAGE_TOKEN);
RpcBatch.Callback<ChangesListResponse> capturedCallback = callback.getValue();
EasyMock.verify(optionsMock);
EasyMock.reset(optionsMock);
EasyMock.expect(optionsMock.getService()).andReturn(dns);
EasyMock.replay(optionsMock);
capturedCallback.onSuccess(response);
Page<ChangeRequest> page = batchResult.get();
assertEquals(PAGE_TOKEN, page.getNextPageToken());
Iterator<ChangeRequest> iterator = page.getValues().iterator();
int resultSize = 0;
EasyMock.verify(dns);
EasyMock.reset(dns);
EasyMock.expect(dns.getOptions()).andReturn(optionsMock).times(CHANGE_LIST.size());
EasyMock.replay(dns);
while (iterator.hasNext()) {
assertEquals(CHANGE_REQUEST_COMPLETE.toPb(), iterator.next().toPb());
resultSize++;
}
assertEquals(CHANGE_LIST.size(), resultSize);
}