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

Skip to content

Commit 5ccec8f

Browse files
authored
Merge pull request #937 from utPLSQL/feature/add_warnings_to_realtime_reporter
Feature/add warnings to realtime reporter
2 parents 910f29c + 0be72e4 commit 5ccec8f

3 files changed

Lines changed: 74 additions & 6 deletions

File tree

source/reporters/ut_realtime_reporter.tpb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ create or replace type body ut_realtime_reporter is
141141
self.print_end_node('counter');
142142
self.print_cdata_node('errorStack', ut_utils.table_to_clob(a_suite.get_error_stack_traces()));
143143
self.print_cdata_node('serverOutput', a_suite.get_serveroutputs());
144+
self.print_cdata_node('warnings', ut_utils.table_to_clob(a_suite.warnings));
144145
self.print_end_node('suite');
145146
self.print_end_node('event');
146147
self.flush_print_buffer('post-suite');
@@ -196,6 +197,7 @@ create or replace type body ut_realtime_reporter is
196197
end loop expectations;
197198
self.print_end_node('failedExpectations');
198199
end if;
200+
self.print_cdata_node('warnings', ut_utils.table_to_clob(a_test.warnings));
199201
self.print_end_node('test');
200202
self.print_end_node('event');
201203
self.flush_print_buffer('post-test');

test/ut3_user/reporters/test_realtime_reporter.pkb

Lines changed: 65 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,23 @@ create or replace package body test_realtime_reporter as
9999
raise no_data_found;
100100
end;
101101
end;]';
102+
103+
execute immediate q'[create or replace package check_realtime_reporting4 is
104+
--%suite
105+
--%suitepath(realtime_reporting)
106+
/* tag annotation without parameter will raise a warning */
107+
--%tags
108+
109+
--%test
110+
procedure test_8_with_warning;
111+
end;]';
112+
execute immediate q'[create or replace package body check_realtime_reporting4 is
113+
procedure test_8_with_warning is
114+
begin
115+
commit; -- this will raise a warning
116+
ut3.ut.expect(8).to_equal(8);
117+
end;
118+
end;]';
102119

103120
<<run_report_and_cache_result>>
104121
declare
@@ -128,6 +145,10 @@ create or replace package body test_realtime_reporter as
128145
open l_expected for
129146
select 'pre-run' as event_type, null as item_id from dual union all
130147
select 'pre-suite' as event_type, 'realtime_reporting' as item_id from dual union all
148+
select 'pre-suite' as event_type, 'realtime_reporting.check_realtime_reporting4' as item_id from dual union all
149+
select 'pre-test' as event_type, 'realtime_reporting.check_realtime_reporting4.test_8_with_warning' as item_id from dual union all
150+
select 'post-test' as event_type, 'realtime_reporting.check_realtime_reporting4.test_8_with_warning' as item_id from dual union all
151+
select 'post-suite' as event_type, 'realtime_reporting.check_realtime_reporting4' as item_id from dual union all
131152
select 'pre-suite' as event_type, 'realtime_reporting.check_realtime_reporting3' as item_id from dual union all
132153
select 'pre-test' as event_type, 'realtime_reporting.check_realtime_reporting3.test_6_with_runtime_error' as item_id from dual union all
133154
select 'post-test' as event_type, 'realtime_reporting.check_realtime_reporting3.test_6_with_runtime_error' as item_id from dual union all
@@ -179,6 +200,9 @@ create or replace package body test_realtime_reporter as
179200
select 'event/items/suite/items/suite' as node_path from dual union all
180201
select 'event/items/suite/items/suite/items' as node_path from dual union all
181202
select 'event/items/suite/items/suite/items/test' as node_path from dual union all
203+
select 'event/items/suite/items/suite' as node_path from dual union all
204+
select 'event/items/suite/items/suite/items' as node_path from dual union all
205+
select 'event/items/suite/items/suite/items/test' as node_path from dual union all
182206
select 'event/items/suite/items/suite/items/test' as node_path from dual union all
183207
select 'event/items/suite/items/suite' as node_path from dual union all
184208
select 'event/items/suite/items/suite/items' as node_path from dual union all
@@ -196,7 +220,7 @@ create or replace package body test_realtime_reporter as
196220

