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

Skip to content

Commit 6ece42c

Browse files
committed
Added additional test for mixed use case of before/after on both procedure level as well as standalone.
1 parent 50bacde commit 6ece42c

3 files changed

Lines changed: 66 additions & 0 deletions

File tree

test/core/test_suite_builder.pkb

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,68 @@ create or replace package body test_suite_builder is
523523
);
524524
end;
525525

526+
procedure multiple_mixed_bef_aft is
527+
l_actual clob;
528+
l_annotations ut3.ut_annotations;
529+
begin
530+
--Arrange
531+
l_annotations := ut3.ut_annotations(
532+
ut3.ut_annotation(1, 'suite','Cool', null),
533+
ut3.ut_annotation(2, 'beforeall', null,'first_before_all'),
534+
ut3.ut_annotation(3, 'beforeall', 'different_package.another_before_all',null),
535+
ut3.ut_annotation(4, 'beforeeach', 'first_before_each',null),
536+
ut3.ut_annotation(5, 'beforeeach', 'different_owner.different_package.another_before_each',null),
537+
ut3.ut_annotation(6, 'aftereach', null, 'first_after_each'),
538+
ut3.ut_annotation(7, 'aftereach', 'another_after_each,different_owner.different_package.one_more_after_each',null),
539+
ut3.ut_annotation(8, 'afterall', 'first_after_all',null),
540+
ut3.ut_annotation(9, 'afterall', 'another_after_all',null),
541+
ut3.ut_annotation(14, 'test','A test', 'some_test'),
542+
ut3.ut_annotation(15, 'beforetest','before_test_proc', 'some_test'),
543+
ut3.ut_annotation(16, 'beforetest','before_test_proc2', 'some_test'),
544+
ut3.ut_annotation(18, 'aftertest','after_test_proc', 'some_test'),
545+
ut3.ut_annotation(20, 'aftertest','after_test_proc2', 'some_test'),
546+
ut3.ut_annotation(21, 'beforeall', null,'last_before_all'),
547+
ut3.ut_annotation(22, 'aftereach', null, 'last_after_each'),
548+
ut3.ut_annotation(23, 'afterall', null, 'last_after_all')
549+
);
550+
--Act
551+
l_actual := invoke_builder_for_annotations(l_annotations, 'SOME_PACKAGE');
552+
--Assert
553+
ut.expect(l_actual).to_be_like(
554+
'%<UT_SUITE_ITEM>%<OBJECT_NAME>some_package</OBJECT_NAME>%<NAME>some_test</NAME>' ||
555+
'%<BEFORE_EACH_LIST>' ||
556+
'%<OBJECT_NAME>some_package</OBJECT_NAME><PROCEDURE_NAME>first_before_each</PROCEDURE_NAME>' ||
557+
'%<OWNER_NAME>different_owner</OWNER_NAME><OBJECT_NAME>different_package</OBJECT_NAME><PROCEDURE_NAME>another_before_each</PROCEDURE_NAME>' ||
558+
'%</BEFORE_EACH_LIST>' ||
559+
'%<BEFORE_TEST_LIST>' ||
560+
'%<OBJECT_NAME>some_package</OBJECT_NAME><PROCEDURE_NAME>before_test_proc</PROCEDURE_NAME>' ||
561+
'%<OBJECT_NAME>some_package</OBJECT_NAME><PROCEDURE_NAME>before_test_proc2</PROCEDURE_NAME>' ||
562+
'%</BEFORE_TEST_LIST>' ||
563+
'%<AFTER_TEST_LIST>' ||
564+
'%<OBJECT_NAME>some_package</OBJECT_NAME><PROCEDURE_NAME>after_test_proc</PROCEDURE_NAME>' ||
565+
'%<OBJECT_NAME>some_package</OBJECT_NAME><PROCEDURE_NAME>after_test_proc2</PROCEDURE_NAME>' ||
566+
'%</AFTER_TEST_LIST>' ||
567+
'%<AFTER_EACH_LIST>' ||
568+
'%<OBJECT_NAME>some_package</OBJECT_NAME><PROCEDURE_NAME>first_after_each</PROCEDURE_NAME>' ||
569+
'%<OBJECT_NAME>some_package</OBJECT_NAME><PROCEDURE_NAME>another_after_each</PROCEDURE_NAME>' ||
570+
'%<OWNER_NAME>different_owner</OWNER_NAME><OBJECT_NAME>different_package</OBJECT_NAME><PROCEDURE_NAME>one_more_after_each</PROCEDURE_NAME>' ||
571+
'%<OBJECT_NAME>some_package</OBJECT_NAME><PROCEDURE_NAME>last_after_each</PROCEDURE_NAME>' ||
572+
'%</AFTER_EACH_LIST>' ||
573+
'%</UT_SUITE_ITEM>' ||
574+
'%<BEFORE_ALL_LIST>' ||
575+
'%<OBJECT_NAME>some_package</OBJECT_NAME><PROCEDURE_NAME>first_before_all</PROCEDURE_NAME>' ||
576+
'%<OBJECT_NAME>different_package</OBJECT_NAME><PROCEDURE_NAME>another_before_all</PROCEDURE_NAME>' ||
577+
'%<OBJECT_NAME>some_package</OBJECT_NAME><PROCEDURE_NAME>last_before_all</PROCEDURE_NAME>' ||
578+
'%</BEFORE_ALL_LIST>' ||
579+
'%<AFTER_ALL_LIST>' ||
580+
'%<OBJECT_NAME>some_package</OBJECT_NAME><PROCEDURE_NAME>first_after_all</PROCEDURE_NAME>' ||
581+
'%<OBJECT_NAME>some_package</OBJECT_NAME><PROCEDURE_NAME>another_after_all</PROCEDURE_NAME>' ||
582+
'%<OBJECT_NAME>some_package</OBJECT_NAME><PROCEDURE_NAME>last_after_all</PROCEDURE_NAME>' ||
583+
'%</AFTER_ALL_LIST>%'
584+
);
585+
end;
586+
587+
526588
procedure before_after_mixed_with_test is
527589
l_actual clob;
528590
l_annotations ut3.ut_annotations;

test/core/test_suite_builder.pks

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@ create or replace package test_suite_builder is
8787
--%test(Supports mixing before/after all/each annotations on single procedure)
8888
procedure before_after_on_single_proc;
8989

90+
--%test(Supports mixed before/after all/each as standalone and procedure level definitions)
91+
procedure multiple_mixed_bef_aft;
92+
9093
--%test(Gives warning if more than one --%beforeall annotation used on procedure)
9194
procedure beforeall_annot_duplicated;
9295

test/install_and_run_tests.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ cd test
1313
cd ..
1414

1515
utPLSQL-cli/bin/utplsql run ${UT3_TESTER}/${UT3_TESTER_PASSWORD}@${CONNECTION_STR} \
16+
-p=test_suite_builder \
1617
-source_path=source -owner=ut3 \
1718
-test_path=test -c \
1819
-f=ut_documentation_reporter -o=test_results.log -s \

0 commit comments

Comments
 (0)