use of com.scalar.db.io.Key in project scalardb by scalar-labs.
the class DistributedStorageIntegrationTestBase method prepareDelete.
private Delete prepareDelete(int pKey, int cKey) {
Key partitionKey = new Key(COL_NAME1, pKey);
Key clusteringKey = new Key(COL_NAME4, cKey);
return new Delete(partitionKey, clusteringKey);
}
use of com.scalar.db.io.Key in project scalardb by scalar-labs.
the class DistributedStorageIntegrationTestBase method scannerIterator_OneAndIteratorCalled_ShouldRetrieveCorrectResults.
@Test
public void scannerIterator_OneAndIteratorCalled_ShouldRetrieveCorrectResults() throws ExecutionException, IOException {
// Arrange
populateRecords();
int pKey = 0;
// Act
Scan scan = new Scan(new Key(COL_NAME1, pKey));
List<Result> actual = new ArrayList<>();
Scanner scanner = storage.scan(scan);
Optional<Result> result = scanner.one();
scanner.forEach(actual::add);
scanner.close();
// Assert
assertThat(result.isPresent()).isTrue();
assertThat(result.get().getValue(COL_NAME1).isPresent()).isTrue();
assertThat(result.get().getValue(COL_NAME1).get().getAsInt()).isEqualTo(0);
assertThat(result.get().getValue(COL_NAME4).isPresent()).isTrue();
assertThat(result.get().getValue(COL_NAME4).get().getAsInt()).isEqualTo(0);
assertThat(actual.size()).isEqualTo(2);
assertThat(actual.get(0).getValue(COL_NAME1).isPresent()).isTrue();
assertThat(actual.get(0).getValue(COL_NAME1).get().getAsInt()).isEqualTo(0);
assertThat(actual.get(0).getValue(COL_NAME4).isPresent()).isTrue();
assertThat(actual.get(0).getValue(COL_NAME4).get().getAsInt()).isEqualTo(1);
assertThat(actual.get(1).getValue(COL_NAME1).isPresent()).isTrue();
assertThat(actual.get(1).getValue(COL_NAME1).get().getAsInt()).isEqualTo(0);
assertThat(actual.get(1).getValue(COL_NAME4).isPresent()).isTrue();
assertThat(actual.get(1).getValue(COL_NAME4).get().getAsInt()).isEqualTo(2);
}
use of com.scalar.db.io.Key in project scalardb by scalar-labs.
the class DistributedStorageServiceTest method mutate_StorageThrowsIllegalArgumentException_ShouldThrowInvalidArgumentError.
@Test
public void mutate_StorageThrowsIllegalArgumentException_ShouldThrowInvalidArgumentError() throws ExecutionException {
// Arrange
Key partitionKey = new Key("col1", 1);
MutateRequest request = MutateRequest.newBuilder().addMutation(ProtoUtils.toMutation(new Put(partitionKey))).build();
@SuppressWarnings("unchecked") StreamObserver<Empty> responseObserver = mock(StreamObserver.class);
doThrow(IllegalArgumentException.class).when(storage).mutate(anyList());
// Act
storageService.mutate(request, responseObserver);
// Assert
verify(responseObserver).onError(exceptionCaptor.capture());
assertThat(exceptionCaptor.getValue().getStatus().getCode()).isEqualTo(Status.Code.INVALID_ARGUMENT);
}
use of com.scalar.db.io.Key in project scalardb by scalar-labs.
the class DistributedStorageServiceTest method mutate_IsCalledWithSingleDelete_StorageShouldBeCalledProperly.
@Test
public void mutate_IsCalledWithSingleDelete_StorageShouldBeCalledProperly() throws ExecutionException {
// Arrange
Key partitionKey = new Key("col1", 1);
MutateRequest request = MutateRequest.newBuilder().addMutation(ProtoUtils.toMutation(new Delete(partitionKey))).build();
@SuppressWarnings("unchecked") StreamObserver<Empty> responseObserver = mock(StreamObserver.class);
// Act
storageService.mutate(request, responseObserver);
// Assert
verify(storage).mutate(anyList());
verify(responseObserver).onNext(any());
verify(responseObserver).onCompleted();
}
use of com.scalar.db.io.Key in project scalardb by scalar-labs.
the class DistributedStorageServiceTest method mutate_IsCalledWithMixedPutAndDelete_StorageShouldBeCalledProperly.
@Test
public void mutate_IsCalledWithMixedPutAndDelete_StorageShouldBeCalledProperly() throws ExecutionException {
// Arrange
Key partitionKey = new Key("col1", 1);
MutateRequest request = MutateRequest.newBuilder().addAllMutation(Arrays.asList(ProtoUtils.toMutation(new Put(partitionKey)), ProtoUtils.toMutation(new Delete(partitionKey)))).build();
@SuppressWarnings("unchecked") StreamObserver<Empty> responseObserver = mock(StreamObserver.class);
// Act
storageService.mutate(request, responseObserver);
// Assert
verify(storage).mutate(anyList());
verify(responseObserver).onNext(any());
verify(responseObserver).onCompleted();
}
Aggregations