Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c589574

Browse files
committed
Added test for sonar test reporter.
Moved teamcity reporter. Cleanup of invalidation test.
1 parent b47cc17 commit c589574

4 files changed

Lines changed: 122 additions & 30 deletions

File tree

tests/RunAll.sql

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,9 @@ exec ut_coverage.coverage_start_develop();
106106
@@lib/RunTest.sql ut_output_buffer/send_line.DoesNotSendLineIfNullTextGiven.sql
107107
@@lib/RunTest.sql ut_output_buffer/send_line.SendsALineIntoBufferTable.sql
108108

109+
@@lib/RunTest.sql ut_reporters/ut_sonar_test_reporter.ProducesExpectedOutputs.sql
110+
@@lib/RunTest.sql ut_reporters/ut_teamcity_reporter.ProducesExpectedOutputs.sql
111+
109112
@@lib/RunTest.sql ut_run/ut.run.FailsToExecuteAnInvalidPackageBody.sql
110113
@@lib/RunTest.sql ut_run/ut_run.function.WithGivenReporter.ExectutesAllInCurrentSchemaUsingReporter.sql
111114
@@lib/RunTest.sql ut_run/ut_run.function.WithNoParams.ExecutesAllFromCurrentSchema.sql
@@ -168,7 +171,6 @@ exec ut_coverage.coverage_start_develop();
168171
@@lib/RunTest.sql ut_test/ut_test.BeforeEachProcedureNameInvalid.sql
169172
@@lib/RunTest.sql ut_test/ut_test.BeforeEachProcedureNameNull.sql
170173
@@lib/RunTest.sql ut_test/ut_test.TestOutputGathering.sql
171-
@@lib/RunTest.sql ut_test/ut_test.TestOutputGatheringForTeamcity.sql
172174
@@lib/RunTest.sql ut_test/ut_test.TestOutputGatheringWhenEmpty.sql
173175
@@lib/RunTest.sql ut_test/ut_test.ReportWarningOnRollbackFailed.sql
174176

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
create or replace package ut_output_tests
2+
as
3+
--%suite
4+
5+
--%beforeeach
6+
procedure beforeeach;
7+
8+
--%aftereach
9+
procedure aftereach;
10+
11+
--%test
12+
--%beforetest(beforetest)
13+
--%aftertest(aftertest)
14+
procedure ut_passing_test;
15+
16+
procedure beforetest;
17+
18+
procedure aftertest;
19+
20+
--%beforeall
21+
procedure beforeall;
22+
--%afterall
23+
procedure afterall;
24+
25+
end;
26+
/
27+
28+
create or replace package body ut_output_tests
29+
as
30+
31+
procedure beforetest is
32+
begin
33+
dbms_output.put_line('<!beforetest!>');
34+
end;
35+
36+
procedure aftertest
37+
is
38+
begin
39+
dbms_output.put_line('<!aftertest!>');
40+
end;
41+
42+
procedure beforeeach is
43+
begin
44+
dbms_output.put_line('<!beforeeach!>');
45+
end;
46+
47+
procedure aftereach is
48+
begin
49+
dbms_output.put_line('<!aftereach!>');
50+
end;
51+
52+
procedure ut_passing_test
53+
is
54+
begin
55+
dbms_output.put_line('<!thetest!>');
56+
ut.expect(1,'Test 1 Should Pass').to_equal(1);
57+
end;
58+
59+
procedure beforeall is
60+
begin
61+
dbms_output.put_line('<!beforeall!>');
62+
end;
63+
64+
procedure afterall is
65+
begin
66+
dbms_output.put_line('<!afterall!>');
67+
end;
68+
69+
end;
70+
/
71+
72+
declare
73+
l_output_data ut_varchar2_list;
74+
l_output clob;
75+
begin
76+
--act
77+
select *
78+
bulk collect into l_output_data
79+
from table(ut.run('ut_output_tests',ut_sonar_test_reporter(a_file_paths=>ut_varchar2_list('tests/ut_reporter/ut_output_tests.pkb'))));
80+
81+
l_output := ut_utils.table_to_clob(l_output_data);
82+
83+
--assert
84+
if l_output like '<testExecutions version="1">' ||
85+
'<file path="tests/ut_reporter/ut_output_tests.pkb">' ||
86+
'<testCase name="ut_passing_test" duration="%" >' ||
87+
'</testCase></file></testExecutions>' then
88+
:test_result := ut_utils.tr_success;
89+
else
90+
dbms_output.put_line(l_output);
91+
end if;
92+
end;
93+
/
94+
95+
drop package ut_output_tests
96+
/
97+

