Skip to content

Commit 75a354c

Browse files
committed
Run tests from test result grid
1 parent ffc4f0a commit 75a354c

File tree

6 files changed

+81
-27
lines changed

6 files changed

+81
-27
lines changed

PlsqlDeveloperUtPlsqlPlugin/PlsqlDeveloperUtPlsqlPlugin/RealTimeTestResultWindow.Designer.cs

Lines changed: 23 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

PlsqlDeveloperUtPlsqlPlugin/PlsqlDeveloperUtPlsqlPlugin/RealTimeTestResultWindow.cs

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public partial class RealTimeTestResultWindow : Form
1717
private readonly RealTimeTestRunner testRunner;
1818
private BindingList<TestResult> testResults = new BindingList<TestResult>();
1919
private int totalNumberOfTests;
20+
private int rowIndexOnRightClick;
2021

2122
public RealTimeTestResultWindow(RealTimeTestRunner testRunner)
2223
{
@@ -35,23 +36,23 @@ public RealTimeTestResultWindow(RealTimeTestRunner testRunner)
3536
gridResults.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
3637
}
3738

38-
internal void RunTests(string type, string owner, string name, string subType)
39+
internal void RunTests(string type, string owner, string name, string procedure)
3940
{
4041
Running = true;
4142

4243
ResetComponents();
4344

4445
testResults.Clear();
4546

46-
setWindowTitle(type, owner, name, subType);
47+
setWindowTitle(type, owner, name, procedure);
4748

4849
CenterToScreen();
4950

5051
Show();
5152

5253
new Thread(() =>
5354
{
54-
testRunner.RunTests(type, owner, name, subType);
55+
testRunner.RunTests(type, owner, name, procedure);
5556

5657
}).Start();
5758
new Thread(() =>
@@ -113,17 +114,22 @@ private void setWindowTitle(string type, string owner, string name, string subTy
113114
var startTime = DateTime.Now.ToString();
114115
txtStart.Text = startTime;
115116

116-
if (type.Equals("USER"))
117+
if (type.Equals(RealTimeTestRunner.USER))
117118
{
118119
this.Text = name + " " + startTime;
119120
txtTestExecution.Text = $"All Tests of {name}";
120121
}
121-
else if (type.Equals("PACKAGE"))
122+
else if (type.Equals(RealTimeTestRunner.PACKAGE))
122123
{
123124
this.Text = $"{owner}.{name}" + " " + startTime;
124125
txtTestExecution.Text = $"Package {owner}.{name}";
125126
}
126-
else if (type.Equals("_ALL"))
127+
else if (type.Equals(RealTimeTestRunner.PROCEDURE))
128+
{
129+
this.Text = $"{owner}.{name}" + " " + startTime;
130+
txtTestExecution.Text = $"Package {owner}.{name}";
131+
}
132+
else if (type.Equals(RealTimeTestRunner.ALL))
127133
{
128134
this.Text = owner + " " + startTime;
129135
txtTestExecution.Text = $"All Tests of {owner}";
@@ -334,6 +340,19 @@ private void gridTestFailures_CellDoubleClick(object sender, DataGridViewCellEve
334340
PlsqlDeveloperUtPlsqlPlugin.OpenPackageBody(testResult.Owner, testResult.Package);
335341

336342
}
343+
344+
private void gridResults_CellContextMenuStripNeeded(object sender, DataGridViewCellContextMenuStripNeededEventArgs e)
345+
{
346+
rowIndexOnRightClick = e.RowIndex;
347+
}
348+
349+
private void menuItemRunTests_Click(object sender, EventArgs e)
350+
{
351+
TestResult testResult = testResults[rowIndexOnRightClick];
352+
353+
var testResultWindow = new RealTimeTestResultWindow(testRunner);
354+
testResultWindow.RunTests(RealTimeTestRunner.PROCEDURE, testResult.Owner, testResult.Package, testResult.Procedure);
355+
}
337356
}
338357
}
339358

PlsqlDeveloperUtPlsqlPlugin/PlsqlDeveloperUtPlsqlPlugin/RealTimeTestResultWindow.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@
117117
<resheader name="writer">
118118
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119119
</resheader>
120+
<metadata name="contextMenuResults.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
121+
<value>17, 17</value>
122+
</metadata>
120123
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
121124
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
122125
<value>

PlsqlDeveloperUtPlsqlPlugin/utPLSQL.Lib.Test/RealTimeTestRunnerTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public void TestToscamtest()
1313
RealTimeTestRunner testRunner = new RealTimeTestRunner();
1414
testRunner.Connect(username: "toscamtest", password: "toscamtest", database: "CA40");
1515

16-
testRunner.RunTests(type: "USER", owner: null, name: "toscamtest", subType: null);
16+
testRunner.RunTests(type: "USER", owner: null, name: "toscamtest", procedure: null);
1717

1818
List<@event> events = new List<@event>();
1919
testRunner.ConsumeResult(@event =>

PlsqlDeveloperUtPlsqlPlugin/utPLSQL.Lib/RealTimeTestRunner.cs

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,23 @@ public class RealTimeTestRunner : TestRunner<@event>
1010
{
1111
private string id;
1212

13-
public override void RunTests(string type, string owner, string name, string subType)
13+
public override void RunTests(string type, string owner, string name, string procedure)
1414
{
1515
string testsToRun = null;
1616

17-
if (type.Equals("USER"))
17+
if (type.Equals(USER))
1818
{
1919
testsToRun = name;
2020
}
21-
else if (type.Equals("PACKAGE"))
21+
else if (type.Equals(PACKAGE))
2222
{
2323
testsToRun = $"{owner}.{name}";
2424
}
25-
else if (type.Equals("_ALL"))
25+
else if (type.Equals(PROCEDURE))
26+
{
27+
testsToRun = $"{owner}.{name}.{procedure}";
28+
}
29+
else if (type.Equals(ALL))
2630
{
2731
testsToRun = owner;
2832
}
@@ -31,16 +35,16 @@ public override void RunTests(string type, string owner, string name, string sub
3135
{
3236
id = Guid.NewGuid().ToString().Replace("-", "");
3337

34-
string procedure = @"DECLARE
35-
l_reporter ut_realtime_reporter := ut_realtime_reporter();
36-
BEGIN
37-
l_reporter.set_reporter_id(:id);
38-
l_reporter.output_buffer.init();
39-
ut_runner.run(a_paths => ut_varchar2_list(:test),
40-
a_reporters => ut_reporters(l_reporter));
41-
END;";
38+
string proc = @"DECLARE
39+
l_reporter ut_realtime_reporter := ut_realtime_reporter();
40+
BEGIN
41+
l_reporter.set_reporter_id(:id);
42+
l_reporter.output_buffer.init();
43+
ut_runner.run(a_paths => ut_varchar2_list(:test),
44+
a_reporters => ut_reporters(l_reporter));
45+
END;";
4246

43-
OracleCommand cmd = new OracleCommand(procedure, produceConnection);
47+
OracleCommand cmd = new OracleCommand(proc, produceConnection);
4448
cmd.Parameters.Add("id", OracleDbType.Varchar2, ParameterDirection.Input).Value = id;
4549
cmd.Parameters.Add("test", OracleDbType.Varchar2, ParameterDirection.Input).Value = testsToRun;
4650
cmd.ExecuteNonQuery();
@@ -49,14 +53,14 @@ public override void RunTests(string type, string owner, string name, string sub
4953

5054
public override void ConsumeResult(Action<@event> action)
5155
{
52-
string procedure = @"DECLARE
53-
l_reporter ut_realtime_reporter := ut_realtime_reporter();
54-
BEGIN
55-
l_reporter.set_reporter_id(:id);
56-
:lines_cursor := l_reporter.get_lines_cursor();
57-
END;";
56+
string proc = @"DECLARE
57+
l_reporter ut_realtime_reporter := ut_realtime_reporter();
58+
BEGIN
59+
l_reporter.set_reporter_id(:id);
60+
:lines_cursor := l_reporter.get_lines_cursor();
61+
END;";
5862

59-
OracleCommand cmd = new OracleCommand(procedure, consumeConnection);
63+
OracleCommand cmd = new OracleCommand(proc, consumeConnection);
6064
cmd.Parameters.Add("id", OracleDbType.Varchar2, ParameterDirection.Input).Value = id;
6165
cmd.Parameters.Add("lines_cursor", OracleDbType.RefCursor, ParameterDirection.Output);
6266

PlsqlDeveloperUtPlsqlPlugin/utPLSQL.Lib/TestRunner.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ namespace utPLSQL
55
{
66
public abstract class TestRunner<T>
77
{
8+
public const string USER = "USER";
9+
public const string PACKAGE = "PACKAGE";
10+
public const string PROCEDURE = "PROCEDURE";
11+
public const string ALL = "_ALL";
12+
813
internal OracleConnection produceConnection;
914
internal OracleConnection consumeConnection;
1015

0 commit comments

Comments
 (0)