@@ -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
400460end test_realtime_reporter;
0 commit comments