Skip to content

Commit 5e86b01

Browse files
committed
Adapt tests to IRunCommand and implement necessary functionality
1 parent d13ae5b commit 5e86b01

File tree

8 files changed

+62
-29
lines changed

8 files changed

+62
-29
lines changed

src/main/java/org/utplsql/cli/IRunCommand.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
public interface IRunCommand extends ICommand {
99

10+
void initLogger();
11+
1012
TestRunner newTestRunner(List<Reporter> reporterList);
1113

1214
List<ReporterOptions> getReporterOptionsList();

src/main/java/org/utplsql/cli/RunCommand.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ ConnectionInfo getConnectionInfo() {
147147
return connectionInfoList.get(0);
148148
}
149149

150-
void init() {
150+
public void initLogger() {
151151

152152
LoggerConfiguration.ConfigLevel level = LoggerConfiguration.ConfigLevel.BASIC;
153153
if ( logSilent ) {
@@ -161,7 +161,7 @@ else if ( logDebug ) {
161161
}
162162

163163
public int doRun() throws OracleCreateStatmenetStuckException {
164-
init();
164+
initLogger();
165165
outputMainInformation();
166166

167167
HikariDataSource dataSource = null;

src/main/java/org/utplsql/cli/RunPicocliCommand.java

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package org.utplsql.cli;
22

3+
import org.utplsql.api.TestRunner;
4+
import org.utplsql.api.reporter.Reporter;
35
import org.utplsql.cli.config.FileMapperConfig;
46
import org.utplsql.cli.config.ReporterConfig;
57
import org.utplsql.cli.config.RunCommandConfig;
@@ -11,7 +13,7 @@
1113
import java.util.*;
1214

1315
@Command( name = "run", description = "run tests")
14-
public class RunPicocliCommand implements ICommand {
16+
public class RunPicocliCommand implements IRunCommand {
1517

1618
@Parameters(description = ConnectionInfo.COMMANDLINE_PARAM_DESCRIPTION)
1719
private String connectionString;
@@ -165,6 +167,8 @@ FileMapperConfig toFileMapperConfig() {
165167
}
166168
}
167169

170+
private RunAction runAction;
171+
168172
private String[] splitOrEmpty(String value) {
169173
if ( value == null || value.isEmpty() ) {
170174
return new String[0];
@@ -228,14 +232,35 @@ else if ( logDebug ) {
228232
randomTestOrderSeed);
229233
}
230234

235+
private RunAction getRunAction() {
236+
if ( runAction == null )
237+
runAction = new RunAction(getRunCommandConfig());
238+
239+
return runAction;
240+
}
241+
231242
@Override
232243
public int run() {
233-
RunAction action = new RunAction(getRunCommandConfig());
234-
return action.run();
244+
return getRunAction().run();
235245
}
236246

237247
@Override
238248
public String getCommand() {
239249
return null;
240250
}
251+
252+
@Override
253+
public TestRunner newTestRunner(List<Reporter> reporterList) {
254+
return getRunAction().newTestRunner(reporterList);
255+
}
256+
257+
@Override
258+
public List<ReporterOptions> getReporterOptionsList() {
259+
return getRunAction().getReporterOptionsList();
260+
}
261+
262+
@Override
263+
public void initLogger() {
264+
getRunAction().init();
265+
}
241266
}

src/test/java/org/utplsql/cli/PathMapperTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public class PathMapperTest {
99

1010
@Test
1111
void checkPathMapperOutput() {
12-
RunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(),
12+
IRunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(),
1313
"-f=ut_sonar_test_reporter",
1414
"-o=sonar_result.xml",
1515
"-s",

src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class RunCommandArgumentsTest {
1212

1313
@Test
1414
public void allArgumentsAreRecognized() {
15-
RunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(),
15+
IRunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(),
1616
"-p=app",
1717
"-f=ut_sonar_test_reporter",
1818
"-o=sonar_result.xml",
@@ -45,7 +45,7 @@ public void allArgumentsAreRecognized() {
4545

4646
@Test
4747
void multiplePaths() {
48-
RunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(),
48+
IRunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(),
4949
"-p=app.test_betwnstr,app.test_award_bonus"
5050
);
5151

src/test/java/org/utplsql/cli/RunCommandConfigLevelTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,23 @@ private Logger getRootLogger() {
1616
@Test
1717
void defaultIsInfo() {
1818
TestHelper.createRunCommand(TestHelper.getConnectionString())
19-
.init();
19+
.initLogger();
2020

2121
assertEquals(Level.INFO, getRootLogger().getLevel());
2222
}
2323

2424
@Test
2525
void silentModeSetsLoggerToOff() {
2626
TestHelper.createRunCommand(TestHelper.getConnectionString(), "-q")
27-
.init();
27+
.initLogger();
2828

2929
assertEquals(Level.OFF, getRootLogger().getLevel());
3030
}
3131

3232
@Test
3333
void debugModeSetsLoggerToDebug() {
3434
TestHelper.createRunCommand(TestHelper.getConnectionString(), "-d")
35-
.init();
35+
.initLogger();
3636

3737
assertEquals(Level.DEBUG, getRootLogger().getLevel());
3838
}

src/test/java/org/utplsql/cli/RunCommandTest.java

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class RunCommandTest {
1919

2020
@Test
2121
void reporterOptions_Default() {
22-
RunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString());
22+
IRunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString());
2323

2424
List<ReporterOptions> reporterOptionsList = runCmd.getReporterOptionsList();
2525

@@ -32,7 +32,7 @@ void reporterOptions_Default() {
3232

3333
@Test
3434
void reporterOptions_OneReporter() {
35-
RunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(), "-f=ut_documentation_reporter", "-o=output.txt");
35+
IRunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(), "-f=ut_documentation_reporter", "-o=output.txt");
3636

3737
List<ReporterOptions> reporterOptionsList = runCmd.getReporterOptionsList();
3838

@@ -45,7 +45,7 @@ void reporterOptions_OneReporter() {
4545

4646
@Test
4747
void reporterOptions_OneReporterForceScreen() {
48-
RunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(), "-f=ut_documentation_reporter", "-o=output.txt", "-s");
48+
IRunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(), "-f=ut_documentation_reporter", "-o=output.txt", "-s");
4949

5050
List<ReporterOptions> reporterOptionsList = runCmd.getReporterOptionsList();
5151

@@ -58,7 +58,7 @@ void reporterOptions_OneReporterForceScreen() {
5858

5959
@Test
6060
void reporterOptions_OneReporterForceScreenInverse() {
61-
RunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(), "-f=ut_documentation_reporter", "-s", "-o=output.txt");
61+
IRunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(), "-f=ut_documentation_reporter", "-s", "-o=output.txt");
6262

6363
List<ReporterOptions> reporterOptionsList = runCmd.getReporterOptionsList();
6464

@@ -71,7 +71,7 @@ void reporterOptions_OneReporterForceScreenInverse() {
7171

7272
@Test
7373
void reporterOptions_TwoReporters() {
74-
RunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(),
74+
IRunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(),
7575
"-f=ut_documentation_reporter",
7676
"-f=ut_coverage_html_reporter", "-o=coverage.html", "-s");
7777

@@ -90,17 +90,9 @@ void reporterOptions_TwoReporters() {
9090
assertTrue(reporterOptions2.outputToScreen());
9191
}
9292

93-
@Test
94-
void connectionString_asSysdba() {
95-
RunCommand runCmd = TestHelper.createRunCommand("sys as sysdba/mypass@connectstring/service");
96-
97-
assertEquals("sys as sysdba/mypass@connectstring/service",
98-
runCmd.getConnectionInfo().getConnectionString());
99-
}
100-
10193
@Test
10294
void randomOrder_default() {
103-
RunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString());
95+
IRunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString());
10496

10597
TestRunnerOptions options = runCmd.newTestRunner(new ArrayList<>()).getOptions();
10698
assertThat(options.randomTestOrder, equalTo(false));
@@ -109,7 +101,7 @@ void randomOrder_default() {
109101

110102
@Test
111103
void randomOrder_withoutSeed() {
112-
RunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(),
104+
IRunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(),
113105
"-random");
114106

115107
TestRunnerOptions options = runCmd.newTestRunner(new ArrayList<>()).getOptions();
@@ -119,7 +111,7 @@ void randomOrder_withoutSeed() {
119111

120112
@Test
121113
void randomOrder_withSeed() {
122-
RunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(),
114+
IRunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(),
123115
"-seed=42");
124116

125117
TestRunnerOptions options = runCmd.newTestRunner(new ArrayList<>()).getOptions();

src/test/java/org/utplsql/cli/TestHelper.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,29 @@ class TestHelper {
2525
sPass = EnvironmentVariableUtil.getEnvValue("DB_PASS", "app");
2626
}
2727

28+
static RunPicocliCommand createPicocliRunCommand(String... args ) {
29+
Object obj = new UtplsqlPicocliCommand();
30+
CommandLine cline = new CommandLine(obj);
31+
cline.setTrimQuotes(true);
32+
List<CommandLine> parsed = cline.parse(args);
33+
34+
return parsed.get(1).getCommand();
35+
}
36+
2837
static IRunCommand createRunCommand(String... args) {
29-
RunCommand runCmd = new RunCommand();
38+
ArrayList<String> newArgs = new ArrayList<>(args.length+1);
39+
newArgs.add("run");
40+
newArgs.addAll(Arrays.asList(args));
41+
return createPicocliRunCommand(newArgs.toArray(new String[0]));
42+
43+
/*RunCommand runCmd = new RunCommand();
3044
3145
JCommander.newBuilder()
3246
.addObject(runCmd)
3347
.args(args)
3448
.build();
3549
36-
return runCmd;
50+
return runCmd;*/
3751
}
3852

3953
static RunCommandConfig parseRunConfig(String... args ) throws Exception {

0 commit comments

Comments
 (0)