Skip to content

Commit 4a08e07

Browse files
committed
Implement new parameters
1 parent 8fb3072 commit 4a08e07

File tree

2 files changed

+60
-21
lines changed

2 files changed

+60
-21
lines changed

src/main/java/org/utplsql/api/testRunner/ActualTestRunnerStatement.java

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import java.sql.Connection;
66
import java.sql.SQLException;
7+
import java.sql.Types;
78

89
/**
910
* Provides the call to run tests for the most actual Framework version.
@@ -27,17 +28,18 @@ protected String getSql() {
2728
return
2829
"BEGIN " +
2930
"ut_runner.run(" +
30-
"a_paths => ?, " +
31-
"a_reporters => ?, " +
32-
"a_color_console => " + colorConsoleStr + ", " +
33-
"a_coverage_schemes => ?, " +
34-
"a_source_file_mappings => ?, " +
35-
"a_test_file_mappings => ?, " +
36-
"a_include_objects => ?, " +
37-
"a_exclude_objects => ?, " +
38-
"a_fail_on_errors => " + failOnErrors + ", " +
39-
"a_client_character_set => ?" +
40-
//(options.randomTestOrderSeed != null ) ?
31+
"a_paths => ?, " +
32+
"a_reporters => ?, " +
33+
"a_color_console => " + colorConsoleStr + ", " +
34+
"a_coverage_schemes => ?, " +
35+
"a_source_file_mappings => ?, " +
36+
"a_test_file_mappings => ?, " +
37+
"a_include_objects => ?, " +
38+
"a_exclude_objects => ?, " +
39+
"a_fail_on_errors => " + failOnErrors + ", " +
40+
"a_client_character_set => ?, " +
41+
"a_random_test_order => " + randomExecutionOrder + ", " +
42+
"a_random_test_order_seed => ?"+
4143
"); " +
4244
"END;";
4345
}
@@ -47,6 +49,11 @@ protected int createStatement() throws SQLException {
4749
int curParamIdx = super.createStatement();
4850

4951
callableStatement.setString(++curParamIdx, options.clientCharacterSet);
52+
if ( options.randomTestOrderSeed == null ) {
53+
callableStatement.setNull(++curParamIdx, Types.INTEGER);
54+
} else {
55+
callableStatement.setInt(++curParamIdx, options.randomTestOrderSeed);
56+
}
5057

5158
return curParamIdx;
5259
}

src/test/java/org/utplsql/api/testRunner/TestRunnerStatementProviderIT.java

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,44 +7,76 @@
77

88
import java.sql.SQLException;
99

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;
1014
import static org.junit.jupiter.api.Assertions.assertEquals;
1115

1216
class TestRunnerStatementProviderIT extends AbstractDatabaseTest {
1317

18+
AbstractTestRunnerStatement getTestRunnerStatementForVersion( Version version ) throws SQLException {
19+
return (AbstractTestRunnerStatement)TestRunnerStatementProvider.getCompatibleTestRunnerStatement(version, new TestRunnerOptions(), getConnection());
20+
}
21+
1422
@Test
1523
void testGettingPre303Version() throws SQLException {
16-
TestRunnerStatement stmt = TestRunnerStatementProvider.getCompatibleTestRunnerStatement(Version.V3_0_2, new TestRunnerOptions(), getConnection());
24+
AbstractTestRunnerStatement stmt = getTestRunnerStatementForVersion(Version.V3_0_2);
1725
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")));
1830
}
1931

2032

2133
@Test
2234
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);
2436
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")));
2541
}
2642

2743
@Test
2844
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")));
3151
}
3252

3353
@Test
3454
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")));
3761
}
3862

3963
@Test
4064
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")));
4371
}
4472

4573
@Test
4674
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"));
4981
}
5082
}

0 commit comments

Comments
 (0)