1- create or replace package body ut3$user#.test_cursor_grants is
2-
3- procedure run is
4- begin
5- ut3.ut.run('test_cursor_grants');
6- end;
7-
8- procedure test_join_by_cursor is
9- l_actual SYS_REFCURSOR;
10- l_expected SYS_REFCURSOR;
11- begin
12- --Arrange
13- open l_actual for select owner, object_name,object_type from all_objects where owner = user
14- order by 1,2,3 asc;
15- open l_expected for select owner, object_name,object_type from all_objects where owner = user
16- order by 1,2,3 desc;
17-
18- --Act
19- ut3.ut.expect(l_actual).to_equal(l_expected).join_by('OWNER');
20-
21- end;
22- end;
23- /
1+ create or replace package body ut3$user#.test_cursor_grants is
2+
3+ procedure run_test_join_by_cursor is
4+ begin
5+ ut3.ut.run('test_cursor_grants.test_join_by_cursor');
6+ end;
7+
8+ procedure run_test_equal_cursor is
9+ begin
10+ ut3.ut.run('test_cursor_grants.test_equal_cursor');
11+ end;
12+
13+ procedure run_test_not_empty_cursor is
14+ begin
15+ ut3.ut.run('test_cursor_grants.test_not_empty_cursor');
16+ end;
17+
18+ procedure run_test_have_count_cursor is
19+ begin
20+ ut3.ut.run('test_cursor_grants.test_have_count_cursor');
21+ end;
22+
23+ procedure run_test_empty_cursor is
24+ begin
25+ ut3.ut.run('test_cursor_grants.test_empty_cursor');
26+ end;
27+
28+ procedure test_join_by_cursor is
29+ l_actual SYS_REFCURSOR;
30+ l_expected SYS_REFCURSOR;
31+ begin
32+ --Arrange
33+ open l_actual for select owner, object_name,object_type from all_objects where owner = user
34+ order by 1,2,3 asc;
35+ open l_expected for select owner, object_name,object_type from all_objects where owner = user
36+ order by 1,2,3 desc;
37+
38+ --Act
39+ ut3.ut.expect(l_actual).to_equal(l_expected).join_by('OBJECT_NAME,OBJECT_TYPE');
40+
41+ end;
42+
43+ procedure test_equal_cursor is
44+ l_actual SYS_REFCURSOR;
45+ l_expected SYS_REFCURSOR;
46+ l_list ut3_tester.test_dummy_object_list;
47+ begin
48+ --Arrange
49+ open l_actual for select value(x) as item from table(l_list) x;
50+ open l_expected for select value(x) as item from table(l_list) x;
51+
52+ --Act
53+ ut3.ut.expect(l_actual).to_equal(l_expected);
54+
55+ end;
56+
57+ procedure test_not_empty_cursor is
58+ l_details_cur SYS_REFCURSOR;
59+ l_expected ut3_tester.test_dummy_object_list;
60+ begin
61+ select ut3_tester.test_dummy_object( rn, 'Something '||rn, rn1)
62+ bulk collect into l_expected
63+ from (select rownum * case when mod(rownum,2) = 0 then -1 else 1 end rn,
64+ rownum * case when mod(rownum,4) = 0 then -1 else 1 end rn1
65+ from dual connect by level <=10);
66+
67+ --Arrange
68+ open l_details_cur for
69+ select value(x) as item from table(l_expected) x;
70+
71+ --Act
72+ ut3.ut.expect(l_details_cur).not_to_be_empty();
73+ end;
74+
75+ procedure test_have_count_cursor is
76+ l_expected SYS_REFCURSOR;
77+ begin
78+ --Arrange
79+ open l_expected for
80+ select value(x) as item from table(ut3_tester.test_dummy_object_list()) x;
81+
82+ --Act
83+ ut3.ut.expect(l_expected).to_have_count(0);
84+ end;
85+
86+ procedure test_empty_cursor is
87+ l_expected SYS_REFCURSOR;
88+ begin
89+ open l_expected for
90+ select value(x) as item from table(ut3_tester.test_dummy_object_list()) x;
91+ --Act
92+ ut3.ut.expect(l_expected).to_be_empty();
93+ end;
94+
95+ end;
96+ /
0 commit comments