tests/ut_test/ut_test.TestOutputGatheringForTeamcity.sql renamed to tests/ut_reporters/ut_teamcity_reporter.ProducesExpectedOutputs.sql

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
create or replace package ut_output_tests
22
as
33
--%suite
4-
4+
55
--%beforeeach
66
procedure beforeeach;
7-
7+
88
--%aftereach
99
procedure aftereach;
10-
10+
1111
--%test
1212
--%beforetest(beforetest)
1313
--%aftertest(aftertest)
1414
procedure ut_passing_test;
15-
15+
1616
procedure beforetest;
17-
17+
1818
procedure aftertest;
19-
19+
2020
--%beforeall
2121
procedure beforeall;
22-
--%afterall
22+
--%afterall
2323
procedure afterall;
24-
24+
2525
end;
2626
/
2727

@@ -38,7 +38,7 @@ as
3838
begin
3939
dbms_output.put_line('<!aftertest!>');
4040
end;
41-
41+
4242
procedure beforeeach is
4343
begin
4444
dbms_output.put_line('<!beforeeach!>');
@@ -55,7 +55,7 @@ as
5555
dbms_output.put_line('<!thetest!>');
5656
ut.expect(1,'Test 1 Should Pass').to_equal(1);
5757
end;
58-
58+
5959
procedure beforeall is
6060
begin
6161
dbms_output.put_line('<!beforeall!>');
@@ -70,29 +70,25 @@ end;
7070
/
7171

7272
declare
73-
l_output_data dbms_output.chararr;
74-
l_num_lines integer := 100000;
73+
l_output_data ut_varchar2_list;
7574
l_output clob;
7675
begin
7776
--act
78-
ut.run('ut_output_tests',ut_teamcity_reporter);
77+
select *
78+
bulk collect into l_output_data
79+
from table(ut.run('ut_output_tests',ut_teamcity_reporter()));
7980

81+
l_output := ut_utils.table_to_clob(l_output_data);
8082
--assert
81-
dbms_output.get_lines( l_output_data, l_num_lines);
82-
dbms_lob.createtemporary(l_output,true);
83-
for i in 1 .. l_num_lines loop
84-
dbms_lob.append(l_output,l_output_data(i));
85-
end loop;
83+
8684
if l_output like '%##teamcity[testStarted%<!beforeeach!>%<!beforetest!>%<!thetest!>%<!aftertest!>%<!aftereach!>%##teamcity[testFinished%' then
8785
:test_result := ut_utils.tr_success;
88-
end if;
89-
90-
if :test_result != ut_utils.tr_success or :test_result is null then
91-
for i in 1 .. l_num_lines loop
86+
else
87+
for i in 1 .. l_output_data.count loop
9288
dbms_output.put_line(l_output_data(i));
9389
end loop;
94-
dbms_output.put_line('Failed: Wrong output');
9590
end if;
91+
9692
end;
9793
/
9894

tests/ut_suite_manager/ut_suite_manager.CacheInvalidaesOnPackageDrop.sql

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ create or replace package tst_package_to_be_dropped as
66
procedure test1;
77
end;
88
/
9+
910
create or replace package body tst_package_to_be_dropped as
1011
procedure test1 is begin ut.expect(1).to_equal(1); end;
1112
procedure test2 is begin ut.expect(1).to_equal(1); end;
1213
end;
1314
/
15+
1416
set termout on
1517

1618
declare
@@ -23,8 +25,8 @@ end;
2325

2426
drop package tst_package_to_be_dropped
2527
/
26-
begin
2728

29+
begin
2830
begin
2931
ut.run(user || '.tst_package_to_be_dropped');
3032
exception
@@ -33,14 +35,9 @@ begin
3335
:test_result := ut_utils.tr_success;
3436
end if;
3537
end;
36-
3738
if :test_result != ut_utils.tr_success or :test_result is null then
3839
dbms_output.put_line('Failed: Expected exception with text like ''%tst_package_to_be_dropped%does not exist%'' but got:''' ||
3940
sqlerrm || '''');
4041
end if;
4142
end;
4243
/
43-
set termout off
44-
drop package tst_package_to_be_dropped
45-
/
46-
set termout on

0 commit comments

Comments
 (0)