88 end if;
99 return substr( a_string, l_start_pos, a_end_pos - l_start_pos + 1);
1010end;]';
11- gc_test_package varchar2(32767) := q'[create or replace package ut_betwnstr as
11+ gc_ut_betwnstr_package varchar2(32767) := q'[create or replace package ut_betwnstr as
1212 procedure ut_setup;
1313 procedure ut_teardown;
1414 procedure ut_normal_case;
15- procedure ut_zero_start_position;
16- procedure ut_big_end_position;
17- procedure ut_null_string;
18- procedure ut_bad_params;
19- procedure ut_bad_test;
2015end;
2116]';
22- gc_test_package_body varchar2(32767) := q'[create or replace package body ut_betwnstr as
17+ gc_ut_betwnstr_body varchar2(32767) := q'[create or replace package body ut_betwnstr as
2318 procedure ut_setup is begin null; end;
2419 procedure ut_teardown is begin null; end;
2520 procedure ut_normal_case is
2621 begin
2722 utassert.eq( 'Returns substring from start position to end position',betwnstr( '1234567', 2, 5 ), '2345');
2823 end;
29- procedure ut_zero_start_position is
30- begin
31- utassert.eq( 'Returns substring when start position is zero', betwnstr( '1234567', 0, 5 ), '12345');
32- end;
33- procedure ut_big_end_position is
34- begin
35- utassert.eq( 'Returns string until end if end position is greater than string length', betwnstr( '1234567', 0, 500 ), '1234567') ;
36- end;
37- procedure ut_null_string is
38- begin
39- utassert.isnull( 'Returns null for null input string value', betwnstr( null, 2, 5 ) );
40- end;
41- procedure ut_bad_params is
42- begin
43- utassert.isnull( 'A demo of test raising runtime exception', betwnstr( '1234567', 'a', 'b' ) );
44- end;
45- procedure ut_bad_test
46- is
24+ end;
25+ ]';
26+ gc_ut_betwnstr_new_package varchar2(32767) := q'[create or replace package ut_betwnstr_new as
27+ procedure ut_setup;
28+ procedure ut_teardown;
29+ procedure ut_normal_case;
30+ end;
31+ ]';
32+ gc_ut_betwnstr_new_body varchar2(32767) := q'[create or replace package body ut_betwnstr_new as
33+ procedure ut_setup is begin null; end;
34+ procedure ut_teardown is begin null; end;
35+ procedure ut_normal_case is
4736 begin
48- utassert.eq( 'A demo of failing test', betwnstr( '1234567', 0, 500 ), '1 ');
37+ utassert.eq( 'Returns substring from start position to end position', betwnstr( '1234567', 2, 5 ), '2345 ');
4938 end;
5039end;
5140]';
6049 ut3.ut_coverage.coverage_stop_develop();
6150 end;
6251
63- procedure create_ut_v2_package is
52+ procedure create_ut_v2_packages is
6453 pragma autonomous_transaction;
6554 begin
6655 execute immediate gc_tested_function;
67- execute immediate gc_test_package;
68- execute immediate gc_test_package_body;
56+ execute immediate gc_ut_betwnstr_package;
57+ execute immediate gc_ut_betwnstr_body;
58+ execute immediate gc_ut_betwnstr_new_package;
59+ execute immediate gc_ut_betwnstr_new_body;
60+ dbms_output.put_line('create_ut_v2_packages');
6961 end;
7062
71- procedure remove_ut_v2_execution is
63+ procedure remove_ut_v2_executions is
64+ pragma autonomous_transaction;
7265 begin
66+ dbms_output.put_line('remove_ut_v2_executions');
7367 utpackage.rem(to_number(null),'UT_BETWNSTR');
68+ utpackage.rem(to_number(null),'UT_BETWNSTR_NEW');
69+ utSuite.rem('MIGRATION');
70+ commit;
7471 end;
7572
76- procedure drop_ut_v2_package is
73+ procedure drop_ut_v2_packages is
7774 pragma autonomous_transaction;
78- begin
75+ procedure exec(p_what varchar2) is
7976 begin
80- execute immediate q'[drop package ut_betwnstr]';
81- exception
82- when others then
83- null;
84- end;
85- begin
86- execute immediate q'[drop function betwnstr]';
77+ execute immediate p_what;
8778 exception
8879 when others then
8980 null;
9081 end;
82+
83+ begin
84+ dbms_output.put_line('drop_ut_v2_packages');
85+ exec('drop package ut_betwnstr');
86+ exec('drop package ut_betwnstr_new');
87+ exec('drop function betwnstr');
88+ remove_ut_v2_executions;
9189 end;
9290
93- procedure execute_ut_v2_betwnstr is
91+ procedure register_ut_v2_packages is
92+ pragma autonomous_transaction;
9493 begin
94+ dbms_output.put_line('register_ut_v2_packages');
9595 utplsql.run('UT_BETWNSTR');
96+ utSuite.add ('MIGRATION');
97+ utPackage.add('MIGRATION', 'UT_BETWNSTR_NEW');
98+ utplsql.testsuite ('MIGRATION');
99+ commit;
96100 end;
97101
98102 procedure ut_v2_with_no_executions is
99103 pragma autonomous_transaction;
104+ l_package clob;
100105 begin
101106 --act
102- ut_v2_migration.migrate_v2_packages (user);
107+ ut_v2_migration.run (user);
103108 --assert
104- ut.expect( dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR') ).not_to_match('-- %suite');
105- ut.expect( dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR') ).not_to_match('-- %test');
106- ut.expect( dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR') ).not_to_match('-- %beforeall');
107- ut.expect( dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR') ).not_to_match('-- %afterall');
109+ l_package := dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR');
110+ ut.expect( l_package ).not_to_match('-- %suite');
111+ ut.expect( l_package ).not_to_match('-- %test');
112+ ut.expect( l_package ).not_to_match('-- %beforeall');
113+ ut.expect( l_package ).not_to_match('-- %afterall');
108114 end;
109115
110116 procedure ut_v2_dropped_package is
111117 l_sqlcode integer;
112118 pragma autonomous_transaction;
113119 begin
114120 --arrange
115- drop_ut_v2_package ;
121+ drop_ut_v2_packages ;
116122 --act
117123 begin
118124 dbms_output.disable;
119- ut_v2_migration.migrate_v2_packages (user);
125+ ut_v2_migration.run (user);
120126 dbms_output.enable;
121127 exception
122128 when others then
@@ -125,16 +131,64 @@ end;
125131 ut.expect(l_sqlcode).to_be_null;
126132 end;
127133
128- procedure ut_v2_migration_success is
134+ procedure ut_v2_migration_one_pkg is
135+ pragma autonomous_transaction;
136+ l_package clob;
137+ begin
138+ --act
139+ ut_v2_migration.run(user, 'UT_BETWNSTR');
140+ --assert
141+ l_package := dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR');
142+ ut.expect( l_package ).to_match('-- %suite');
143+ ut.expect( l_package ).not_to_match('-- %suitepath');
144+ ut.expect( l_package ).to_match('-- %test');
145+ ut.expect( l_package ).to_match('-- %beforeall');
146+ ut.expect( l_package ).to_match('-- %afterall');
147+ l_package := dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR_NEW');
148+ ut.expect( l_package ).not_to_match('-- %suite');
149+ end;
150+
151+ procedure ut_v2_migration_one_suite is
152+ pragma autonomous_transaction;
153+ l_package clob;
154+ begin
155+ --act
156+ ut_v2_migration.run_for_suite('MIGRATION');
157+ --assert
158+ l_package := dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR_NEW');
159+ ut.expect( l_package ).to_match('-- %suite');
160+ ut.expect( l_package ).to_match('-- %suitepath(MIGRATION)');
161+ ut.expect( l_package ).to_match('-- %test');
162+ ut.expect( l_package ).to_match('-- %beforeall');
163+ ut.expect( l_package ).to_match('-- %afterall');
164+ l_package := dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR');
165+ ut.expect( l_package ).not_to_match('-- %suite');
166+ end;
167+
168+ procedure ut_v2_migration_one_schema is
169+ pragma autonomous_transaction;
170+ l_package clob;
171+ begin
172+ --act
173+ ut_v2_migration.run(USER);
174+ --assert
175+ l_package := dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR_NEW');
176+ ut.expect( l_package ).to_match('-- %suite');
177+ l_package := dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR');
178+ ut.expect( l_package ).to_match('-- %suite');
179+ end;
180+
181+ procedure ut_v2_migration_all is
129182 pragma autonomous_transaction;
183+ l_package clob;
130184 begin
131185 --act
132- ut_v2_migration.migrate_v2_packages(user) ;
186+ ut_v2_migration.run_all ;
133187 --assert
134- ut.expect( dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR') ).to_match('-- %suite ');
135- ut.expect( dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR') ).to_match('-- %test ');
136- ut.expect( dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR') ).to_match('-- %beforeall ');
137- ut.expect( dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR') ).to_match('-- %afterall ');
188+ l_package := dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR_NEW ');
189+ ut.expect( l_package ).to_match('-- %suite ');
190+ l_package := dbms_metadata.get_ddl('PACKAGE','UT_BETWNSTR');
191+ ut.expect( l_package ).to_match('-- %suite ');
138192 end;
139193
140194end;
0 commit comments