use of org.cactoos.map.MapOf in project cactoos-jdbc by fabriciofx.
the class StatementTransactionTest method rollback.
@Test
public void rollback() throws Exception {
final Transacted transacted = new Transacted(new SessionNoAuth(new SourceH2("unsafedb")));
new ScriptSql(new ResourceOf("com/github/fabriciofx/cactoos/jdbc/phonebook/phonebook-h2.sql")).run(transacted);
final Phonebook phonebook = new PhonebookSql(transacted);
final String name = "Frank Miller";
try {
new StatementTransaction<>(transacted, () -> {
final Contact contact = phonebook.contact(new MapOf<String, String>(new MapEntry<>("name", name)));
contact.phones().add(new MapOf<String, String>(new MapEntry<>("number", "99991234"), new MapEntry<>("carrier", "TIM")));
throw new IllegalStateException("Rollback");
}).result();
} catch (final IllegalStateException ex) {
}
MatcherAssert.assertThat("Can't perform a transaction rollback", StreamSupport.stream(phonebook.filter(name).spliterator(), false).count(), Matchers.equalTo(0L));
}
Aggregations