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

Skip to content

Commit 30b2927

Browse files
committed
added tests for current user
1 parent 09e6403 commit 30b2927

10 files changed

Lines changed: 386 additions & 0 deletions

tests/RunAll.sql

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,13 +121,21 @@ create table ut$test_table (val varchar2(1));
121121

122122
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheSchema.sql
123123
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageByPath.sql
124+
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageByPathCurUser.sql
124125
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTop2PackageByPath.sql
126+
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTop2PackageByPathCurUser.sql
125127
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageWithoutSubsuitesByPath.sql
128+
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageWithoutSubsuitesByPathCurUser.sql
126129
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageByName.sql
130+
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageByNameCurUser.sql
127131
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTop2PackageByName.sql
132+
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTop2PackageByNameCurUser.sql
128133
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageWithoutSubsuitesByName.sql
134+
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageWithoutSubsuitesByNameCurUser.sql
129135
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageProcedureByPath.sql
136+
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageProcedureByPathCurUser.sql
130137
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTop2PackageProcedureByPath.sql
138+
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTop2PackageProcedureByPathCurUser.sql
131139

132140
@@lib/RunTest.sql ut_expectations/greater_or_equal.sql
133141
@@lib/RunTest.sql ut_expectations/greater_than.sql
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
PROMPT Prepare runner for the top 2 package by package name for current user
2+
3+
--Arrange
4+
declare
5+
c_path varchar2(100) := 'test_package_2';
6+
l_objects_to_run ut_suite_items;
7+
8+
l_test0_suite ut_logical_suite;
9+
l_test1_suite ut_logical_suite;
10+
l_test2_suite ut_logical_suite;
11+
begin
12+
--Act
13+
l_objects_to_run := ut_suite_manager.configure_execution_by_path(ut_varchar2_list(c_path));
14+
15+
--Assert
16+
ut.expect(l_objects_to_run.count).to_equal(1);
17+
l_test0_suite := treat(l_objects_to_run(1) as ut_logical_suite);
18+
19+
ut.expect(l_test0_suite.name).to_equal('tests');
20+
ut.expect(l_test0_suite.items.count).to_equal(1);
21+
l_test1_suite := treat(l_test0_suite.items(1) as ut_logical_suite);
22+
23+
ut.expect(l_test1_suite.name).to_equal('test_package_1');
24+
ut.expect(l_test1_suite.items.count).to_equal(1);
25+
l_test2_suite := treat(l_test1_suite.items(1) as ut_logical_suite);
26+
27+
ut.expect(l_test2_suite.name).to_equal('test_package_2');
28+
ut.expect(l_test2_suite.items.count).to_equal(2);
29+
30+
31+
if ut_assert_processor.get_aggregate_asserts_result = ut_utils.tr_success then
32+
:test_result := ut_utils.tr_success;
33+
end if;
34+
35+
end;
36+
/
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
PROMPT Prepare runner for the top 2 package by path for current user
2+
3+
--Arrange
4+
declare
5+
c_path varchar2(100) := ':tests.test_package_1.test_package_2';
6+
l_objects_to_run ut_suite_items;
7+
8+
l_test0_suite ut_logical_suite;
9+
l_test1_suite ut_logical_suite;
10+
l_test2_suite ut_logical_suite;
11+
begin
12+
--Act
13+
l_objects_to_run := ut_suite_manager.configure_execution_by_path(ut_varchar2_list(c_path));
14+
15+
--Assert
16+
ut.expect(l_objects_to_run.count).to_equal(1);
17+
l_test0_suite := treat(l_objects_to_run(1) as ut_logical_suite);
18+
19+
ut.expect(l_test0_suite.name).to_equal('tests');
20+
ut.expect(l_test0_suite.items.count).to_equal(1);
21+
l_test1_suite := treat(l_test0_suite.items(1) as ut_logical_suite);
22+
23+
ut.expect(l_test1_suite.name).to_equal('test_package_1');
24+
ut.expect(l_test1_suite.items.count).to_equal(1);
25+
l_test2_suite := treat(l_test1_suite.items(1) as ut_logical_suite);
26+
27+
ut.expect(l_test2_suite.name).to_equal('test_package_2');
28+
ut.expect(l_test2_suite.items.count).to_equal(2);
29+
30+
31+
if ut_assert_processor.get_aggregate_asserts_result = ut_utils.tr_success then
32+
:test_result := ut_utils.tr_success;
33+
end if;
34+
35+
end;
36+
/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
PROMPT Prepare runner for the top 2 package procedure by path for current user
2+
3+
--Arrange
4+
declare
5+
c_path varchar2(100) := ':tests.test_package_1.test_package_2.test2';
6+
l_objects_to_run ut_suite_items;
7+
8+
l_test0_suite ut_logical_suite;
9+
l_test1_suite ut_logical_suite;
10+
l_test2_suite ut_logical_suite;
11+
l_test_proc ut_test;
12+
begin
13+
--Act
14+
l_objects_to_run := ut_suite_manager.configure_execution_by_path(ut_varchar2_list(c_path));
15+
16+
--Assert
17+
ut.expect(l_objects_to_run.count).to_equal(1);
18+
l_test0_suite := treat(l_objects_to_run(1) as ut_logical_suite);
19+
20+
ut.expect(l_test0_suite.name).to_equal('tests');
21+
ut.expect(l_test0_suite.items.count).to_equal(1);
22+
l_test1_suite := treat(l_test0_suite.items(1) as ut_logical_suite);
23+
24+
ut.expect(l_test1_suite.name).to_equal('test_package_1');
25+
ut.expect(l_test1_suite.items.count).to_equal(1);
26+
l_test2_suite := treat(l_test1_suite.items(1) as ut_logical_suite);
27+
28+
ut.expect(l_test2_suite.name).to_equal('test_package_2');
29+
ut.expect(l_test2_suite.items.count).to_equal(1);
30+
31+
l_test_proc := treat(l_test2_suite.items(1) as ut_test);
32+
ut.expect(l_test_proc.name).to_equal('test2');
33+
ut.expect(l_test_proc.before_test is not null).to_be_true;
34+
ut.expect(l_test_proc.after_test is not null).to_be_true;
35+
36+
if ut_assert_processor.get_aggregate_asserts_result = ut_utils.tr_success then
37+
:test_result := ut_utils.tr_success;
38+
else
39+
dbms_output.put_line(q'[ut.expect(l_objects_to_run.count).to_equal(1);=]'||l_objects_to_run.count);
40+
dbms_output.put_line(q'[ut.expect(l_test0_suite.name).to_equal('tests');=]'||l_test0_suite.name);
41+
dbms_output.put_line(q'[ut.expect(l_test0_suite.items.count).to_equal(1);=]'||l_test0_suite.items.count);
42+
dbms_output.put_line(q'[ut.expect(l_test1_suite.name).to_equal('test_package_1');=]'||l_test1_suite.name);
43+
dbms_output.put_line(q'[ut.expect(l_test1_suite.items.count).to_equal(1);=]'||l_test1_suite.items.count);
44+
dbms_output.put_line(q'[ut.expect(l_test2_suite.name).to_equal('test_package_2');=]'||l_test2_suite.name);
45+
dbms_output.put_line(q'[ut.expect(l_test2_suite.items.count).to_equal(1);=]'||l_test2_suite.items.count);
46+
dbms_output.put_line(q'[ut.expect(l_test_proc.name).to_equal('test2');=]'||l_test_proc.name);
47+
dbms_output.put_line(q'[ut.expect(l_test_proc.before_test is not null).to_be_true;=]'||ut_utils.to_string(l_test_proc.before_test is not null));
48+
dbms_output.put_line(q'[ut.expect(l_test_proc.after_test is not null).to_be_true;=]'||ut_utils.to_string(l_test_proc.after_test is not null));
49+
end if;
50+
51+
end;
52+
/
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
PROMPT Prepare runner for the top package by package name for current user
2+
3+
--Arrange
4+
declare
5+
c_path varchar2(100) := 'test_package_1';
6+
l_objects_to_run ut_suite_items;
7+
8+
l_test0_suite ut_logical_suite;
9+
l_test1_suite ut_suite;
10+
l_test2_suite ut_suite;
11+
begin
12+
--Act
13+
l_objects_to_run := ut_suite_manager.configure_execution_by_path(ut_varchar2_list(c_path));
14+
15+
--Assert
16+
ut.expect(l_objects_to_run.count).to_equal(1);
17+
l_test0_suite := treat(l_objects_to_run(1) as ut_logical_suite);
18+
19+
ut.expect(l_test0_suite.name).to_equal('tests');
20+
ut.expect(l_test0_suite.items.count).to_equal(1);
21+
l_test1_suite := treat(l_test0_suite.items(1) as ut_suite);
22+
23+
ut.expect(l_test1_suite.name).to_equal('test_package_1');
24+
ut.expect(l_test1_suite.items.count).to_equal(3);
25+
ut.expect(l_test1_suite.before_each is not null).to_be_true;
26+
27+
ut.expect(l_test1_suite.items(1).name).to_equal('test1');
28+
ut.expect(l_test1_suite.items(1).description).to_equal('Test1 from test package 1');
29+
ut.expect(treat(l_test1_suite.items(1) as ut_test).before_test.is_defined).to_be_false;
30+
ut.expect(treat(l_test1_suite.items(1) as ut_test).after_test.is_defined).to_be_false;
31+
ut.expect(treat(l_test1_suite.items(1) as ut_test).ignore_flag).to_equal(0);
32+
33+
ut.expect(l_test1_suite.items(2).name).to_equal('test2');
34+
ut.expect(l_test1_suite.items(2).description).to_equal('Test2 from test package 1');
35+
ut.expect(treat(l_test1_suite.items(2) as ut_test).before_test.is_defined).to_be_true;
36+
ut.expect(treat(l_test1_suite.items(2) as ut_test).after_test.is_defined).to_be_true;
37+
ut.expect(treat(l_test1_suite.items(2) as ut_test).ignore_flag).to_equal(0);
38+
39+
-- temporary behavior.
40+
-- decided that when executed by package, not path, only that package has to execute
41+
l_test2_suite := treat(l_test1_suite.items(3) as ut_suite);
42+
43+
ut.expect(l_test2_suite.name).to_equal('test_package_2');
44+
ut.expect(l_test2_suite.items.count).to_equal(2);
45+
46+
47+
if ut_assert_processor.get_aggregate_asserts_result = ut_utils.tr_success then
48+
:test_result := ut_utils.tr_success;
49+
else
50+
declare
51+
l_results ut_assert_results;
52+
begin
53+
l_results := ut_assert_processor.get_asserts_results;
54+
for i in 1..l_results.count loop
55+
if l_results(i).result > ut_utils.tr_success then
56+
dbms_output.put_line(l_results(i).get_result_clob);
57+
end if;
58+
end loop;
59+
end;
60+
61+
end if;
62+
63+
end;
64+
/
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
PROMPT Prepare runner for the top package by path for current user
2+
3+
--Arrange
4+
declare
5+
c_path varchar2(100) := ':tests';
6+
l_objects_to_run ut_suite_items;
7+
8+
l_test0_suite ut_logical_suite;
9+
l_test1_suite ut_logical_suite;
10+
l_test2_suite ut_logical_suite;
11+
begin
12+
--Act
13+
l_objects_to_run := ut_suite_manager.configure_execution_by_path(ut_varchar2_list(c_path));
14+
15+
--Assert
16+
ut.expect(l_objects_to_run.count).to_equal(1);
17+
l_test0_suite := treat(l_objects_to_run(1) as ut_logical_suite);
18+
19+
ut.expect(l_test0_suite.name).to_equal('tests');
20+
ut.expect(l_test0_suite.items.count).to_equal(1);
21+
l_test1_suite := treat(l_test0_suite.items(1) as ut_logical_suite);
22+
23+
ut.expect(l_test1_suite.name).to_equal('test_package_1');
24+
ut.expect(l_test1_suite.items.count).to_equal(3);
25+
l_test2_suite := treat(l_test1_suite.items(3) as ut_logical_suite);
26+
27+
ut.expect(l_test2_suite.name).to_equal('test_package_2');
28+
ut.expect(l_test2_suite.items.count).to_equal(2);
29+
30+
31+
if ut_assert_processor.get_aggregate_asserts_result = ut_utils.tr_success then
32+
:test_result := ut_utils.tr_success;
33+
end if;
34+
35+
end;
36+
/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
PROMPT Prepare runner for the top package procedure by path for current user
2+
3+
--Arrange
4+
declare
5+
c_path varchar2(100) := ':tests.test_package_1.test2';
6+
l_objects_to_run ut_suite_items;
7+
8+
l_test0_suite ut_logical_suite;
9+
l_test1_suite ut_logical_suite;
10+
l_test2_suite ut_logical_suite;
11+
l_test_proc ut_test;
12+
begin
13+
--Act
14+
l_objects_to_run := ut_suite_manager.configure_execution_by_path(ut_varchar2_list(c_path));
15+
16+
--Assert
17+
ut.expect(l_objects_to_run.count).to_equal(1);
18+
l_test0_suite := treat(l_objects_to_run(1) as ut_logical_suite);
19+
20+
ut.expect(l_test0_suite.name).to_equal('tests');
21+
ut.expect(l_test0_suite.items.count).to_equal(1);
22+
l_test1_suite := treat(l_test0_suite.items(1) as ut_logical_suite);
23+
24+
ut.expect(l_test1_suite.name).to_equal('test_package_1');
25+
ut.expect(l_test1_suite.items.count).to_equal(1);
26+
l_test_proc := treat(l_test1_suite.items(1) as ut_test);
27+
28+
ut.expect(l_test_proc.name).to_equal('test2');
29+
ut.expect(l_test_proc.description).to_equal('Test2 from test package 1');
30+
ut.expect(l_test_proc.before_test is not null).to_be_true;
31+
ut.expect(l_test_proc.after_test is not null).to_be_true;
32+
33+
if ut_assert_processor.get_aggregate_asserts_result = ut_utils.tr_success then
34+
:test_result := ut_utils.tr_success;
35+
end if;
36+
37+
end;
38+
/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
PROMPT Prepare runner for the top package procedure without sub-suites by package name for current user
2+
3+
--Arrange
4+
declare
5+
c_path varchar2(100) := 'test_package_2.test2';
6+
l_objects_to_run ut_suite_items;
7+
8+
l_test0_suite ut_logical_suite;
9+
l_test1_suite ut_logical_suite;
10+
l_test_proc ut_test;
11+
begin
12+
--Act
13+
l_objects_to_run := ut_suite_manager.configure_execution_by_path(ut_varchar2_list(c_path));
14+
15+
--Assert
16+
ut.expect(l_objects_to_run.count).to_equal(1);
17+
l_test0_suite := treat(l_objects_to_run(1) as ut_logical_suite);
18+
19+
ut.expect(l_test0_suite.name).to_equal('tests');
20+
ut.expect(l_test0_suite.items.count).to_equal(1);
21+
l_test1_suite := treat(l_test0_suite.items(1) as ut_logical_suite);
22+
23+
ut.expect(l_test1_suite.name).to_equal('test_package_3');
24+
ut.expect(l_test1_suite.items.count).to_equal(1);
25+
26+
l_test_proc := treat(l_test1_suite.items(1) as ut_test);
27+
ut.expect(l_test_proc.name).to_equal('test2');
28+
ut.expect(l_test_proc.before_test is not null).to_be_true;
29+
ut.expect(l_test_proc.after_test is not null).to_be_true;
30+
31+
if ut_assert_processor.get_aggregate_asserts_result = ut_utils.tr_success then
32+
:test_result := ut_utils.tr_success;
33+
end if;
34+
35+
end;
36+
/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
PROMPT Prepare runner for the top package without sub-suites by package name for current user
2+
3+
--Arrange
4+
declare
5+
c_path varchar2(100) := 'test_package_3';
6+
l_objects_to_run ut_suite_items;
7+
8+
l_test0_suite ut_logical_suite;
9+
l_test1_suite ut_logical_suite;
10+
l_test1 ut_test;
11+
l_test3 ut_test;
12+
begin
13+
--Act
14+
l_objects_to_run := ut_suite_manager.configure_execution_by_path(ut_varchar2_list(c_path));
15+
16+
--Assert
17+
ut.expect(l_objects_to_run.count).to_equal(1);
18+
l_test0_suite := treat(l_objects_to_run(1) as ut_logical_suite);
19+
20+
ut.expect(l_test0_suite.name).to_equal('tests2');
21+
ut.expect(l_test0_suite.items.count).to_equal(1);
22+
l_test1_suite := treat(l_test0_suite.items(1) as ut_logical_suite);
23+
24+
ut.expect(l_test1_suite.name).to_equal('test_package_3');
25+
ut.expect(l_test1_suite.items.count).to_equal(3);
26+
27+
l_test1 := treat(l_test1_suite.items(1) as ut_test);
28+
ut.expect(l_test1.name).to_equal('test1');
29+
ut.expect(l_test1.ignore_flag).to_equal(0);
30+
31+
l_test3 := treat(l_test1_suite.items(3) as ut_test);
32+
ut.expect(l_test3.name).to_equal('disabled_test');
33+
ut.expect(l_test3.ignore_flag).to_equal(1);
34+
35+
if ut_assert_processor.get_aggregate_asserts_result = ut_utils.tr_success then
36+
:test_result := ut_utils.tr_success;
37+
end if;
38+
39+
end;
40+
/

0 commit comments

Comments
 (0)