use of org.apache.bookkeeper.stream.proto.storage.StorageContainerResponse in project bookkeeper by apache.
the class TestStorageContainerResponseHandler method testSuccessResponse.
@SuppressWarnings("unchecked")
@Test
public void testSuccessResponse() {
StreamObserver<StorageContainerResponse> observer = mock(StreamObserver.class);
StorageContainerResponseHandler handler = StorageContainerResponseHandler.of(observer);
StorageContainerResponse response = StorageContainerResponse.newBuilder().setCode(StatusCode.SUCCESS).build();
handler.accept(response, null);
verify(observer, times(1)).onNext(response);
verify(observer, times(1)).onCompleted();
verify(observer, times(0)).onError(any());
}
use of org.apache.bookkeeper.stream.proto.storage.StorageContainerResponse in project bookkeeper by apache.
the class TestMetaRangeClientImpl method testGetActiveStreamRanges.
@Test
public void testGetActiveStreamRanges() throws Exception {
CompletableFuture<StorageServerChannel> serviceFuture = FutureUtils.createFuture();
metaRangeClient.getStorageContainerClient().setStorageServerChannelFuture(serviceFuture);
// create response
GetActiveRangesResponse getActiveRangesResponse = GetActiveRangesResponse.newBuilder().addRanges(buildRelatedRange(Long.MIN_VALUE, 0L, 123L, 1L, Lists.newArrayList(113L))).addRanges(buildRelatedRange(0L, Long.MAX_VALUE, 124L, 2L, Lists.newArrayList(114L))).build();
StorageContainerResponse response = StorageContainerResponse.newBuilder().setCode(StatusCode.SUCCESS).setGetActiveRangesResp(getActiveRangesResponse).build();
MetaRangeServiceImplBase metaRangeService = new MetaRangeServiceImplBase() {
@Override
public void getActiveRanges(StorageContainerRequest request, StreamObserver<StorageContainerResponse> responseObserver) {
responseObserver.onNext(response);
responseObserver.onCompleted();
}
};
serviceRegistry.addService(metaRangeService.bindService());
StorageServerChannel rsChannel = new StorageServerChannel(InProcessChannelBuilder.forName(serverName).directExecutor().build(), Optional.empty());
serviceFuture.complete(rsChannel);
HashStreamRanges expectedStream = createActiveRanges(response.getGetActiveRangesResp());
CompletableFuture<HashStreamRanges> getFuture = metaRangeClient.getActiveDataRanges();
assertEquals(expectedStream, getFuture.get());
}
use of org.apache.bookkeeper.stream.proto.storage.StorageContainerResponse in project bookkeeper by apache.
the class TestRangeStoreImpl method testRangeMockStorageContainer.
@Test
public void testRangeMockStorageContainer() throws Exception {
StorageContainer scStore = mock(StorageContainer.class);
when(scStore.stop()).thenReturn(FutureUtils.value(null));
rangeStore.getRegistry().setStorageContainer(ROOT_STORAGE_CONTAINER_ID, scStore);
StorageContainerResponse response = createRangeResponse(StatusCode.SUCCESS);
StorageContainerRequest request = createRangeRequest(ROOT_STORAGE_CONTAINER_ID);
when(scStore.range(request)).thenReturn(CompletableFuture.completedFuture(response));
CompletableFuture<StorageContainerResponse> future = rangeStore.range(request);
verify(scStore, times(1)).range(eq(request));
assertTrue(response == future.get());
}
use of org.apache.bookkeeper.stream.proto.storage.StorageContainerResponse in project bookkeeper by apache.
the class TableStoreImplTest method putKeyToTableStore.
void putKeyToTableStore(int key, int value) throws Exception {
StorageContainerResponse response = result(tableStore.put(StorageContainerRequest.newBuilder().setScId(SC_ID).setKvPutReq(PutRequest.newBuilder().setHeader(HEADER).setKey(getKey(key)).setValue(getValue(value)).build()).build()));
assertEquals(StatusCode.SUCCESS, response.getCode());
assertEquals(ResponseCase.KV_PUT_RESP, response.getResponseCase());
PutResponse putResp = response.getKvPutResp();
assertEquals(HEADER, putResp.getHeader().getRoutingHeader());
assertFalse(putResp.hasPrevKv());
}
use of org.apache.bookkeeper.stream.proto.storage.StorageContainerResponse in project bookkeeper by apache.
the class TableStoreImplTest method getKeyValue.
KeyValue getKeyValue(int i) throws Exception {
StorageContainerResponse resp = getKeyFromTableStore(i);
assertEquals(StatusCode.SUCCESS, resp.getCode());
assertEquals(ResponseCase.KV_RANGE_RESP, resp.getResponseCase());
RangeResponse rr = resp.getKvRangeResp();
assertEquals(HEADER, rr.getHeader().getRoutingHeader());
assertFalse(rr.getMore());
if (0 == rr.getCount()) {
return null;
} else {
return rr.getKvs(0);
}
}
Aggregations