|
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