@Test public void testUpdateAsync() throws ExecutionException, InterruptedException { initializeExpectedMetric(2); MetricInfo updatedInfo = METRIC_INFO.toBuilder().setFilter(NEW_FILTER).build(); Metric expectedMetric = new Metric(serviceMockReturnsOptions, new MetricInfo.BuilderImpl(updatedInfo)); expect(logging.getOptions()).andReturn(mockOptions).times(2); expect(logging.updateAsync(expectedMetric)) .andReturn(ApiFutures.immediateFuture(expectedMetric)); replay(logging); initializeMetric(); Metric updatedMetric = metric.toBuilder().setFilter(NEW_FILTER).build().updateAsync().get(); compareMetric(expectedMetric, updatedMetric); }
/** Example of asynchronously updating the metric's information. */ // [TARGET updateAsync()] public Metric updateAsync() throws ExecutionException, InterruptedException { // [START updateAsync] Future<Metric> future = metric.toBuilder().setDescription("A more detailed description").build().updateAsync(); // ... Metric updatedMetric = future.get(); // [END updateAsync] return updatedMetric; }
@Override public Builder toBuilder() { return new Builder(this); }
@Test public void testCreateGetUpdateAndDeleteMetric() { String name = formatForTest("test-create-get-update-metric"); MetricInfo metricInfo = MetricInfo.newBuilder(name, "severity>=ERROR").setDescription("description").build(); Metric metric = logging().create(metricInfo); assertEquals(name, metric.getName()); assertEquals("severity>=ERROR", metric.getFilter()); assertEquals("description", metric.getDescription()); assertEquals(metric, logging().getMetric(name)); metric = metric .toBuilder() .setDescription("newDescription") .setFilter("severity>=WARNING") .build() .update(); assertEquals(name, metric.getName()); assertEquals("severity>=WARNING", metric.getFilter()); assertEquals("newDescription", metric.getDescription()); assertTrue(metric.delete()); assertFalse(metric.delete()); }
@Test public void testBuilder() { initializeExpectedMetric(2); replay(logging); Metric builtMetric = expectedMetric .toBuilder() .setName(NEW_NAME) .setFilter(NEW_FILTER) .setDescription(NEW_DESCRIPTION) .build(); assertEquals(NEW_NAME, builtMetric.getName()); assertEquals(NEW_DESCRIPTION, builtMetric.getDescription()); assertEquals(NEW_FILTER, builtMetric.getFilter()); assertSame(serviceMockReturnsOptions, builtMetric.getLogging()); }
@Override public Builder toBuilder() { return new Builder(this); }
@Test public void testToBuilder() { initializeExpectedMetric(2); replay(logging); compareMetric(expectedMetric, expectedMetric.toBuilder().build()); }
/** Example of updating the metric's information. */ // [TARGET update()] public Metric update() { // [START update] Metric updatedMetric = metric.toBuilder().setDescription("A more detailed description").build().update(); // [END update] return updatedMetric; }
@Test public void testUpdate() { initializeExpectedMetric(2); MetricInfo updatedInfo = METRIC_INFO.toBuilder().setFilter(NEW_FILTER).build(); Metric expectedMetric = new Metric(serviceMockReturnsOptions, new MetricInfo.BuilderImpl(updatedInfo)); expect(logging.getOptions()).andReturn(mockOptions).times(2); expect(logging.update(expectedMetric)).andReturn(expectedMetric); replay(logging); initializeMetric(); Metric updatedMetric = metric.toBuilder().setFilter(NEW_FILTER).build().update(); compareMetric(expectedMetric, updatedMetric); }