use of com.scalar.db.api.Result in project scalardb by scalar-labs.
the class ConsensusCommitIntegrationTestBase method get_GetGivenForNonExisting_ShouldReturnEmpty.
@Test
public void get_GetGivenForNonExisting_ShouldReturnEmpty() throws CrudException, CommitException, UnknownTransactionStatusException {
// Arrange
populateRecords(namespace1, TABLE_1);
ConsensusCommit transaction = manager.start();
Get get = prepareGet(0, 4, namespace1, TABLE_1);
// Act
Optional<Result> result = transaction.get(get);
// Assert
assertThat(result.isPresent()).isFalse();
}
use of com.scalar.db.api.Result in project scalardb by scalar-labs.
the class ConsensusCommitIntegrationTestBase method scan_DeleteGivenBefore_ShouldScan.
@Test
public void scan_DeleteGivenBefore_ShouldScan() throws CommitException, UnknownTransactionStatusException, CrudException {
// Arrange
ConsensusCommit transaction = manager.start();
transaction.put(preparePut(0, 0, namespace1, TABLE_1).withValue(BALANCE, 1));
transaction.put(preparePut(0, 1, namespace1, TABLE_1).withValue(BALANCE, 1));
transaction.commit();
// Act
ConsensusCommit transaction1 = manager.start();
transaction1.delete(prepareDelete(0, 0, namespace1, TABLE_1));
Scan scan = prepareScan(0, 0, 1, namespace1, TABLE_1);
List<Result> results = transaction1.scan(scan);
assertThatCode(transaction1::commit).doesNotThrowAnyException();
// Assert
assertThat(results.size()).isEqualTo(1);
}
use of com.scalar.db.api.Result in project scalardb by scalar-labs.
the class JdbcTransactionIntegrationTest method get_GetGivenForCommittedRecord_ShouldReturnRecord.
@Test
public void get_GetGivenForCommittedRecord_ShouldReturnRecord() throws TransactionException {
// Arrange
populateRecords();
JdbcTransaction transaction = manager.start();
Get get = prepareGet(0, 0, NAMESPACE, TABLE);
// Act
Optional<Result> result = transaction.get(get);
transaction.commit();
// Assert
assertThat(result.isPresent()).isTrue();
}
use of com.scalar.db.api.Result in project scalardb by scalar-labs.
the class JdbcTransactionIntegrationTest method prepareTransfer.
private JdbcTransaction prepareTransfer(int fromId, int toId, int amount) throws TransactionException {
JdbcTransaction transaction = manager.start();
List<Get> gets = prepareGets(NAMESPACE, TABLE);
Optional<Result> fromResult = transaction.get(gets.get(fromId));
assertThat(fromResult.isPresent()).isTrue();
IntValue fromBalance = new IntValue(BALANCE, getBalance(fromResult.get()) - amount);
Optional<Result> toResult = transaction.get(gets.get(toId));
assertThat(toResult.isPresent()).isTrue();
IntValue toBalance = new IntValue(BALANCE, getBalance(toResult.get()) + amount);
List<Put> puts = preparePuts(NAMESPACE, TABLE);
puts.get(fromId).withValue(fromBalance);
puts.get(toId).withValue(toBalance);
transaction.put(puts.get(fromId));
transaction.put(puts.get(toId));
return transaction;
}
use of com.scalar.db.api.Result in project scalardb by scalar-labs.
the class JdbcTransactionIntegrationTest method commit_DeleteGivenForExistingAfterRead_ShouldDeleteRecord.
@Test
public void commit_DeleteGivenForExistingAfterRead_ShouldDeleteRecord() throws TransactionException {
// Arrange
populateRecords();
Get get = prepareGet(0, 0, NAMESPACE, TABLE);
Delete delete = prepareDelete(0, 0, NAMESPACE, TABLE);
JdbcTransaction transaction = manager.start();
// Act
Optional<Result> result = transaction.get(get);
transaction.delete(delete);
transaction.commit();
// Assert
assertThat(result.isPresent()).isTrue();
JdbcTransaction another = manager.start();
Optional<Result> result1 = another.get(get);
another.commit();
assertThat(result1.isPresent()).isFalse();
}
Aggregations