use of com.google.api.services.dns.model.ManagedZonesListResponse in project google-cloud-java by GoogleCloudPlatform.
the class DnsBatchTest method testListZonesWithOptions.
@Test
public void testListZonesWithOptions() {
EasyMock.reset(batchMock);
Capture<RpcBatch.Callback<ManagedZonesListResponse>> callback = Capture.newInstance();
Capture<Map<DnsRpc.Option, Object>> capturedOptions = Capture.newInstance();
batchMock.addListZones(EasyMock.capture(callback), EasyMock.capture(capturedOptions));
EasyMock.replay(batchMock);
DnsBatchResult<Page<Zone>> batchResult = dnsBatch.listZones(ZONE_LIST_OPTIONS);
assertNotNull(callback.getValue());
Integer size = (Integer) capturedOptions.getValue().get(ZONE_LIST_OPTIONS[0].getRpcOption());
assertEquals(MAX_SIZE, size);
String selector = (String) capturedOptions.getValue().get(ZONE_LIST_OPTIONS[1].getRpcOption());
assertEquals(PAGE_TOKEN, selector);
selector = (String) capturedOptions.getValue().get(ZONE_LIST_OPTIONS[2].getRpcOption());
assertTrue(selector.contains(Dns.ZoneField.DESCRIPTION.getSelector()));
assertTrue(selector.contains(Dns.ZoneField.NAME.getSelector()));
selector = (String) capturedOptions.getValue().get(ZONE_LIST_OPTIONS[3].getRpcOption());
assertEquals(DNS_NAME, selector);
// check the callback
ManagedZonesListResponse response = new ManagedZonesListResponse().setManagedZones(ZONE_LIST).setNextPageToken(PAGE_TOKEN);
RpcBatch.Callback<ManagedZonesListResponse> capturedCallback = callback.getValue();
EasyMock.verify(optionsMock);
EasyMock.reset(optionsMock);
EasyMock.expect(optionsMock.getService()).andReturn(dns).times(ZONE_LIST.size());
EasyMock.replay(optionsMock);
capturedCallback.onSuccess(response);
Page<Zone> page = batchResult.get();
assertEquals(PAGE_TOKEN, page.getNextPageToken());
Iterator<Zone> iterator = page.getValues().iterator();
int resultSize = 0;
EasyMock.verify(dns);
EasyMock.reset(dns);
EasyMock.expect(dns.getOptions()).andReturn(optionsMock).times(ZONE_LIST.size() + 1);
EasyMock.replay(dns);
Zone zoneInfoFunctional = new Zone(dns, new ZoneInfo.BuilderImpl(ZONE_INFO));
while (iterator.hasNext()) {
assertEquals(zoneInfoFunctional, iterator.next());
resultSize++;
}
assertEquals(ZONE_LIST.size(), resultSize);
}
Aggregations