Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions source/reporters/ut_realtime_reporter.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ create or replace type body ut_realtime_reporter is
self.print_end_node('counter');
self.print_cdata_node('errorStack', ut_utils.table_to_clob(a_suite.get_error_stack_traces()));
self.print_cdata_node('serverOutput', a_suite.get_serveroutputs());
self.print_cdata_node('warnings', ut_utils.table_to_clob(a_suite.warnings));
self.print_end_node('suite');
self.print_end_node('event');
self.flush_print_buffer('post-suite');
Expand Down Expand Up @@ -196,6 +197,7 @@ create or replace type body ut_realtime_reporter is
end loop expectations;
self.print_end_node('failedExpectations');
end if;
self.print_cdata_node('warnings', ut_utils.table_to_clob(a_test.warnings));
self.print_end_node('test');
self.print_end_node('event');
self.flush_print_buffer('post-test');
Expand Down
70 changes: 65 additions & 5 deletions test/ut3_user/reporters/test_realtime_reporter.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,23 @@ create or replace package body test_realtime_reporter as
raise no_data_found;
end;
end;]';

execute immediate q'[create or replace package check_realtime_reporting4 is
--%suite
--%suitepath(realtime_reporting)
/* tag annotation without parameter will raise a warning */
--%tags

--%test
procedure test_8_with_warning;
end;]';
execute immediate q'[create or replace package body check_realtime_reporting4 is
procedure test_8_with_warning is
begin
commit; -- this will raise a warning
ut3.ut.expect(8).to_equal(8);
end;
end;]';

<<run_report_and_cache_result>>
declare
Expand Down Expand Up @@ -128,6 +145,10 @@ create or replace package body test_realtime_reporter as
open l_expected for
select 'pre-run' as event_type, null as item_id from dual union all
select 'pre-suite' as event_type, 'realtime_reporting' as item_id from dual union all
select 'pre-suite' as event_type, 'realtime_reporting.check_realtime_reporting4' as item_id from dual union all
select 'pre-test' as event_type, 'realtime_reporting.check_realtime_reporting4.test_8_with_warning' as item_id from dual union all
select 'post-test' as event_type, 'realtime_reporting.check_realtime_reporting4.test_8_with_warning' as item_id from dual union all
select 'post-suite' as event_type, 'realtime_reporting.check_realtime_reporting4' as item_id from dual union all
select 'pre-suite' as event_type, 'realtime_reporting.check_realtime_reporting3' as item_id from dual union all
select 'pre-test' as event_type, 'realtime_reporting.check_realtime_reporting3.test_6_with_runtime_error' as item_id from dual union all
select 'post-test' as event_type, 'realtime_reporting.check_realtime_reporting3.test_6_with_runtime_error' as item_id from dual union all
Expand Down Expand Up @@ -179,6 +200,9 @@ create or replace package body test_realtime_reporter as
select 'event/items/suite/items/suite' as node_path from dual union all
select 'event/items/suite/items/suite/items' as node_path from dual union all
select 'event/items/suite/items/suite/items/test' as node_path from dual union all
select 'event/items/suite/items/suite' as node_path from dual union all
select 'event/items/suite/items/suite/items' as node_path from dual union all
select 'event/items/suite/items/suite/items/test' as node_path from dual union all
select 'event/items/suite/items/suite/items/test' as node_path from dual union all
select 'event/items/suite/items/suite' as node_path from dual union all
select 'event/items/suite/items/suite/items' as node_path from dual union all
Expand All @@ -196,7 +220,7 @@ create or replace package body test_realtime_reporter as

procedure total_number_of_tests is
l_actual integer;
l_expected integer := 7;
l_expected integer := 8;
begin
select t.event_doc.extract('/event/totalNumberOfTests/text()').getnumberval()
into l_actual
Expand Down Expand Up @@ -242,9 +266,9 @@ create or replace package body test_realtime_reporter as
and t.event_doc.extract('//test/@id').getstringval() is not null;
open l_expected for
select level as test_number,
7 as total_number_of_tests
8 as total_number_of_tests
from dual
connect by level <= 7;
connect by level <= 8;
ut.expect(l_actual).to_equal(l_expected).unordered;
end pre_test_nodes;

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

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

procedure warnings_of_test is
l_actual clob;
l_expected_list ut3.ut_varchar2_list;
l_expected clob;
begin
select t.event_doc.extract('//event/test/warnings/text()').getstringval()
into l_actual
from table(g_events) t
where t.event_doc.extract('/event[@type="post-test"]/test/@id').getstringval()
= 'realtime_reporting.check_realtime_reporting4.test_8_with_warning';
ut3_tester_helper.main_helper.append_to_list(l_expected_list, '<![CDATA[Unable to perform automatic rollback after test.%');
ut3_tester_helper.main_helper.append_to_list(l_expected_list, 'Use the "--%rollback(manual)" annotation %]]>');
l_expected := ut3_tester_helper.main_helper.table_to_clob(l_expected_list);
ut.expect(l_actual).to_be_like(l_expected);
end warnings_of_test;

procedure warnings_of_testsuite is
l_actual clob;
l_expected_list ut3.ut_varchar2_list;
l_expected clob;
begin
select t.event_doc.extract('//event/suite/warnings/text()').getstringval()
into l_actual
from table(g_events) t
where t.event_doc.extract('/event[@type="post-suite"]/suite/@id').getstringval()
= 'realtime_reporting.check_realtime_reporting4';
ut3_tester_helper.main_helper.append_to_list(l_expected_list, '<![CDATA["--%tags" annotation requires a tag value populated.%');
ut3_tester_helper.main_helper.append_to_list(l_expected_list, '%');
ut3_tester_helper.main_helper.append_to_list(l_expected_list, 'Unable to perform automatic rollback after test suite.%');
ut3_tester_helper.main_helper.append_to_list(l_expected_list, '%');
ut3_tester_helper.main_helper.append_to_list(l_expected_list, 'Use the "--%rollback(manual)" annotation%.]]>');
l_expected := ut3_tester_helper.main_helper.table_to_clob(l_expected_list);
ut.expect(l_actual).to_be_like(l_expected);
end warnings_of_testsuite;

procedure get_description is
l_reporter ut3.ut_realtime_reporter;
l_actual varchar2(4000);
Expand All @@ -395,6 +454,7 @@ create or replace package body test_realtime_reporter as
execute immediate 'drop package check_realtime_reporting1';
execute immediate 'drop package check_realtime_reporting2';
execute immediate 'drop package check_realtime_reporting3';
execute immediate 'drop package check_realtime_reporting4';
end remove_test_suites;

end test_realtime_reporter;
Expand Down
8 changes: 7 additions & 1 deletion test/ut3_user/reporters/test_realtime_reporter.pks
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,13 @@ create or replace package test_realtime_reporter as

--%test(Provide the error stack of a testsuite)
procedure error_stack_of_testsuite;


--%test(Provide warnings of a test)
procedure warnings_of_test;

--%test(Provide warnings of a testsuite)
procedure warnings_of_testsuite;

--%test(Provide a description of the reporter explaining the use for SQL Developer)
procedure get_description;

Expand Down