/** Returns an option to specify the maximum number of resources returned per page. */ public static ListOption pageSize(int pageSize) { return new ListOption(OptionType.PAGE_SIZE, pageSize); }
/** Returns an option to specify the page token from which to start listing resources. */ public static ListOption pageToken(String pageToken) { return new ListOption(OptionType.PAGE_TOKEN, pageToken); } }
@Test public void testListMetricsWithOptionsAsync() throws ExecutionException, InterruptedException { String cursor = "cursor"; EasyMock.replay(rpcFactoryMock); logging = options.getService(); ListLogMetricsRequest request = ListLogMetricsRequest.newBuilder() .setPageToken(cursor) .setPageSize(42) .setParent(PROJECT_PB) .build(); List<Metric> sinkList = ImmutableList.of( new Metric(logging, new MetricInfo.BuilderImpl(METRIC_INFO)), new Metric(logging, new MetricInfo.BuilderImpl(METRIC_INFO))); ListLogMetricsResponse response = ListLogMetricsResponse.newBuilder() .setNextPageToken(cursor) .addAllMetrics(Lists.transform(sinkList, METRIC_TO_PB_FUNCTION)) .build(); ApiFuture<ListLogMetricsResponse> futureResponse = ApiFutures.immediateFuture(response); EasyMock.expect(loggingRpcMock.list(request)).andReturn(futureResponse); EasyMock.replay(loggingRpcMock); AsyncPage<Metric> page = logging.listMetricsAsync(ListOption.pageSize(42), ListOption.pageToken(cursor)).get(); assertEquals(cursor, page.getNextPageToken()); assertArrayEquals(sinkList.toArray(), Iterables.toArray(page.getValues(), Metric.class)); }
@Test public void testListResourceDescriptorWithOptions() { String cursor = "cursor"; EasyMock.replay(rpcFactoryMock); logging = options.getService(); ListMonitoredResourceDescriptorsRequest request = ListMonitoredResourceDescriptorsRequest.newBuilder() .setPageToken(cursor) .setPageSize(42) .build(); List<MonitoredResourceDescriptor> descriptorList = ImmutableList.of(DESCRIPTOR, DESCRIPTOR); ListMonitoredResourceDescriptorsResponse response = ListMonitoredResourceDescriptorsResponse.newBuilder() .setNextPageToken(cursor) .addAllResourceDescriptors(Lists.transform(descriptorList, DESCRIPTOR_TO_PB_FUNCTION)) .build(); ApiFuture<ListMonitoredResourceDescriptorsResponse> futureResponse = ApiFutures.immediateFuture(response); EasyMock.expect(loggingRpcMock.list(request)).andReturn(futureResponse); EasyMock.replay(loggingRpcMock); Page<MonitoredResourceDescriptor> page = logging.listMonitoredResourceDescriptors( ListOption.pageSize(42), ListOption.pageToken(cursor)); assertEquals(cursor, page.getNextPageToken()); assertArrayEquals( descriptorList.toArray(), Iterables.toArray(page.getValues(), MonitoredResourceDescriptor.class)); }
@Test public void testListSinksWithOptionsAsync() throws ExecutionException, InterruptedException { String cursor = "cursor"; EasyMock.replay(rpcFactoryMock); logging = options.getService(); ListSinksRequest request = ListSinksRequest.newBuilder() .setPageToken(cursor) .setPageSize(42) .setParent(PROJECT_PB) .build(); List<Sink> sinkList = ImmutableList.of( new Sink(logging, new SinkInfo.BuilderImpl(SINK_INFO)), new Sink(logging, new SinkInfo.BuilderImpl(SINK_INFO))); ListSinksResponse response = ListSinksResponse.newBuilder() .setNextPageToken(cursor) .addAllSinks(Lists.transform(sinkList, SINK_TO_PB_FUNCTION)) .build(); ApiFuture<ListSinksResponse> futureResponse = ApiFutures.immediateFuture(response); EasyMock.expect(loggingRpcMock.list(request)).andReturn(futureResponse); EasyMock.replay(loggingRpcMock); AsyncPage<Sink> page = logging.listSinksAsync(ListOption.pageSize(42), ListOption.pageToken(cursor)).get(); assertEquals(cursor, page.getNextPageToken()); assertArrayEquals(sinkList.toArray(), Iterables.toArray(page.getValues(), Sink.class)); }
@Test public void testListMetricsWithOptions() { String cursor = "cursor"; EasyMock.replay(rpcFactoryMock); logging = options.getService(); ListLogMetricsRequest request = ListLogMetricsRequest.newBuilder() .setPageToken(cursor) .setPageSize(42) .setParent(PROJECT_PB) .build(); List<Metric> sinkList = ImmutableList.of( new Metric(logging, new MetricInfo.BuilderImpl(METRIC_INFO)), new Metric(logging, new MetricInfo.BuilderImpl(METRIC_INFO))); ListLogMetricsResponse response = ListLogMetricsResponse.newBuilder() .setNextPageToken(cursor) .addAllMetrics(Lists.transform(sinkList, METRIC_TO_PB_FUNCTION)) .build(); ApiFuture<ListLogMetricsResponse> futureResponse = ApiFutures.immediateFuture(response); EasyMock.expect(loggingRpcMock.list(request)).andReturn(futureResponse); EasyMock.replay(loggingRpcMock); Page<Metric> page = logging.listMetrics(ListOption.pageSize(42), ListOption.pageToken(cursor)); assertEquals(cursor, page.getNextPageToken()); assertArrayEquals(sinkList.toArray(), Iterables.toArray(page.getValues(), Metric.class)); }
@Test public void testListSinksWithOptions() { String cursor = "cursor"; EasyMock.replay(rpcFactoryMock); logging = options.getService(); ListSinksRequest request = ListSinksRequest.newBuilder() .setPageToken(cursor) .setPageSize(42) .setParent(PROJECT_PB) .build(); List<Sink> sinkList = ImmutableList.of( new Sink(logging, new SinkInfo.BuilderImpl(SINK_INFO)), new Sink(logging, new SinkInfo.BuilderImpl(SINK_INFO))); ListSinksResponse response = ListSinksResponse.newBuilder() .setNextPageToken(cursor) .addAllSinks(Lists.transform(sinkList, SINK_TO_PB_FUNCTION)) .build(); ApiFuture<ListSinksResponse> futureResponse = ApiFutures.immediateFuture(response); EasyMock.expect(loggingRpcMock.list(request)).andReturn(futureResponse); EasyMock.replay(loggingRpcMock); Page<Sink> page = logging.listSinks(ListOption.pageSize(42), ListOption.pageToken(cursor)); assertEquals(cursor, page.getNextPageToken()); assertArrayEquals(sinkList.toArray(), Iterables.toArray(page.getValues(), Sink.class)); }
@Test public void testListMetrics() throws InterruptedException { String firstName = formatForTest("test-list-metrics-1"); String secondName = formatForTest("test-list-metrics-2"); Metric firstMetric = logging().create(MetricInfo.of(firstName, "severity>=ERROR")); Metric secondMetric = logging().create(MetricInfo.of(secondName, "severity>=ERROR")); Logging.ListOption[] options = {Logging.ListOption.pageSize(1)}; Page<Metric> metricPage = logging().listMetrics(options); Set<Metric> metrics = Sets.newHashSet(metricPage.iterateAll()); while (!metrics.contains(firstMetric) || !metrics.contains(secondMetric)) { Thread.sleep(500); metrics = Sets.newHashSet(logging().listMetrics(options).iterateAll()); } firstMetric.delete(); secondMetric.delete(); }
@Test public void testListSinks() throws InterruptedException { String firstName = formatForTest("test-list-sinks-1"); String secondName = formatForTest("test-list-sinks-2"); Sink firstSink = logging().create(SinkInfo.of(firstName, DatasetDestination.of("dataset"))); Sink secondSink = logging().create(SinkInfo.of(secondName, DatasetDestination.of("dataset"))); Logging.ListOption[] options = {Logging.ListOption.pageSize(1)}; Page<Sink> sinkPage = logging().listSinks(options); Set<Sink> sinks = Sets.newHashSet(sinkPage.iterateAll()); while (!sinks.contains(firstSink) || !sinks.contains(secondSink)) { Thread.sleep(500); sinks = Sets.newHashSet(logging().listSinks(options).iterateAll()); } firstSink.delete(); secondSink.delete(); }
/** Example of asynchronously listing monitored resource descriptors, specifying the page size. */ // [TARGET listMonitoredResourceDescriptorsAsync(ListOption...)] public Page<MonitoredResourceDescriptor> listMonitoredResourceDescriptorsAsync() throws ExecutionException, InterruptedException { // [START listMonitoredResourceDescriptorsAsync] Future<AsyncPage<MonitoredResourceDescriptor>> future = logging.listMonitoredResourceDescriptorsAsync(ListOption.pageSize(100)); // ... AsyncPage<MonitoredResourceDescriptor> descriptors = future.get(); for (MonitoredResourceDescriptor descriptor : descriptors.iterateAll()) { // do something with the descriptor } // [END listMonitoredResourceDescriptorsAsync] return descriptors; }
@Test public void testListMonitoredResourceDescriptors() { Iterator<MonitoredResourceDescriptor> iterator = logging() .listMonitoredResourceDescriptors(Logging.ListOption.pageSize(100)) .iterateAll() .iterator(); int count = 0; while (iterator.hasNext()) { assertNotNull(iterator.next().getType()); count += 1; } assertTrue(count > 0); }
/** Example of asynchronously listing metrics, specifying the page size. */ // [TARGET listMetricsAsync(ListOption...)] public Page<Metric> listMetricsAsync() throws ExecutionException, InterruptedException { // [START listMetricsAsync] Future<AsyncPage<Metric>> future = logging.listMetricsAsync(ListOption.pageSize(100)); // ... AsyncPage<Metric> metrics = future.get(); for (Metric metric : metrics.iterateAll()) { // do something with the metric } // [END listMetricsAsync] return metrics; }
/** Example of asynchronously listing sinks, specifying the page size. */ // [TARGET listSinksAsync(ListOption...)] public Page<Sink> listSinksAsync() throws ExecutionException, InterruptedException { // [START listSinksAsync] Future<AsyncPage<Sink>> future = logging.listSinksAsync(ListOption.pageSize(100)); // ... AsyncPage<Sink> sinks = future.get(); for (Sink sink : sinks.iterateAll()) { // do something with the sink } // [END listSinksAsync] return sinks; }
/** Example of listing metrics, specifying the page size. */ // [TARGET listMetrics(ListOption...)] public Page<Metric> listMetrics() { // [START listMetrics] Page<Metric> metrics = logging.listMetrics(ListOption.pageSize(100)); for (Metric metric : metrics.iterateAll()) { // do something with the metric } // [END listMetrics] return metrics; }
/** Returns an option to specify the page token from which to start listing resources. */ public static ListOption pageToken(String pageToken) { return new ListOption(OptionType.PAGE_TOKEN, pageToken); } }
/** Returns an option to specify the maximum number of resources returned per page. */ public static ListOption pageSize(int pageSize) { return new ListOption(OptionType.PAGE_SIZE, pageSize); }
/** Example of listing monitored resource descriptors, specifying the page size. */ // [TARGET listMonitoredResourceDescriptors(ListOption...)] public Page<MonitoredResourceDescriptor> listMonitoredResourceDescriptors() { // [START listMonitoredResourceDescriptors] Page<MonitoredResourceDescriptor> descriptors = logging.listMonitoredResourceDescriptors(ListOption.pageSize(100)); for (MonitoredResourceDescriptor descriptor : descriptors.iterateAll()) { // do something with the descriptor } // [END listMonitoredResourceDescriptors] return descriptors; }
/** Example of listing sinks, specifying the page size. */ // [TARGET listSinks(ListOption...)] public Page<Sink> listSinks() { // [START logging_list_sinks] Page<Sink> sinks = logging.listSinks(ListOption.pageSize(100)); for (Sink sink : sinks.iterateAll()) { // do something with the sink } // [END logging_list_sinks] return sinks; }
@Test public void testListOption() { Option option = ListOption.pageSize(42); assertEquals(ListOption.OptionType.PAGE_SIZE, option.getOptionType()); assertEquals(42, option.getValue()); option = ListOption.pageToken("cursor"); assertEquals(ListOption.OptionType.PAGE_TOKEN, option.getOptionType()); assertEquals("cursor", option.getValue()); } }