|
| 1 | +create or replace package body reporters is |
| 2 | + |
| 3 | + procedure create_test_helper_package is |
| 4 | + pragma autonomous_transaction; |
| 5 | + begin |
| 6 | + execute immediate q'[create or replace package test_reporters |
| 7 | +as |
| 8 | + --%suite(A suite for testing different outcomes from reporters) |
| 9 | + --%suitepath(org.utplsql.tests.helpers) |
| 10 | + |
| 11 | + --%beforeall |
| 12 | + procedure beforeall; |
| 13 | + |
| 14 | + --%beforeeach |
| 15 | + procedure beforeeach; |
| 16 | + |
| 17 | + --%context(some_context) |
| 18 | + --%displayname(A description of some context) |
| 19 | + |
| 20 | + --%test |
| 21 | + --%beforetest(beforetest) |
| 22 | + --%aftertest(aftertest) |
| 23 | + procedure passing_test; |
| 24 | + |
| 25 | + --%endcontext |
| 26 | + |
| 27 | + procedure beforetest; |
| 28 | + |
| 29 | + procedure aftertest; |
| 30 | + |
| 31 | + --%test(a test with failing assertion) |
| 32 | + procedure failing_test; |
| 33 | + |
| 34 | + --%test(a test raising unhandled exception) |
| 35 | + procedure erroring_test; |
| 36 | + |
| 37 | + --%test(a disabled test) |
| 38 | + --%disabled |
| 39 | + procedure disabled_test; |
| 40 | + |
| 41 | + --%aftereach |
| 42 | + procedure aftereach; |
| 43 | + |
| 44 | + --%afterall |
| 45 | + procedure afterall; |
| 46 | + |
| 47 | +end;]'; |
| 48 | + |
| 49 | + execute immediate q'[create or replace package body test_reporters |
| 50 | +as |
| 51 | + |
| 52 | + procedure beforetest is |
| 53 | + begin |
| 54 | + dbms_output.put_line('<!beforetest!>'); |
| 55 | + end; |
| 56 | + |
| 57 | + procedure aftertest |
| 58 | + is |
| 59 | + begin |
| 60 | + dbms_output.put_line('<!aftertest!>'); |
| 61 | + end; |
| 62 | + |
| 63 | + procedure beforeeach is |
| 64 | + begin |
| 65 | + dbms_output.put_line('<!beforeeach!>'); |
| 66 | + end; |
| 67 | + |
| 68 | + procedure aftereach is |
| 69 | + begin |
| 70 | + dbms_output.put_line('<!aftereach!>'); |
| 71 | + end; |
| 72 | + |
| 73 | + procedure passing_test |
| 74 | + is |
| 75 | + begin |
| 76 | + dbms_output.put_line('<!passing test!>'); |
| 77 | + ut3.ut.expect(1,'Test 1 Should Pass').to_equal(1); |
| 78 | + end; |
| 79 | + |
| 80 | + procedure failing_test |
| 81 | + is |
| 82 | + begin |
| 83 | + dbms_output.put_line('<!failing test!>'); |
| 84 | + ut3.ut.expect('number [1] ','Fails as values are different').to_equal('number [2] '); |
| 85 | + end; |
| 86 | + |
| 87 | + procedure erroring_test |
| 88 | + is |
| 89 | + l_variable integer; |
| 90 | + begin |
| 91 | + dbms_output.put_line('<!erroring test!>'); |
| 92 | + l_variable := 'a string'; |
| 93 | + ut3.ut.expect(l_variable).to_equal(1); |
| 94 | + end; |
| 95 | + |
| 96 | + procedure disabled_test |
| 97 | + is |
| 98 | + begin |
| 99 | + dbms_output.put_line('<!this should not execute!>'); |
| 100 | + ut3.ut.expect(1,'this should not execute').to_equal(1); |
| 101 | + end; |
| 102 | + |
| 103 | + procedure beforeall is |
| 104 | + begin |
| 105 | + dbms_output.put_line('<!beforeall!>'); |
| 106 | + end; |
| 107 | + |
| 108 | + procedure afterall is |
| 109 | + begin |
| 110 | + dbms_output.put_line('<!afterall!>'); |
| 111 | + end; |
| 112 | + |
| 113 | +end;]'; |
| 114 | + |
| 115 | + end; |
| 116 | + |
| 117 | + procedure reporters_setup is |
| 118 | + begin |
| 119 | + create_test_helper_package; |
| 120 | + end; |
| 121 | + |
| 122 | + procedure drop_test_helper_package is |
| 123 | + begin |
| 124 | + execute immediate 'drop package test_reporters'; |
| 125 | + end; |
| 126 | + |
| 127 | + procedure reporters_cleanup is |
| 128 | + pragma autonomous_transaction; |
| 129 | + begin |
| 130 | + drop_test_helper_package; |
| 131 | + end; |
| 132 | + |
| 133 | + procedure check_xml_encoding_included( |
| 134 | + a_reporter ut3.ut_output_reporter_base, |
| 135 | + a_client_character_set varchar2 |
| 136 | + ) is |
| 137 | + l_results ut3.ut_varchar2_list; |
| 138 | + l_actual clob; |
| 139 | + begin |
| 140 | + --Act |
| 141 | + select * |
| 142 | + bulk collect into l_results |
| 143 | + from table(ut3.ut.run('test_reporters', a_reporter, a_client_character_set => a_client_character_set)); |
| 144 | + l_actual := ut3_tester_helper.main_helper.table_to_clob(l_results); |
| 145 | + --Assert |
| 146 | + ut.expect(l_actual).to_be_like('<?xml version="1.0" encoding="'||upper(a_client_character_set)||'"?>%'); |
| 147 | + end; |
| 148 | + |
| 149 | +end reporters; |
| 150 | +/ |
0 commit comments