public CompletableFuture<UpdateStreamStatus> truncateStream(final String scope, final String stream, final Map<Long, Long> streamCut) { Preconditions.checkNotNull(scope, "scope"); Preconditions.checkNotNull(stream, "stream"); Preconditions.checkNotNull(streamCut, "streamCut"); Timer timer = new Timer(); return streamMetadataTasks.truncateStream(scope, stream, streamCut, null) .thenApplyAsync(status -> { reportTruncateStreamMetrics(scope, stream, status, timer.getElapsed()); return UpdateStreamStatus.newBuilder().setStatus(status).build(); }, executor); }
@Test public void testSealStream() throws ExecutionException, InterruptedException { when(this.mockControllerService.sealStream(any(), any())).thenReturn( CompletableFuture.completedFuture(Controller.UpdateStreamStatus.newBuilder() .setStatus(Controller.UpdateStreamStatus.Status.SUCCESS).build())); Assert.assertTrue(this.testController.sealStream("scope", "stream").join()); CompletableFuture.completedFuture(Controller.UpdateStreamStatus.newBuilder() .setStatus(Controller.UpdateStreamStatus.Status.FAILURE).build())); assertThrows("Expected ControllerFailureException", CompletableFuture.completedFuture(Controller.UpdateStreamStatus.newBuilder() .setStatus(Controller.UpdateStreamStatus.Status.STREAM_NOT_FOUND).build())); assertThrows("Expected IllegalArgumentException", CompletableFuture.completedFuture(Controller.UpdateStreamStatus.newBuilder() .setStatus(Controller.UpdateStreamStatus.Status.SCOPE_NOT_FOUND).build())); assertThrows("Expected IllegalArgumentException", CompletableFuture.completedFuture(Controller.UpdateStreamStatus.newBuilder() .setStatusValue(-1).build())); assertThrows("Expected ControllerFailureException",
@Test public void testUpdateStream() throws ExecutionException, InterruptedException { when(this.mockControllerService.updateStream(any(), any(), any())).thenReturn( CompletableFuture.completedFuture(Controller.UpdateStreamStatus.newBuilder() .setStatus(Controller.UpdateStreamStatus.Status.SUCCESS).build())); Assert.assertTrue(this.testController.updateStream("scope", "stream", StreamConfiguration.builder().build()).join()); CompletableFuture.completedFuture(Controller.UpdateStreamStatus.newBuilder() .setStatus(Controller.UpdateStreamStatus.Status.FAILURE).build())); assertThrows("Expected ControllerFailureException", CompletableFuture.completedFuture(Controller.UpdateStreamStatus.newBuilder() .setStatus(Controller.UpdateStreamStatus.Status.STREAM_NOT_FOUND).build())); assertThrows("Expected IllegalArgumentException", CompletableFuture.completedFuture(Controller.UpdateStreamStatus.newBuilder() .setStatus(Controller.UpdateStreamStatus.Status.SCOPE_NOT_FOUND).build())); assertThrows("Expected IllegalArgumentException", CompletableFuture.completedFuture(Controller.UpdateStreamStatus.newBuilder() .setStatusValue(-1).build())); assertThrows("Expected ControllerFailureException",
UpdateStreamStatus.newBuilder().setStatus(UpdateStreamStatus.Status.SUCCESS).build())); StreamState streamState = new StreamState().streamState(StreamState.StreamStateEnum.SEALED); Response response = addAuthHeaders(client.target(resourceURI).request()).buildPut(Entity.json(streamState)).invoke(); UpdateStreamStatus.newBuilder().setStatus(UpdateStreamStatus.Status.SCOPE_NOT_FOUND).build())); streamState = new StreamState().streamState(StreamState.StreamStateEnum.SEALED); response = addAuthHeaders(client.target(resourceURI).request()).buildPut(Entity.json(streamState)).invoke(); UpdateStreamStatus.newBuilder().setStatus(UpdateStreamStatus.Status.STREAM_NOT_FOUND).build())); streamState = new StreamState().streamState(StreamState.StreamStateEnum.SEALED); response = addAuthHeaders(client.target(resourceURI).request()).buildPut(Entity.json(streamState)).invoke(); UpdateStreamStatus.newBuilder().setStatus(UpdateStreamStatus.Status.FAILURE).build())); streamState = new StreamState().streamState(StreamState.StreamStateEnum.SEALED); response = addAuthHeaders(client.target(resourceURI).request()).buildPut(Entity.json(streamState)).invoke();
StreamObserver<UpdateStreamStatus> responseObserver) { if (request.getStreamInfo().getStream().equals("stream1")) { responseObserver.onNext(UpdateStreamStatus.newBuilder() .setStatus(UpdateStreamStatus.Status.SUCCESS) .build()); responseObserver.onCompleted(); } else if (request.getStreamInfo().getStream().equals("stream2")) { responseObserver.onNext(UpdateStreamStatus.newBuilder() .setStatus(UpdateStreamStatus.Status.FAILURE) .build()); responseObserver.onCompleted(); } else if (request.getStreamInfo().getStream().equals("stream3")) { responseObserver.onNext(UpdateStreamStatus.newBuilder() .setStatus(UpdateStreamStatus.Status.SCOPE_NOT_FOUND) .build()); responseObserver.onCompleted(); } else if (request.getStreamInfo().getStream().equals("stream4")) { responseObserver.onNext(UpdateStreamStatus.newBuilder() .setStatus(UpdateStreamStatus.Status.STREAM_NOT_FOUND) .build()); responseObserver.onCompleted(); } else if (request.getStreamInfo().getStream().equals("stream5")) { responseObserver.onNext(UpdateStreamStatus.newBuilder() .setStatus(UpdateStreamStatus.Status.UNRECOGNIZED) .build());
StreamObserver<UpdateStreamStatus> responseObserver) { if (request.getStreamInfo().getStream().equals("stream1")) { responseObserver.onNext(UpdateStreamStatus.newBuilder() .setStatus(UpdateStreamStatus.Status.SUCCESS) .build()); responseObserver.onCompleted(); } else if (request.getStreamInfo().getStream().equals("stream2")) { responseObserver.onNext(UpdateStreamStatus.newBuilder() .setStatus(UpdateStreamStatus.Status.FAILURE) .build()); responseObserver.onCompleted(); } else if (request.getStreamInfo().getStream().equals("stream3")) { responseObserver.onNext(UpdateStreamStatus.newBuilder() .setStatus(UpdateStreamStatus.Status.SCOPE_NOT_FOUND) .build()); responseObserver.onCompleted(); } else if (request.getStreamInfo().getStream().equals("stream4")) { responseObserver.onNext(UpdateStreamStatus.newBuilder() .setStatus(UpdateStreamStatus.Status.STREAM_NOT_FOUND) .build()); responseObserver.onCompleted(); } else if (request.getStreamInfo().getStream().equals("stream5")) { responseObserver.onNext(UpdateStreamStatus.newBuilder() .setStatus(UpdateStreamStatus.Status.UNRECOGNIZED) .build());
@Override public void sealStream(StreamInfo request, StreamObserver<UpdateStreamStatus> responseObserver) { if (request.getStream().equals("stream1")) { responseObserver.onNext(UpdateStreamStatus.newBuilder() .setStatus(UpdateStreamStatus.Status.SUCCESS) .build()); responseObserver.onCompleted(); } else if (request.getStream().equals("stream2")) { responseObserver.onNext(UpdateStreamStatus.newBuilder() .setStatus(UpdateStreamStatus.Status.FAILURE) .build()); responseObserver.onCompleted(); } else if (request.getStream().equals("stream3")) { responseObserver.onNext(UpdateStreamStatus.newBuilder() .setStatus(UpdateStreamStatus.Status.SCOPE_NOT_FOUND) .build()); responseObserver.onCompleted(); } else if (request.getStream().equals("stream4")) { responseObserver.onNext(UpdateStreamStatus.newBuilder() .setStatus(UpdateStreamStatus.Status.STREAM_NOT_FOUND) .build()); responseObserver.onCompleted(); } else { responseObserver.onError(Status.INTERNAL.withDescription("Server error").asRuntimeException()); } }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() {
public CompletableFuture<UpdateStreamStatus> sealStream(final String scope, final String stream) { Exceptions.checkNotNullOrEmpty(scope, "scope"); Exceptions.checkNotNullOrEmpty(stream, "stream"); Timer timer = new Timer(); return streamMetadataTasks.sealStream(scope, stream, null) .thenApplyAsync(status -> { reportSealStreamMetrics(scope, stream, status, timer.getElapsed()); return UpdateStreamStatus.newBuilder().setStatus(status).build(); }, executor); }
public CompletableFuture<UpdateStreamStatus> updateStream(String scope, String stream, final StreamConfiguration streamConfig) { Preconditions.checkNotNull(streamConfig, "streamConfig"); Timer timer = new Timer(); return streamMetadataTasks.updateStream(scope, stream, streamConfig, null) .thenApplyAsync(status -> { reportUpdateStreamMetrics(scope, stream, status, timer.getElapsed()); return UpdateStreamStatus.newBuilder().setStatus(status).build(); }, executor); }