197221
procedure total_number_of_tests is
198222
l_actual integer;
199-
l_expected integer := 7;
223+
l_expected integer := 8;
200224
begin
201225
select t.event_doc.extract('/event/totalNumberOfTests/text()').getnumberval()
202226
into l_actual
@@ -242,9 +266,9 @@ create or replace package body test_realtime_reporter as
242266
and t.event_doc.extract('//test/@id').getstringval() is not null;
243267
open l_expected for
244268
select level as test_number,
245-
7 as total_number_of_tests
269+
8 as total_number_of_tests
246270
from dual
247-
connect by level <= 7;
271+
connect by level <= 8;
248272
ut.expect(l_actual).to_equal(l_expected).unordered;
249273
end pre_test_nodes;
250274

@@ -270,9 +294,9 @@ create or replace package body test_realtime_reporter as
270294
and t.event_doc.extract('//test/counter/warning/text()').getnumberval() is not null;
271295
open l_expected for
272296
select level as test_number,
273-
7 as total_number_of_tests
297+
8 as total_number_of_tests
274298
from dual
275-
connect by level <= 7;
299+
connect by level <= 8;
276300
ut.expect(l_actual).to_equal(l_expected).unordered;
277301
end post_test_nodes;
278302

@@ -379,6 +403,41 @@ create or replace package body test_realtime_reporter as
379403
ut.expect(l_actual).to_be_like(l_expected);
380404
end error_stack_of_testsuite;
381405

406+
procedure warnings_of_test is
407+
l_actual clob;
408+
l_expected_list ut3.ut_varchar2_list;
409+
l_expected clob;
410+
begin
411+
select t.event_doc.extract('//event/test/warnings/text()').getstringval()
412+
into l_actual
413+
from table(g_events) t
414+
where t.event_doc.extract('/event[@type="post-test"]/test/@id').getstringval()
415+
= 'realtime_reporting.check_realtime_reporting4.test_8_with_warning';
416+
ut3_tester_helper.main_helper.append_to_list(l_expected_list, '<![CDATA[Unable to perform automatic rollback after test.%');
417+
ut3_tester_helper.main_helper.append_to_list(l_expected_list, 'Use the "--%rollback(manual)" annotation %]]>');
418+
l_expected := ut3_tester_helper.main_helper.table_to_clob(l_expected_list);
419+
ut.expect(l_actual).to_be_like(l_expected);
420+
end warnings_of_test;
421+
422+
procedure warnings_of_testsuite is
423+
l_actual clob;
424+
l_expected_list ut3.ut_varchar2_list;
425+
l_expected clob;
426+
begin
427+
select t.event_doc.extract('//event/suite/warnings/text()').getstringval()
428+
into l_actual
429+
from table(g_events) t
430+
where t.event_doc.extract('/event[@type="post-suite"]/suite/@id').getstringval()
431+
= 'realtime_reporting.check_realtime_reporting4';
432+
ut3_tester_helper.main_helper.append_to_list(l_expected_list, '<![CDATA["--%tags" annotation requires a tag value populated.%');
433+
ut3_tester_helper.main_helper.append_to_list(l_expected_list, '%');
434+
ut3_tester_helper.main_helper.append_to_list(l_expected_list, 'Unable to perform automatic rollback after test suite.%');
435+
ut3_tester_helper.main_helper.append_to_list(l_expected_list, '%');
436+
ut3_tester_helper.main_helper.append_to_list(l_expected_list, 'Use the "--%rollback(manual)" annotation%.]]>');
437+
l_expected := ut3_tester_helper.main_helper.table_to_clob(l_expected_list);
438+
ut.expect(l_actual).to_be_like(l_expected);
439+
end warnings_of_testsuite;
440+
382441
procedure get_description is
383442
l_reporter ut3.ut_realtime_reporter;
384443
l_actual varchar2(4000);
@@ -395,6 +454,7 @@ create or replace package body test_realtime_reporter as
395454
execute immediate 'drop package check_realtime_reporting1';
396455
execute immediate 'drop package check_realtime_reporting2';
397456
execute immediate 'drop package check_realtime_reporting3';
457+
execute immediate 'drop package check_realtime_reporting4';
398458
end remove_test_suites;
399459

400460
end test_realtime_reporter;

test/ut3_user/reporters/test_realtime_reporter.pks

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,13 @@ create or replace package test_realtime_reporter as
4444

4545
--%test(Provide the error stack of a testsuite)
4646
procedure error_stack_of_testsuite;
47-
47+
48+
--%test(Provide warnings of a test)
49+
procedure warnings_of_test;
50+
51+
--%test(Provide warnings of a testsuite)
52+
procedure warnings_of_testsuite;
53+
4854
--%test(Provide a description of the reporter explaining the use for SQL Developer)
4955
procedure get_description;
5056

0 commit comments

Comments
 (0)