Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit d738d83

Browse filesBrowse files
add test cases for generator templates
1 parent 069be36 commit d738d83
Copy full SHA for d738d83

File tree

1 file changed

+228
-0
lines changed
Filter options

1 file changed

+228
-0
lines changed
+228Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,228 @@
1+
package org.utplsql.sqldev.test.template;
2+
3+
import org.junit.After;
4+
import org.junit.Assert;
5+
import org.junit.Before;
6+
import org.junit.Test;
7+
import org.utplsql.sqldev.model.oddgen.GenContext;
8+
import org.utplsql.sqldev.oddgen.TestTemplate;
9+
import org.utplsql.sqldev.test.AbstractJdbcTest;
10+
import org.utplsql.sqldev.test.coverage.CodeCoverageReporterTest;
11+
12+
import java.sql.SQLException;
13+
14+
public class TemplateTest extends AbstractJdbcTest {
15+
16+
@Before
17+
public void setup() {
18+
executeAndIgnore(jdbcTemplate, """
19+
create or replace package junit_pkg is
20+
procedure proc;
21+
end;
22+
""");
23+
}
24+
25+
26+
@After
27+
public void teardown() {
28+
executeAndIgnore(jdbcTemplate, "drop package junit_pkg");
29+
}
30+
31+
@Test
32+
public void spec_no_comment_no_disable_no_path() throws SQLException {
33+
// arrange
34+
var context = new GenContext();
35+
context.setConn(dataSource.getConnection());
36+
context.setObjectType("PACKAGE");
37+
context.setObjectName("JUNIT_PKG");
38+
context.setTestPackagePrefix("");
39+
context.setTestPackageSuffix("_test");
40+
context.setTestUnitPrefix("");
41+
context.setTestUnitSuffix("");
42+
context.setNumberOfTestsPerUnit(1);
43+
context.setGenerateComments(false);
44+
context.setDisableTests(false);
45+
context.setSuitePath("");
46+
context.setIndentSpaces(3);
47+
48+
// act
49+
var template = new TestTemplate(context);
50+
var actual = template.generateSpec();
51+
52+
// assert
53+
var expected = """
54+
create or replace package junit_pkg_test is
55+
--%suite(junit_pkg_test)
56+
57+
--%test
58+
procedure proc;
59+
60+
end junit_pkg_test;
61+
/
62+
""".trim();
63+
Assert.assertEquals(expected, actual);
64+
}
65+
66+
@Test
67+
public void spec_no_comment_no_disable_with_path() throws SQLException {
68+
// arrange
69+
var context = new GenContext();
70+
context.setConn(dataSource.getConnection());
71+
context.setObjectType("PACKAGE");
72+
context.setObjectName("JUNIT_PKG");
73+
context.setTestPackagePrefix("");
74+
context.setTestPackageSuffix("_test");
75+
context.setTestUnitPrefix("");
76+
context.setTestUnitSuffix("");
77+
context.setNumberOfTestsPerUnit(1);
78+
context.setGenerateComments(false);
79+
context.setDisableTests(false);
80+
context.setSuitePath("org.utplsql");
81+
context.setIndentSpaces(3);
82+
83+
// act
84+
var template = new TestTemplate(context);
85+
var actual = template.generateSpec();
86+
87+
// assert
88+
var expected = """
89+
create or replace package junit_pkg_test is
90+
--%suite(junit_pkg_test)
91+
--%suitepath(org.utplsql)
92+
93+
--%test
94+
procedure proc;
95+
96+
end junit_pkg_test;
97+
/
98+
""".trim();
99+
Assert.assertEquals(expected, actual);
100+
}
101+
102+
@Test
103+
public void spec_no_comment_disable_with_path() throws SQLException {
104+
// arrange
105+
var context = new GenContext();
106+
context.setConn(dataSource.getConnection());
107+
context.setObjectType("PACKAGE");
108+
context.setObjectName("JUNIT_PKG");
109+
context.setTestPackagePrefix("");
110+
context.setTestPackageSuffix("_test");
111+
context.setTestUnitPrefix("");
112+
context.setTestUnitSuffix("");
113+
context.setNumberOfTestsPerUnit(1);
114+
context.setGenerateComments(false);
115+
context.setDisableTests(true);
116+
context.setSuitePath("org.utplsql");
117+
context.setIndentSpaces(3);
118+
119+
// act
120+
var template = new TestTemplate(context);
121+
var actual = template.generateSpec();
122+
123+
// assert
124+
var expected = """
125+
create or replace package junit_pkg_test is
126+
--%suite(junit_pkg_test)
127+
--%suitepath(org.utplsql)
128+
129+
--%test
130+
--%disabled
131+
procedure proc;
132+
133+
end junit_pkg_test;
134+
/
135+
""".trim();
136+
Assert.assertEquals(expected, actual);
137+
}
138+
139+
@Test
140+
public void spec_comment_disable_with_path() throws SQLException {
141+
// arrange
142+
var context = new GenContext();
143+
context.setConn(dataSource.getConnection());
144+
context.setObjectType("PACKAGE");
145+
context.setObjectName("JUNIT_PKG");
146+
context.setTestPackagePrefix("");
147+
context.setTestPackageSuffix("_test");
148+
context.setTestUnitPrefix("");
149+
context.setTestUnitSuffix("");
150+
context.setNumberOfTestsPerUnit(1);
151+
context.setGenerateComments(true);
152+
context.setDisableTests(true);
153+
context.setSuitePath("org.utplsql");
154+
context.setIndentSpaces(3);
155+
156+
// act
157+
var template = new TestTemplate(context);
158+
var actual = template.generateSpec()
159+
.replaceAll("[0-9]{4}-[0-9]{2}-[0-9]{2}[ ]{1}[0-9]{2}:[0-9]{2}:[0-9]{2}", "datetime");
160+
161+
// assert
162+
var expected = """
163+
create or replace package junit_pkg_test is
164+
165+
-- generated by utPLSQL for SQL Developer on datetime
166+
167+
--%suite(junit_pkg_test)
168+
--%suitepath(org.utplsql)
169+
170+
--%test
171+
--%disabled
172+
procedure proc;
173+
174+
end junit_pkg_test;
175+
/
176+
""".trim();
177+
Assert.assertEquals(expected, actual);
178+
}
179+
180+
@Test
181+
public void spec_comment_disable_with_path_two_units() throws SQLException {
182+
// arrange
183+
var context = new GenContext();
184+
context.setConn(dataSource.getConnection());
185+
context.setObjectType("PACKAGE");
186+
context.setObjectName("JUNIT_PKG");
187+
context.setTestPackagePrefix("");
188+
context.setTestPackageSuffix("_test");
189+
context.setTestUnitPrefix("");
190+
context.setTestUnitSuffix("");
191+
context.setNumberOfTestsPerUnit(2);
192+
context.setGenerateComments(true);
193+
context.setDisableTests(true);
194+
context.setSuitePath("org.utplsql");
195+
context.setIndentSpaces(3);
196+
197+
// act
198+
var template = new TestTemplate(context);
199+
var actual = template.generateSpec()
200+
.replaceAll("[0-9]{4}-[0-9]{2}-[0-9]{2}[ ]{1}[0-9]{2}:[0-9]{2}:[0-9]{2}", "datetime");
201+
202+
// assert
203+
var expected = """
204+
create or replace package junit_pkg_test is
205+
206+
-- generated by utPLSQL for SQL Developer on datetime
207+
208+
--%suite(junit_pkg_test)
209+
--%suitepath(org.utplsql)
210+
211+
--%context(proc)
212+
213+
--%test
214+
--%disabled
215+
procedure proc1;
216+
217+
--%test
218+
--%disabled
219+
procedure proc2;
220+
221+
--%endcontext
222+
223+
end junit_pkg_test;
224+
/
225+
""".trim();
226+
Assert.assertEquals(expected, actual);
227+
}
228+
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.