Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions src/main/java/org/utplsql/api/TestRunner.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.*;

Expand Down Expand Up @@ -129,6 +130,16 @@ public TestRunner randomTestOrderSeed( Integer seed ) {
return this;
}

public TestRunner addTag( String tag ) {
this.options.tags.add(tag);
return this;
}

public TestRunner addTags(Collection<String> tags) {
this.options.tags.addAll(tags);
return this;
}

public TestRunnerOptions getOptions() { return options; }

private void delayedAddReporters() {
Expand Down
7 changes: 7 additions & 0 deletions src/main/java/org/utplsql/api/TestRunnerOptions.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@

import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;

/**
* Holds the various possible options of TestRunner
Expand All @@ -27,4 +29,9 @@ public class TestRunnerOptions {
public String clientCharacterSet = Charset.defaultCharset().toString();
public boolean randomTestOrder = false;
public Integer randomTestOrderSeed;
public final Set<String> tags = new LinkedHashSet<>();

public String getTagsAsString() {
return String.join(",", tags);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ public enum OptionalFeatures {
FRAMEWORK_COMPATIBILITY_CHECK("3.0.3.1266", null),
CUSTOM_REPORTERS("3.1.0.1849", null),
CLIENT_CHARACTER_SET("3.1.2.2130", null),
RANDOM_EXECUTION_ORDER("3.1.7.2795", null);
RANDOM_EXECUTION_ORDER("3.1.7.2795", null),
TAGS("3.1.7.3006", null);

private final Version minVersion;
private final Version maxVersion;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ protected String getSql() {
"a_fail_on_errors => " + failOnErrors + ", " +
"a_client_character_set => ?, " +
"a_random_test_order => " + randomExecutionOrder + ", " +
"a_random_test_order_seed => ?"+
"a_random_test_order_seed => ?, "+
"a_tags => ?"+
"); " +
"END;";
}
Expand All @@ -55,6 +56,12 @@ protected int createStatement() throws SQLException {
callableStatement.setInt(++curParamIdx, options.randomTestOrderSeed);
}

if ( options.tags.size() == 0 ) {
callableStatement.setNull(++curParamIdx, Types.VARCHAR);
} else {
callableStatement.setString(++curParamIdx, options.getTagsAsString());
}

return curParamIdx;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ void testGetVariableFromProperty() {
@Test
void testGetVariableFromDefault() {

assertEquals("defaultValue", EnvironmentVariableUtil.getEnvValue("RANDOM" + String.valueOf(System.currentTimeMillis()), "defaultValue"));
assertEquals("defaultValue", EnvironmentVariableUtil.getEnvValue("RANDOM" + System.currentTimeMillis(), "defaultValue"));
}

}
11 changes: 11 additions & 0 deletions src/test/java/org/utplsql/api/OptionalFeaturesIT.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,15 @@ void randomExecutionOrder() throws SQLException, InvalidVersionException {
assertFalse(available);
}
}

@Test
void tags() throws SQLException, InvalidVersionException {
boolean available = OptionalFeatures.TAGS.isAvailableFor(getConnection());

if (getDatabaseVersion().isGreaterOrEqualThan(Version.V3_1_7)) {
assertTrue(available);
} else {
assertFalse(available);
}
}
}
7 changes: 7 additions & 0 deletions src/test/java/org/utplsql/api/TestRunnerIT.java
Original file line number Diff line number Diff line change
Expand Up @@ -88,4 +88,11 @@ void runWithRandomExecutionOrder() throws SQLException {
.run(getConnection());
}

@Test
void runWithTags() throws SQLException {
new TestRunner()
.addTag("none")
.run(getConnection());
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ void testGettingPre303Version() throws SQLException {
assertThat(stmt.getSql(), not(containsString("a_client_character_set")));
assertThat(stmt.getSql(), not(containsString("a_random_test_order")));
assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed")));
assertThat(stmt.getSql(), not(containsString("a_tags")));
}


Expand All @@ -38,6 +39,7 @@ void testGettingPre312Version_from_303() throws SQLException {
assertThat(stmt.getSql(), not(containsString("a_client_character_set")));
assertThat(stmt.getSql(), not(containsString("a_random_test_order")));
assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed")));
assertThat(stmt.getSql(), not(containsString("a_tags")));
}

@Test
Expand All @@ -48,6 +50,7 @@ void testGettingPre312Version_from_311() throws SQLException {
assertThat(stmt.getSql(), not(containsString("a_client_character_set")));
assertThat(stmt.getSql(), not(containsString("a_random_test_order")));
assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed")));
assertThat(stmt.getSql(), not(containsString("a_tags")));
}

@Test
Expand All @@ -58,6 +61,7 @@ void testGettingPre317Version_from_312() throws SQLException {
assertThat(stmt.getSql(), containsString("a_client_character_set"));
assertThat(stmt.getSql(), not(containsString("a_random_test_order")));
assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed")));
assertThat(stmt.getSql(), not(containsString("a_tags")));
}

@Test
Expand All @@ -68,6 +72,7 @@ void testGettingPre317Version_from_316() throws SQLException {
assertThat(stmt.getSql(), containsString("a_client_character_set"));
assertThat(stmt.getSql(), not(containsString("a_random_test_order")));
assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed")));
assertThat(stmt.getSql(), not(containsString("a_tags")));
}

@Test
Expand All @@ -78,5 +83,6 @@ void testGettingActualVersion_from_latest() throws SQLException {
assertThat(stmt.getSql(), containsString("a_client_character_set"));
assertThat(stmt.getSql(), containsString("a_random_test_order"));
assertThat(stmt.getSql(), containsString("a_random_test_order_seed"));
assertThat(stmt.getSql(), containsString("a_tags"));
}
}