From 1724f93e61963ba4af2a8fdea7f7372fba6e3ed1 Mon Sep 17 00:00:00 2001 From: feech Date: Thu, 25 Apr 2019 23:15:24 +0100 Subject: [PATCH] added complete integration test with stubbing db-access --- complete/pom.xml | 11 +++ .../src/test/java/hello/ApplicationTest.java | 21 ++++++ .../test/java/hello/TestConfiguration.java | 22 ++++++ complete/src/test/resources/anystub/stub.yml | 68 +++++++++++++++++++ 4 files changed, 122 insertions(+) create mode 100644 complete/src/test/java/hello/ApplicationTest.java create mode 100644 complete/src/test/java/hello/TestConfiguration.java create mode 100644 complete/src/test/resources/anystub/stub.yml diff --git a/complete/pom.xml b/complete/pom.xml index a5e4547..b63a8ac 100644 --- a/complete/pom.xml +++ b/complete/pom.xml @@ -26,6 +26,17 @@ com.h2database h2 + + + org.springframework.boot + spring-boot-starter-test + + + org.anystub + anystub + 0.2.22 + test + diff --git a/complete/src/test/java/hello/ApplicationTest.java b/complete/src/test/java/hello/ApplicationTest.java new file mode 100644 index 0000000..f670fea --- /dev/null +++ b/complete/src/test/java/hello/ApplicationTest.java @@ -0,0 +1,21 @@ +package hello; + +import org.anystub.AnyStubId; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import static org.junit.Assert.*; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class ApplicationTest { + + @Test + @AnyStubId + public void test() { + + } + +} \ No newline at end of file diff --git a/complete/src/test/java/hello/TestConfiguration.java b/complete/src/test/java/hello/TestConfiguration.java new file mode 100644 index 0000000..203bd92 --- /dev/null +++ b/complete/src/test/java/hello/TestConfiguration.java @@ -0,0 +1,22 @@ +package hello; + + +import org.anystub.jdbc.StubDataSource; +import org.h2.jdbcx.JdbcDataSource; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.sql.DataSource; + +@Configuration +public class TestConfiguration { + + @Bean + public DataSource dataSource() { + + JdbcDataSource ds = new JdbcDataSource(); + ds.setURL("jdbc:h2:./test"); + return new StubDataSource(ds); + } + +} diff --git a/complete/src/test/resources/anystub/stub.yml b/complete/src/test/resources/anystub/stub.yml new file mode 100644 index 0000000..ae2f7ab --- /dev/null +++ b/complete/src/test/resources/anystub/stub.yml @@ -0,0 +1,68 @@ +request0: + exception: [] + keys: DROP TABLE customers IF EXISTS + values: 'false' +request1: + exception: [] + keys: CREATE TABLE customers(id SERIAL, first_name VARCHAR(255), last_name VARCHAR(255)) + values: 'false' +request2: + exception: [] + keys: DatabaseMetaData:supportsBatchUpdates + values: 'true' +request3: + exception: [] + keys: ['INSERT INTO customers(first_name, last_name) VALUES (?,?)', '1', John, '2', + Woo, '1', Jeff, '2', Dean, '1', Josh, '2', Bloch, '1', Josh, '2', Long] + values: ['1', '1', '1', '1'] +request4: + exception: [] + keys: ['SELECT id, first_name, last_name FROM customers WHERE first_name = ?', '1', + Josh] + values: ['3', ID, INTEGER, '4', '10', '0', FIRST_NAME, VARCHAR, '12', '255', '0', + LAST_NAME, VARCHAR, '12', '255', '0'] +request5: + exception: [] + keys: [resultSet, 'SELECT id, first_name, last_name FROM customers WHERE first_name + = ?', next] + values: 'true' +request6: + exception: [] + keys: [resultSet, 'SELECT id, first_name, last_name FROM customers WHERE first_name + = ?', getLong, id] + values: '3' +request7: + exception: [] + keys: [resultSet, 'SELECT id, first_name, last_name FROM customers WHERE first_name + = ?', getString, first_name] + values: Josh +request8: + exception: [] + keys: [resultSet, 'SELECT id, first_name, last_name FROM customers WHERE first_name + = ?', getString, last_name] + values: Bloch +request9: + exception: [] + keys: [resultSet, 'SELECT id, first_name, last_name FROM customers WHERE first_name + = ?', next, '#1'] + values: 'true' +request10: + exception: [] + keys: [resultSet, 'SELECT id, first_name, last_name FROM customers WHERE first_name + = ?', getLong, id, '#1'] + values: '4' +request11: + exception: [] + keys: [resultSet, 'SELECT id, first_name, last_name FROM customers WHERE first_name + = ?', getString, first_name, '#1'] + values: Josh +request12: + exception: [] + keys: [resultSet, 'SELECT id, first_name, last_name FROM customers WHERE first_name + = ?', getString, last_name, '#1'] + values: Long +request13: + exception: [] + keys: [resultSet, 'SELECT id, first_name, last_name FROM customers WHERE first_name + = ?', next, '#2'] + values: 'false'