Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
stream transactions: moved all tests together
  • Loading branch information
michele committed Aug 12, 2019
commit 9f1999d3771ee10910e6d3b6966e7c2b766b0ec5
130 changes: 0 additions & 130 deletions src/test/java/com/arangodb/ArangoDatabaseTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@
import static org.hamcrest.CoreMatchers.nullValue;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import static org.junit.Assume.assumeTrue;

/**
* @author Mark Vollmary
Expand Down Expand Up @@ -1415,135 +1414,6 @@ public void transactionPojoReturn() {
assertThat(res.value, is("hello world"));
}

@Test
public void beginStreamTransaction() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
StreamTransactionEntity tx = db.beginStreamTransaction(null);
assertThat(tx.getId(), is(notNullValue()));
assertThat(tx.getStatus(), is(StreamTransactionEntity.StreamTransactionStatus.running));
db.abortStreamTransaction(tx.getId());
}

@Test(expected = ArangoDBException.class)
public void beginStreamTransactionWithNonExistingCollectionsShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
db.beginStreamTransaction(new StreamTransactionOptions().writeCollections("notExistingCollection"));
}

@Test
public void abortStreamTransaction() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
StreamTransactionEntity begunTx = db.beginStreamTransaction(null);
StreamTransactionEntity abortedTx = db.abortStreamTransaction(begunTx.getId());
assertThat(abortedTx.getId(), is(notNullValue()));
assertThat(abortedTx.getId(), is(begunTx.getId()));
assertThat(abortedTx.getStatus(), is(StreamTransactionEntity.StreamTransactionStatus.aborted));
}

@Test
public void abortStreamTransactionTwice() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
StreamTransactionEntity begunTx = db.beginStreamTransaction(null);
db.abortStreamTransaction(begunTx.getId());
db.abortStreamTransaction(begunTx.getId());
}

@Test(expected = ArangoDBException.class)
public void abortStreamTransactionWhenTransactionIdDoesNotExistsShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
db.abortStreamTransaction("000000");
}

@Test(expected = ArangoDBException.class)
public void abortStreamTransactionWithInvalidTransactionIdShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
db.abortStreamTransaction("invalidTransactionId");
}

@Test(expected = ArangoDBException.class)
public void abortCommittedStreamTransactionShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
StreamTransactionEntity createdTx = db.beginStreamTransaction(null);
db.commitStreamTransaction(createdTx.getId());
db.abortStreamTransaction(createdTx.getId());
}

@Test
public void getStreamTransaction() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
StreamTransactionEntity createdTx = db.beginStreamTransaction(null);
StreamTransactionEntity gotTx = db.getStreamTransaction(createdTx.getId());
assertThat(gotTx.getId(), is(notNullValue()));
assertThat(gotTx.getId(), is(createdTx.getId()));
assertThat(gotTx.getStatus(), is(StreamTransactionEntity.StreamTransactionStatus.running));
db.abortStreamTransaction(createdTx.getId());
}

@Test(expected = ArangoDBException.class)
public void getStreamTransactionWhenTransactionIdDoesNotExistsShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
db.getStreamTransaction("000000");
}

@Test(expected = ArangoDBException.class)
public void getStreamTransactionWithInvalidTransactionIdShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
db.getStreamTransaction("invalidTransactionId");
}

@Test
public void commitStreamTransaction() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
StreamTransactionEntity createdTx = db.beginStreamTransaction(null);
StreamTransactionEntity committedTx = db.commitStreamTransaction(createdTx.getId());
assertThat(committedTx.getId(), is(notNullValue()));
assertThat(committedTx.getId(), is(createdTx.getId()));
assertThat(committedTx.getStatus(), is(StreamTransactionEntity.StreamTransactionStatus.committed));
}

@Test
public void commitStreamTransactionTwice() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
StreamTransactionEntity createdTx = db.beginStreamTransaction(null);
db.commitStreamTransaction(createdTx.getId());
db.commitStreamTransaction(createdTx.getId());
}

@Test(expected = ArangoDBException.class)
public void commitStreamTransactionWhenTransactionIdDoesNotExistsShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
db.commitStreamTransaction("000000");
}

@Test(expected = ArangoDBException.class)
public void commitStreamTransactionWithInvalidTransactionIdShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
db.commitStreamTransaction("invalidTransactionId");
}

@Test(expected = ArangoDBException.class)
public void commitAbortedStreamTransactionShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));
StreamTransactionEntity createdTx = db.beginStreamTransaction(null);
db.abortStreamTransaction(createdTx.getId());
db.commitStreamTransaction(createdTx.getId());
}

@Test
public void getInfo() {
final DatabaseEntity info = db.getInfo();
Expand Down
148 changes: 148 additions & 0 deletions src/test/java/com/arangodb/StreamTransactionTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,154 @@ public void teardown() {
}
}

@Test
public void beginStreamTransaction() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

StreamTransactionEntity tx = db.beginStreamTransaction(null);
assertThat(tx.getId(), is(notNullValue()));
assertThat(tx.getStatus(), is(StreamTransactionEntity.StreamTransactionStatus.running));
db.abortStreamTransaction(tx.getId());
}

@Test(expected = ArangoDBException.class)
public void beginStreamTransactionWithNonExistingCollectionsShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

db.beginStreamTransaction(new StreamTransactionOptions().writeCollections("notExistingCollection"));
}

@Test
public void abortStreamTransaction() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

StreamTransactionEntity begunTx = db.beginStreamTransaction(null);
StreamTransactionEntity abortedTx = db.abortStreamTransaction(begunTx.getId());

assertThat(abortedTx.getId(), is(notNullValue()));
assertThat(abortedTx.getId(), is(begunTx.getId()));
assertThat(abortedTx.getStatus(), is(StreamTransactionEntity.StreamTransactionStatus.aborted));
}

@Test
public void abortStreamTransactionTwice() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

StreamTransactionEntity begunTx = db.beginStreamTransaction(null);
db.abortStreamTransaction(begunTx.getId());
db.abortStreamTransaction(begunTx.getId());
}

@Test(expected = ArangoDBException.class)
public void abortStreamTransactionWhenTransactionIdDoesNotExistsShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

db.abortStreamTransaction("000000");
}

@Test(expected = ArangoDBException.class)
public void abortStreamTransactionWithInvalidTransactionIdShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

db.abortStreamTransaction("invalidTransactionId");
}

@Test(expected = ArangoDBException.class)
public void abortCommittedStreamTransactionShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

StreamTransactionEntity createdTx = db.beginStreamTransaction(null);
db.commitStreamTransaction(createdTx.getId());
db.abortStreamTransaction(createdTx.getId());
}

@Test
public void getStreamTransaction() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

StreamTransactionEntity createdTx = db.beginStreamTransaction(null);
StreamTransactionEntity gotTx = db.getStreamTransaction(createdTx.getId());

assertThat(gotTx.getId(), is(notNullValue()));
assertThat(gotTx.getId(), is(createdTx.getId()));
assertThat(gotTx.getStatus(), is(StreamTransactionEntity.StreamTransactionStatus.running));

db.abortStreamTransaction(createdTx.getId());
}

@Test(expected = ArangoDBException.class)
public void getStreamTransactionWhenTransactionIdDoesNotExistsShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

db.getStreamTransaction("000000");
}

@Test(expected = ArangoDBException.class)
public void getStreamTransactionWithInvalidTransactionIdShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

db.getStreamTransaction("invalidTransactionId");
}

@Test
public void commitStreamTransaction() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

StreamTransactionEntity createdTx = db.beginStreamTransaction(null);
StreamTransactionEntity committedTx = db.commitStreamTransaction(createdTx.getId());

assertThat(committedTx.getId(), is(notNullValue()));
assertThat(committedTx.getId(), is(createdTx.getId()));
assertThat(committedTx.getStatus(), is(StreamTransactionEntity.StreamTransactionStatus.committed));
}

@Test
public void commitStreamTransactionTwice() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

StreamTransactionEntity createdTx = db.beginStreamTransaction(null);
db.commitStreamTransaction(createdTx.getId());
db.commitStreamTransaction(createdTx.getId());
}

@Test(expected = ArangoDBException.class)
public void commitStreamTransactionWhenTransactionIdDoesNotExistsShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

db.commitStreamTransaction("000000");
}

@Test(expected = ArangoDBException.class)
public void commitStreamTransactionWithInvalidTransactionIdShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

db.commitStreamTransaction("invalidTransactionId");
}

@Test(expected = ArangoDBException.class)
public void commitAbortedStreamTransactionShouldThrow() {
assumeTrue(requireVersion(3, 5));
assumeTrue(requireStorageEngine(ArangoDBEngine.StorageEngineName.rocksdb));

StreamTransactionEntity createdTx = db.beginStreamTransaction(null);
db.abortStreamTransaction(createdTx.getId());
db.commitStreamTransaction(createdTx.getId());
}

@Test
public void getDocument() {
assumeTrue(requireVersion(3, 5));
Expand Down