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

Skip to content

Commit 620fd61

Browse files
committed
Adding extra tests:
reporters/test_coverage/test_cov_cobertura_reporter reporters/test_coverage/test_coverage_sonar_reporter reporters/test_coverage/test_coveralls_reporter reporters/test_coverage/test_html_extended_reporter
1 parent 858372c commit 620fd61

9 files changed

Lines changed: 258 additions & 0 deletions

test/install_ut3_user_tests.sql

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,12 @@ prompt Install user tests
3131
@@ut3_user/reporters/test_coverage.pks
3232
set define on
3333
@@install_above_12_1.sql 'ut3_user/reporters/test_extended_coverage.pks'
34+
@@install_above_12_1.sql 'ut3_user/reporters/test_coverage/test_html_extended_reporter.pks'
3435
set define off
36+
@@ut3_user/reporters/test_coverage/test_coveralls_reporter.pks
37+
@@ut3_user/reporters/test_coverage/test_cov_cobertura_reporter.pks
38+
@@ut3_user/reporters/test_coverage/test_coverage_sonar_reporter.pks
39+
3540

3641
--set define on
3742
--@@install_below_12_2.sql 'ut3_user/reporters/test_proftag_coverage.pks'
@@ -64,7 +69,11 @@ set define off
6469
@@ut3_user/reporters/test_coverage.pkb
6570
set define on
6671
@@install_above_12_1.sql 'ut3_user/reporters/test_extended_coverage.pkb'
72+
@@install_above_12_1.sql 'ut3_user/reporters/test_coverage/test_html_extended_reporter.pkb'
6773
set define off
74+
@@ut3_user/reporters/test_coverage/test_coveralls_reporter.pkb
75+
@@ut3_user/reporters/test_coverage/test_cov_cobertura_reporter.pkb
76+
@@ut3_user/reporters/test_coverage/test_coverage_sonar_reporter.pkb
6877

