Skip to content
This repository has been archived by the owner on Dec 31, 2023. It is now read-only.

ttddyy/datasource-assert

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

datasource-assert

Maven Central

datasource-assert provides assertion API for DataSource to validate query executions.

The assertion API is used for assertion methods such as assertEquals in JUnit and TestNG. Also, it comes with support for assertThat in AssertJ and Hamcrest.

Artifacts

Released Version

<dependency>
  <groupId>net.ttddyy</groupId>
  <artifactId>datasource-assert</artifactId>
  <version>[LATEST_VERSION]</version>
</dependency>

Documentation

How to use

Wrap your datasource with ProxyTestDataSource.

@Test
public void myTest() {
  ProxyTestDataSource ds = new ProxyTestDataSource(actualDataSource);
  // rest of test 
}

If you want to reuse the same ProxyTestDataSource instance, you could reset() it between tests.

@After  // @AfterEach, @AfterMethod
public void tearDown() {
   this.ds.reset();
}

Regular assertions

For normal assertions such as JUnit/TestNG assertEquals, use methods from ProxyTestDataSource.

assertEquals(3, ds.getQueryExecutions().size());
PreparedExecution pe = ds.getFirstPrepared();
assertTrue(pe.isSuccess());

See more details on "Usage examples".

AssertJ

Static import assertThat from DataSourceAssertAssertions.

import static net.ttddyy.dsproxy.asserts.assertj.DataSourceAssertAssertions.assertThat;
assertThat(ds.getQueryExecutions()).hasSize(1);
assertThat(ds.getQueryExecutions().get(0)).isStatement().asStatement().query().isEqualTo("SELECT id FROM emp");
assertThat(ds.getFirstPrepared()).containsParam(1, "foo");

See more details on "Usage examples".

Hamcrest

Use matchers from DataSourceAssertMatchers.

assertThat(ds, statementCount(3));
assertThat(ds, executions(1, is(statement())));
assertThat((StatementExecution) statements.get(0), query(is("SELECT id FROM emp")));
assertThat(ds.getFirstPrepared(), paramAsInteger(1, is(100)));

See more details on "Usage examples".

Usage examples

Regular assertions(assertEquals, etc)

With AssertJ

With Hamcrest


About

Provides assertion APIs for query executions with assertEquals and assertThat(AssertJ and Hamcrest)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages