|
7 | 7 |
|
8 | 8 | import java.sql.SQLException;
|
9 | 9 |
|
| 10 | +import static org.hamcrest.CoreMatchers.containsString; |
| 11 | +import static org.hamcrest.CoreMatchers.not; |
| 12 | +import static org.hamcrest.MatcherAssert.assertThat; |
| 13 | +import static org.hamcrest.core.IsInstanceOf.instanceOf; |
10 | 14 | import static org.junit.jupiter.api.Assertions.assertEquals;
|
11 | 15 |
|
12 | 16 | class TestRunnerStatementProviderIT extends AbstractDatabaseTest {
|
13 | 17 |
|
| 18 | + AbstractTestRunnerStatement getTestRunnerStatementForVersion( Version version ) throws SQLException { |
| 19 | + return (AbstractTestRunnerStatement)TestRunnerStatementProvider.getCompatibleTestRunnerStatement(version, new TestRunnerOptions(), getConnection()); |
| 20 | + } |
| 21 | + |
14 | 22 | @Test
|
15 | 23 | void testGettingPre303Version() throws SQLException {
|
16 |
| - TestRunnerStatement stmt = TestRunnerStatementProvider.getCompatibleTestRunnerStatement(Version.V3_0_2, new TestRunnerOptions(), getConnection()); |
| 24 | + AbstractTestRunnerStatement stmt = getTestRunnerStatementForVersion(Version.V3_0_2); |
17 | 25 | assertEquals(Pre303TestRunnerStatement.class, stmt.getClass());
|
| 26 | + assertThat(stmt.getSql(), not(containsString("a_fail_on_errors"))); |
| 27 | + assertThat(stmt.getSql(), not(containsString("a_client_character_set"))); |
| 28 | + assertThat(stmt.getSql(), not(containsString("a_random_test_order"))); |
| 29 | + assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed"))); |
18 | 30 | }
|
19 | 31 |
|
20 | 32 |
|
21 | 33 | @Test
|
22 | 34 | void testGettingPre312Version_from_303() throws SQLException {
|
23 |
| - TestRunnerStatement stmt = TestRunnerStatementProvider.getCompatibleTestRunnerStatement(Version.V3_0_3, new TestRunnerOptions(), getConnection()); |
| 35 | + AbstractTestRunnerStatement stmt = getTestRunnerStatementForVersion(Version.V3_0_3); |
24 | 36 | assertEquals(Pre312TestRunnerStatement.class, stmt.getClass());
|
| 37 | + assertThat(stmt.getSql(), containsString("a_fail_on_errors")); |
| 38 | + assertThat(stmt.getSql(), not(containsString("a_client_character_set"))); |
| 39 | + assertThat(stmt.getSql(), not(containsString("a_random_test_order"))); |
| 40 | + assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed"))); |
25 | 41 | }
|
26 | 42 |
|
27 | 43 | @Test
|
28 | 44 | void testGettingPre312Version_from_311() throws SQLException {
|
29 |
| - TestRunnerStatement stmt = TestRunnerStatementProvider.getCompatibleTestRunnerStatement(Version.V3_1_1, new TestRunnerOptions(), getConnection()); |
30 |
| - assertEquals(Pre312TestRunnerStatement.class, stmt.getClass()); |
| 45 | + AbstractTestRunnerStatement stmt = getTestRunnerStatementForVersion(Version.V3_1_1); |
| 46 | + assertThat(stmt, instanceOf(Pre312TestRunnerStatement.class)); |
| 47 | + assertThat(stmt.getSql(), containsString("a_fail_on_errors")); |
| 48 | + assertThat(stmt.getSql(), not(containsString("a_client_character_set"))); |
| 49 | + assertThat(stmt.getSql(), not(containsString("a_random_test_order"))); |
| 50 | + assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed"))); |
31 | 51 | }
|
32 | 52 |
|
33 | 53 | @Test
|
34 | 54 | void testGettingPre317Version_from_312() throws SQLException {
|
35 |
| - TestRunnerStatement stmt = TestRunnerStatementProvider.getCompatibleTestRunnerStatement(Version.V3_1_2, new TestRunnerOptions(), getConnection()); |
36 |
| - assertEquals(Pre317TestRunnerStatement.class, stmt.getClass()); |
| 55 | + AbstractTestRunnerStatement stmt = getTestRunnerStatementForVersion(Version.V3_1_2); |
| 56 | + assertThat(stmt, instanceOf(Pre317TestRunnerStatement.class)); |
| 57 | + assertThat(stmt.getSql(), containsString("a_fail_on_errors")); |
| 58 | + assertThat(stmt.getSql(), containsString("a_client_character_set")); |
| 59 | + assertThat(stmt.getSql(), not(containsString("a_random_test_order"))); |
| 60 | + assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed"))); |
37 | 61 | }
|
38 | 62 |
|
39 | 63 | @Test
|
40 | 64 | void testGettingPre317Version_from_316() throws SQLException {
|
41 |
| - TestRunnerStatement stmt = TestRunnerStatementProvider.getCompatibleTestRunnerStatement(Version.V3_1_6, new TestRunnerOptions(), getConnection()); |
42 |
| - assertEquals(Pre317TestRunnerStatement.class, stmt.getClass()); |
| 65 | + AbstractTestRunnerStatement stmt = getTestRunnerStatementForVersion(Version.V3_1_6); |
| 66 | + assertThat(stmt, instanceOf(Pre317TestRunnerStatement.class)); |
| 67 | + assertThat(stmt.getSql(), containsString("a_fail_on_errors")); |
| 68 | + assertThat(stmt.getSql(), containsString("a_client_character_set")); |
| 69 | + assertThat(stmt.getSql(), not(containsString("a_random_test_order"))); |
| 70 | + assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed"))); |
43 | 71 | }
|
44 | 72 |
|
45 | 73 | @Test
|
46 | 74 | void testGettingActualVersion_from_latest() throws SQLException {
|
47 |
| - TestRunnerStatement stmt = TestRunnerStatementProvider.getCompatibleTestRunnerStatement(Version.LATEST, new TestRunnerOptions(), getConnection()); |
48 |
| - assertEquals(ActualTestRunnerStatement.class, stmt.getClass()); |
| 75 | + AbstractTestRunnerStatement stmt = getTestRunnerStatementForVersion(Version.LATEST); |
| 76 | + assertThat(stmt, instanceOf(ActualTestRunnerStatement.class)); |
| 77 | + assertThat(stmt.getSql(), containsString("a_fail_on_errors")); |
| 78 | + assertThat(stmt.getSql(), containsString("a_client_character_set")); |
| 79 | + assertThat(stmt.getSql(), containsString("a_random_test_order")); |
| 80 | + assertThat(stmt.getSql(), containsString("a_random_test_order_seed")); |
49 | 81 | }
|
50 | 82 | }
|
0 commit comments