/** Example of asynchronously deleting a sink. */ // [TARGET deleteSinkAsync(String)] // [VARIABLE "my_sink_name"] public boolean deleteSinkAsync(String sinkName) throws ExecutionException, InterruptedException { // [START deleteSinkAsync] Future<Boolean> future = logging.deleteSinkAsync(sinkName); // ... boolean deleted = future.get(); if (deleted) { // the sink was deleted } else { // the sink was not found } // [END deleteSinkAsync] return deleted; }
/** * Sends a request for deleting this sink. This method returns a {@code ApiFuture} object to * consume the result. {@link ApiFuture#get()} returns {@code true} if the sink was deleted, * {@code false} if it was not found. * * <p>Example of asynchronously deleting the sink. * * <pre>{@code * ApiFuture<Boolean> future = sink.deleteAsync(); * // ... * boolean deleted = future.get(); * if (deleted) { * // the sink was deleted * } else { * // the sink was not found * } * }</pre> * * @throws LoggingException upon failure */ public ApiFuture<Boolean> deleteAsync() { return logging.deleteSinkAsync(getName()); }
@Test public void testDeleteAsyncTrue() throws ExecutionException, InterruptedException { initializeExpectedSink(1); expect(logging.getOptions()).andReturn(mockOptions); expect(logging.deleteSinkAsync(NAME)).andReturn(ApiFutures.immediateFuture(true)); replay(logging); initializeSink(); assertTrue(sink.deleteAsync().get()); }
@Test public void testDeleteAsyncFalse() throws ExecutionException, InterruptedException { initializeExpectedSink(1); expect(logging.getOptions()).andReturn(mockOptions); expect(logging.deleteSinkAsync(NAME)).andReturn(ApiFutures.immediateFuture(false)); replay(logging); initializeSink(); assertFalse(sink.deleteAsync().get()); }
@Test public void testDeleteSinkAsync_Null() throws ExecutionException, InterruptedException { DeleteSinkRequest request = DeleteSinkRequest.newBuilder().setSinkName(SINK_NAME_PB).build(); ApiFuture<Empty> response = ApiFutures.immediateFuture(null); EasyMock.expect(loggingRpcMock.delete(request)).andReturn(response); EasyMock.replay(rpcFactoryMock, loggingRpcMock); logging = options.getService(); assertFalse(logging.deleteSinkAsync(SINK_NAME).get()); }
@Test public void testDeleteSinkAsync() throws ExecutionException, InterruptedException { DeleteSinkRequest request = DeleteSinkRequest.newBuilder().setSinkName(SINK_NAME_PB).build(); ApiFuture<Empty> response = ApiFutures.immediateFuture(Empty.getDefaultInstance()); EasyMock.expect(loggingRpcMock.delete(request)).andReturn(response); EasyMock.replay(rpcFactoryMock, loggingRpcMock); logging = options.getService(); assertTrue(logging.deleteSinkAsync(SINK_NAME).get()); }
/** * Sends a request for deleting this sink. This method returns a {@code ApiFuture} object to * consume the result. {@link ApiFuture#get()} returns {@code true} if the sink was deleted, * {@code false} if it was not found. * * <p>Example of asynchronously deleting the sink. * * <pre>{@code * ApiFuture<Boolean> future = sink.deleteAsync(); * // ... * boolean deleted = future.get(); * if (deleted) { * // the sink was deleted * } else { * // the sink was not found * } * }</pre> * * @throws LoggingException upon failure */ public ApiFuture<Boolean> deleteAsync() { return logging.deleteSinkAsync(getName()); }