6978
--set define on
7079
--@@install_below_12_2.sql 'ut3_user/reporters/test_coverage.pkb'
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
create or replace package body test_cov_cobertura_reporter is
2+
3+
procedure report_on_file is
4+
l_results ut3.ut_varchar2_list;
5+
l_expected clob;
6+
l_actual clob;
7+
begin
8+
--Arrange
9+
l_expected :=
10+
q'[<?xml version="1.0"?>
11+
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
12+
<coverage line-rate="0" branch-rate="0.0" lines-covered="2" lines-valid="3" branches-covered="0" branches-valid="0" complexity="0" version="1" timestamp="%">
13+
<sources>
14+
<source>test/ut3.dummy_coverage.pkb</source>
15+
</sources>
16+
<packages>
17+
<package name="DUMMY_COVERAGE" line-rate="0.0" branch-rate="0.0" complexity="0.0">
18+
<class name="DUMMY_COVERAGE" filename="test/ut3.dummy_coverage.pkb" line-rate="0.0" branch-rate="0.0" complexity="0.0">
19+
<lines>
20+
<line number="4" hits="1" branch="false"/>
21+
<line number="5" hits="0" branch="false"/>
22+
<line number="7" hits="1" branch="false"/>
23+
</lines>
24+
</class>
25+
</package>
26+
</packages>
27+
</coverage>]';
28+
--Act
29+
select *
30+
bulk collect into l_results
31+
from table(
32+
ut3.ut.run(
33+
a_path => 'ut3.test_dummy_coverage',
34+
a_reporter=> ut3.ut_coverage_cobertura_reporter( ),
35+
a_source_files => ut3.ut_varchar2_list( 'test/ut3.dummy_coverage.pkb' ),
36+
a_test_files => ut3.ut_varchar2_list( )
37+
)
38+
);
39+
l_actual := ut3_tester_helper.main_helper.table_to_clob(l_results);
40+
--Assert
41+
ut.expect(l_actual).to_be_like(l_expected);
42+
end;
43+
44+
end;
45+
/
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
create or replace package test_cov_cobertura_reporter is
2+
3+
--%suite(ut_cov_cobertura_reporter)
4+
--%suitepath(utplsql.test_user.reporters.test_coverage)
5+
6+
--%test(reports on a project file mapped to database object)
7+
procedure report_on_file;
8+
9+
end test_cov_cobertura_reporter;
10+
/
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
create or replace package body test_coverage_sonar_reporter is
2+
3+
procedure report_on_file is
4+
l_results ut3.ut_varchar2_list;
5+
l_expected clob;
6+
l_actual clob;
7+
begin
8+
--Arrange
9+
l_expected := '<?xml version="1.0"?>
10+
<coverage version="1">
11+
<file path="test/ut3.dummy_coverage.pkb">
12+
<lineToCover lineNumber="4" covered="true"/>
13+
<lineToCover lineNumber="5" covered="false"/>
14+
<lineToCover lineNumber="7" covered="true"/>
15+
</file>
16+
</coverage>';
17+
--Act
18+
select *
19+
bulk collect into l_results
20+
from table(
21+
ut3.ut.run(
22+
a_path => 'ut3.test_dummy_coverage',
23+
a_reporter=> ut3.ut_coverage_sonar_reporter( ),
24+
a_source_files => ut3.ut_varchar2_list( 'test/ut3.dummy_coverage.pkb' ),
25+
a_test_files => ut3.ut_varchar2_list( )
26+
)
27+
);
28+
l_actual := ut3_tester_helper.main_helper.table_to_clob(l_results);
29+
--Assert
30+
ut.expect(l_actual).to_equal(l_expected);
31+
end;
32+
33+
procedure check_encoding_included is
34+
begin
35+
reporters.check_xml_encoding_included(ut3.ut_coverage_sonar_reporter(), 'UTF-8');
36+
end;
37+
38+
end;
39+
/
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
create or replace package test_coverage_sonar_reporter is
2+
3+
--%suite(ut_coverge_sonar_reporter)
4+
--%suitepath(utplsql.test_user.reporters.test_coverage)
5+
6+
--%test(reports on a project file mapped to database object)
7+
procedure report_on_file;
8+
9+
--%test(Includes XML header with encoding when encoding provided)
10+
procedure check_encoding_included;
11+
12+
end;
13+
/
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
create or replace package body test_coveralls_reporter is
2+
3+
procedure report_on_file is
4+
l_results ut3.ut_varchar2_list;
5+
l_expected clob;
6+
l_actual clob;
7+
begin
8+
--Arrange
9+
l_expected := q'[{"source_files":[
10+
{ "name": "test/ut3.dummy_coverage.pkb",
11+
"coverage": [
12+
null,
13+
null,
14+
null,
15+
1,
16+
0,
17+
null,
18+
1
19+
]
20+
}
21+
]}
22+
]';
23+
--Act
24+
select *
25+
bulk collect into l_results
26+
from table(
27+
ut3.ut.run(
28+
a_path => 'ut3.test_dummy_coverage',
29+
a_reporter=> ut3.ut_coveralls_reporter( ),
30+
a_source_files => ut3.ut_varchar2_list( 'test/ut3.dummy_coverage.pkb' ),
31+
a_test_files => ut3.ut_varchar2_list( )
32+
)
33+
);
34+
l_actual := ut3_tester_helper.main_helper.table_to_clob(l_results);
35+
--Assert
36+
ut.expect(l_actual).to_equal(l_expected);
37+
end;
38+
39+
procedure report_zero_coverage is
40+
l_results ut3.ut_varchar2_list;
41+
l_expected clob;
42+
l_actual clob;
43+
pragma autonomous_transaction;
44+
begin
45+
--Arrange
46+
l_expected := q'[{"source_files":[
47+
{ "name": "ut3.dummy_coverage",
48+
"coverage": [
49+
0,
50+
0,
51+
0,
52+
0,
53+
0,
54+
0,
55+
0,
56+
0,
57+
0,
58+
0,
59+
0,
60+
0,
61+
0,
62+
0,
63+
0
64+
]
65+
}
66+
]}
67+
]';
68+
69+
test_coverage.cleanup_dummy_coverage;
70+
71+
--Act
72+
select *
73+
bulk collect into l_results
74+
from table(
75+
ut3.ut.run(
76+
'ut3.test_dummy_coverage',
77+
ut3.ut_coveralls_reporter(),
78+
a_include_objects => ut3.ut_varchar2_list('UT3.DUMMY_COVERAGE')
79+
)
80+
);
81+
l_actual := ut3_tester_helper.main_helper.table_to_clob(l_results);
82+
--Assert
83+
ut.expect(l_actual).to_equal(l_expected);
84+
85+
test_coverage.setup_dummy_coverage;
86+
87+
end;
88+
89+
end;
90+
/
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
create or replace package test_coveralls_reporter is
2+
3+
--%suite(ut_coveralls_reporter)
4+
--%suitepath(utplsql.test_user.reporters.test_coverage)
5+
6+
--%test(reports on a project file mapped to database object)
7+
procedure report_on_file;
8+
9+
--%test(reports zero coverage on each line of non-executed database object)
10+
procedure report_zero_coverage;
11+
12+
end;
13+
/
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
create or replace package body test_html_extended_reporter is
2+
3+
procedure report_on_file is
4+
l_results ut3.ut_varchar2_list;
5+
l_expected varchar2(32767);
6+
l_actual clob;
7+
l_charset varchar2(100) := 'ISO-8859-1';
8+
begin
9+
--Arrange
10+
l_expected := '%<meta %charset='||l_charset||'" />%<h3>UT3.DUMMY_COVERAGE_PACKAGE_WITH_AN_AMAZINGLY_LONG_NAME_THAT_YOU_WOULD_NOT_THINK_OF_IN_REAL_LIFE_PROJECT_BECAUSE_ITS_SIMPLY_TOO_LONG</h3>%<b>4</b> relevant lines. <span class="green"><b>3</b> lines covered</span> (including <span class="yellow"><b>1</b> lines partially covered</span> ) and <span class="red"><b>1</b> lines missed%';
11+
12+
select *
13+
bulk collect into l_results
14+
from table(
15+
ut3.ut.run(
16+
a_path => 'ut3.test_dummy_coverage',
17+
a_reporter=> ut3.ut_coverage_html_reporter(),
18+
a_source_files => ut3.ut_varchar2_list( 'test/ut3.dummy_coverage_package_with_an_amazingly_long_name_that_you_would_not_think_of_in_real_life_project_because_its_simply_too_long.pkb' ),
19+
a_test_files => ut3.ut_varchar2_list( ),
20+
a_client_character_set => l_charset
21+
)
22+
);
23+
l_actual := ut3_tester_helper.main_helper.table_to_clob(l_results);
24+
--Assert
25+
ut.expect(l_actual).to_be_like(l_expected);
26+
end;
27+
28+
end test_html_extended_reporter;
29+
/
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
create or replace package test_html_extended_reporter is
2+
3+
--%suite(ut_html_extended_reporter)
4+
--%suitepath(utplsql.test_user.reporters.test_coverage.test_extended_coverage)
5+
6+
--%test(reports on a project file mapped to database object in extended profiler coverage)
7+
procedure report_on_file;
8+
9+
end test_html_extended_reporter;
10+
/

0 commit comments

Comments
 (0)