Skip to content

Commit 590ca8e

Browse files
convert SqlDevParserTest to Java, removing Xtend dependencies
1 parent 3a8f229 commit 590ca8e

File tree

1 file changed

+133
-223
lines changed

1 file changed

+133
-223
lines changed
Lines changed: 133 additions & 223 deletions
Original file line numberDiff line numberDiff line change
@@ -1,234 +1,144 @@
1+
/*
2+
* Copyright 2019 Philipp Salvisberg <philipp.salvisberg@trivadis.com>
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
116
package org.utplsql.sqldev.test.parser;
217

318
import java.util.Set;
4-
import oracle.dbtools.raptor.navigator.plsql.Member;
5-
import org.eclipse.xtend2.lib.StringConcatenation;
6-
import org.eclipse.xtext.xbase.lib.Conversions;
7-
import org.eclipse.xtext.xbase.lib.Functions.Function0;
19+
820
import org.junit.Assert;
921
import org.junit.Test;
1022
import org.utplsql.sqldev.parser.SqlDevParser;
1123

12-
@SuppressWarnings("all")
24+
import oracle.dbtools.raptor.navigator.plsql.Member;
25+
1326
public class SqlDevParserTest {
14-
private final String packageSpec = new Function0<String>() {
15-
public String apply() {
16-
StringConcatenation _builder = new StringConcatenation();
17-
_builder.append("CREATE OR REPLACE PACKAGE junit_utplsql_test1_pkg is");
18-
_builder.newLine();
19-
_builder.append(" ");
20-
_builder.append("--%suite(JUnit testing)");
21-
_builder.newLine();
22-
_builder.append(" ");
23-
_builder.append("--%suitepath(a)");
24-
_builder.newLine();
25-
_builder.newLine();
26-
_builder.append(" ");
27-
_builder.append("--%context(test context)");
28-
_builder.newLine();
29-
_builder.newLine();
30-
_builder.append(" ");
31-
_builder.append("--%test(test 1 - OK) ");
32-
_builder.newLine();
33-
_builder.append(" ");
34-
_builder.append("PRoCeDURE test_1_ok;");
35-
_builder.newLine();
36-
_builder.newLine();
37-
_builder.append(" ");
38-
_builder.append("--%test(test 2 - NOK)");
39-
_builder.newLine();
40-
_builder.append(" ");
41-
_builder.append("PROCEDURE test_2_nok;");
42-
_builder.newLine();
43-
_builder.newLine();
44-
_builder.append(" ");
45-
_builder.append("--%test(test 3 - disabled)");
46-
_builder.newLine();
47-
_builder.append(" ");
48-
_builder.append("--%disabled");
49-
_builder.newLine();
50-
_builder.append(" ");
51-
_builder.append("PROCEDURE test_3_disabled;");
52-
_builder.newLine();
53-
_builder.newLine();
54-
_builder.append(" ");
55-
_builder.append("--%test(test 4 - errored)");
56-
_builder.newLine();
57-
_builder.append(" ");
58-
_builder.append("PROCEDURE test_4_errored;");
59-
_builder.newLine();
60-
_builder.append(" ");
61-
_builder.newLine();
62-
_builder.append(" ");
63-
_builder.append("--%test(test 5 - warnings)");
64-
_builder.newLine();
65-
_builder.append(" ");
66-
_builder.append("PROCEDURE test_5_warnings;");
67-
_builder.newLine();
68-
_builder.append(" ");
69-
_builder.append("--%endcontext");
70-
_builder.newLine();
71-
_builder.newLine();
72-
_builder.append(" ");
73-
_builder.append("function my_Func (p IN number) RETURN BOOLEAN;");
74-
_builder.newLine();
75-
_builder.append("END;");
76-
_builder.newLine();
77-
return _builder.toString();
27+
28+
private String getPackageSpec() {
29+
StringBuilder sb = new StringBuilder();
30+
sb.append("CREATE OR REPLACE PACKAGE junit_utplsql_test1_pkg IS\n");
31+
sb.append(" --%suite(JUnit testing)\n");
32+
sb.append(" --%suitepath(a)\n\n");
33+
34+
sb.append(" --%context(test context)\n\n");
35+
36+
sb.append(" --%test(test 1 - OK)\n");
37+
sb.append(" PRoCeDURE test_1_ok;\n\n");
38+
39+
sb.append(" --%test(test 2 - NOK)\n");
40+
sb.append(" PROCEDURE test_2_nok;\n\n");
41+
42+
sb.append(" --%test(test 3 - disabled)\n");
43+
sb.append(" --%disabled\n");
44+
sb.append(" PROCEDURE test_3_disabled;\n\n");
45+
46+
sb.append(" --%test(test 4 - errored)\n");
47+
sb.append(" PROCEDURE test_4_errored;\n\n");
48+
49+
sb.append(" --%test(test 5 - warnings)\n");
50+
sb.append(" PROCEDURE test_5_warnings;\n");
51+
sb.append(" --%endcontext\n\n");
52+
53+
sb.append(" function my_Func (p IN number) RETURN BOOLEAN;\n");
54+
sb.append("END;");
55+
return sb.toString();
7856
}
79-
}.apply();
80-
81-
private final String packageBody = new Function0<String>() {
82-
public String apply() {
83-
StringConcatenation _builder = new StringConcatenation();
84-
_builder.append("CREATE OR REPLACE PACKAGE BODY junit_utplsql_test1_pkg IS");
85-
_builder.newLine();
86-
_builder.append(" ");
87-
_builder.append("PROCEDURE test_1_ok IS");
88-
_builder.newLine();
89-
_builder.append(" ");
90-
_builder.append("BEGIN");
91-
_builder.newLine();
92-
_builder.append(" ");
93-
_builder.append("dbms_output.put_line(\'start test 1\');");
94-
_builder.newLine();
95-
_builder.append(" ");
96-
_builder.append("dbms_session.sleep(1);");
97-
_builder.newLine();
98-
_builder.append(" ");
99-
_builder.append("ut.expect(1).to_equal(1);");
100-
_builder.newLine();
101-
_builder.append(" ");
102-
_builder.append("dbms_output.put_line(\'end test 1\');");
103-
_builder.newLine();
104-
_builder.append(" ");
105-
_builder.append("END;");
106-
_builder.newLine();
107-
_builder.newLine();
108-
_builder.append(" ");
109-
_builder.append("PROCEDURE test_2_nok IS");
110-
_builder.newLine();
111-
_builder.append(" ");
112-
_builder.append("BEGIN");
113-
_builder.newLine();
114-
_builder.append(" ");
115-
_builder.append("dbms_output.put_line(\'start test 2\');");
116-
_builder.newLine();
117-
_builder.append(" ");
118-
_builder.append("dbms_session.sleep(2);");
119-
_builder.newLine();
120-
_builder.append(" ");
121-
_builder.append("ut.expect(1, \'first assert.\').to_equal(2);");
122-
_builder.newLine();
123-
_builder.append(" ");
124-
_builder.append("ut.expect(1, \'second assert.\').to_equal(2);");
125-
_builder.newLine();
126-
_builder.append(" ");
127-
_builder.append("dbms_output.put_line(\'end test 2\');");
128-
_builder.newLine();
129-
_builder.append(" ");
130-
_builder.append("END;");
131-
_builder.newLine();
132-
_builder.append(" ");
133-
_builder.newLine();
134-
_builder.append(" ");
135-
_builder.append("PROCEDURE test_3_disabled IS");
136-
_builder.newLine();
137-
_builder.append(" ");
138-
_builder.append("BEGIN");
139-
_builder.newLine();
140-
_builder.append(" ");
141-
_builder.append("NULL;");
142-
_builder.newLine();
143-
_builder.append(" ");
144-
_builder.append("END;");
145-
_builder.newLine();
146-
_builder.newLine();
147-
_builder.append(" ");
148-
_builder.append("PROCEDURE test_4_errored IS");
149-
_builder.newLine();
150-
_builder.append(" ");
151-
_builder.append("BEGIN");
152-
_builder.newLine();
153-
_builder.append(" ");
154-
_builder.append("EXECUTE IMMEDIATE \'bla bla\';");
155-
_builder.newLine();
156-
_builder.append(" ");
157-
_builder.append("END;");
158-
_builder.newLine();
159-
_builder.newLine();
160-
_builder.append(" ");
161-
_builder.append("PROCEDURE test_5_warnings IS");
162-
_builder.newLine();
163-
_builder.append(" ");
164-
_builder.append("BEGIN");
165-
_builder.newLine();
166-
_builder.append(" ");
167-
_builder.append("COMMIT; -- will raise a warning");
168-
_builder.newLine();
169-
_builder.append("\t ");
170-
_builder.append("ut.expect(1).to_equal(1);");
171-
_builder.newLine();
172-
_builder.append(" ");
173-
_builder.append("END;");
174-
_builder.newLine();
175-
_builder.newLine();
176-
_builder.append(" ");
177-
_builder.append("FUNCTION my_Func (p IN number) RETURN BOOLEAN IS");
178-
_builder.newLine();
179-
_builder.append(" ");
180-
_builder.append("RETURN TRUE;");
181-
_builder.newLine();
182-
_builder.append(" ");
183-
_builder.append("END;");
184-
_builder.newLine();
185-
_builder.append("END;");
186-
_builder.newLine();
187-
return _builder.toString();
57+
58+
private String getPackageBody() {
59+
StringBuilder sb = new StringBuilder();
60+
sb.append("CREATE OR REPLACE PACKAGE BODY junit_utplsql_test1_pkg IS\n");
61+
sb.append(" PROCEDURE test_1_ok IS\n");
62+
sb.append(" BEGIN\n");
63+
sb.append(" dbms_output.put_line('start test 1');\n");
64+
sb.append(" dbms_session.sleep(1);\n");
65+
sb.append(" ut.expect(1).to_equal(1);\n");
66+
sb.append(" dbms_output.put_line('end test 1');\n");
67+
sb.append(" END;\n\n");
68+
69+
sb.append(" PROCEDURE test_2_nok IS\n");
70+
sb.append(" BEGIN\n");
71+
sb.append(" dbms_output.put_line('start test 2');\n");
72+
sb.append(" dbms_session.sleep(2);\n");
73+
sb.append(" ut.expect(1, 'first assert.').to_equal(2);\n");
74+
sb.append(" ut.expect(1, 'second assert.').to_equal(2);\n");
75+
sb.append(" dbms_output.put_line('end test 2');\n");
76+
sb.append(" END;\n\n");
77+
78+
sb.append(" PROCEDURE test_3_disabled IS\n");
79+
sb.append(" BEGIN\n");
80+
sb.append(" NULL;\n");
81+
sb.append(" END;\n\n");
82+
83+
sb.append(" PROCEDURE test_4_errored IS\n");
84+
sb.append(" BEGIN\n");
85+
sb.append(" EXECUTE IMMEDIATE 'bla bla';\n");
86+
sb.append(" END;\n\n");
87+
88+
sb.append(" PROCEDURE test_5_warnings IS\n");
89+
sb.append(" BEGIN\n");
90+
sb.append(" COMMIT; -- will raise a warning\n");
91+
sb.append(" ut.expect(1).to_equal(1);\n");
92+
sb.append(" END;\n\n");
93+
94+
sb.append(" FUNCTION my_Func (p IN number) RETURN BOOLEAN IS\n");
95+
sb.append(" RETURN TRUE;\n");
96+
sb.append(" END;\n");
97+
sb.append("END;");
98+
return sb.toString();
99+
}
100+
101+
@Test
102+
public void packageSpecMembers() {
103+
final SqlDevParser parser = new SqlDevParser();
104+
final Set<Member> actual = parser.getMembers(getPackageSpec());
105+
Assert.assertEquals(6, actual.size());
106+
final Member first = actual.stream().findFirst().get();
107+
Assert.assertEquals("PROCEDURE", first.type);
108+
Assert.assertEquals("test_1_ok", first.name);
109+
final Member last = actual.stream().reduce((m1, m2) -> m2).get();
110+
Assert.assertEquals("FUNCTION", last.type);
111+
Assert.assertEquals("my_Func", last.name);
112+
}
113+
114+
@Test
115+
public void packageBodyMembers() {
116+
final SqlDevParser parser = new SqlDevParser();
117+
final Set<Member> actual = parser.getMembers(getPackageBody());
118+
Assert.assertEquals(6, actual.size());
119+
final Member first = actual.stream().findFirst().get();
120+
Assert.assertEquals("PROCEDURE", first.type);
121+
Assert.assertEquals("test_1_ok", first.name);
122+
final Member last = actual.stream().reduce((m1, m2) -> m2).get();
123+
Assert.assertEquals("FUNCTION", last.type);
124+
Assert.assertEquals("my_Func", last.name);
125+
}
126+
127+
@Test
128+
public void StartLineSpec() {
129+
final SqlDevParser parser = new SqlDevParser();
130+
final int first = parser.getMemberStartLine(getPackageSpec(), "test_1_ok");
131+
Assert.assertEquals(8, first);
132+
final int last = parser.getMemberStartLine(getPackageSpec(), "my_func");
133+
Assert.assertEquals(24, last);
134+
}
135+
136+
@Test
137+
public void StartLineBody() {
138+
final SqlDevParser parser = new SqlDevParser();
139+
final int first = parser.getMemberStartLine(getPackageBody(), "test_1_ok");
140+
Assert.assertEquals(2, first);
141+
final int last = parser.getMemberStartLine(getPackageBody(), "my_func");
142+
Assert.assertEquals(35, last);
188143
}
189-
}.apply();
190-
191-
@Test
192-
public void packageSpecMembers() {
193-
final SqlDevParser parser = new SqlDevParser();
194-
final Set<Member> actual = parser.getMembers(this.packageSpec);
195-
Assert.assertEquals(6, ((Object[])Conversions.unwrapArray(actual, Object.class)).length);
196-
final Member first = ((Member[])Conversions.unwrapArray(actual, Member.class))[0];
197-
Assert.assertEquals("PROCEDURE", first.type);
198-
Assert.assertEquals("test_1_ok", first.name);
199-
final Member last = ((Member[])Conversions.unwrapArray(actual, Member.class))[5];
200-
Assert.assertEquals("FUNCTION", last.type);
201-
Assert.assertEquals("my_Func", last.name);
202-
}
203-
204-
@Test
205-
public void packageBodyMembers() {
206-
final SqlDevParser parser = new SqlDevParser();
207-
final Set<Member> actual = parser.getMembers(this.packageBody);
208-
Assert.assertEquals(6, ((Object[])Conversions.unwrapArray(actual, Object.class)).length);
209-
final Member first = ((Member[])Conversions.unwrapArray(actual, Member.class))[0];
210-
Assert.assertEquals("PROCEDURE", first.type);
211-
Assert.assertEquals("test_1_ok", first.name);
212-
final Member last = ((Member[])Conversions.unwrapArray(actual, Member.class))[5];
213-
Assert.assertEquals("FUNCTION", last.type);
214-
Assert.assertEquals("my_Func", last.name);
215-
}
216-
217-
@Test
218-
public void StartLineSpec() {
219-
final SqlDevParser parser = new SqlDevParser();
220-
final int first = parser.getMemberStartLine(this.packageSpec, "test_1_ok");
221-
Assert.assertEquals(8, first);
222-
final int last = parser.getMemberStartLine(this.packageSpec, "my_func");
223-
Assert.assertEquals(24, last);
224-
}
225-
226-
@Test
227-
public void StartLineBody() {
228-
final SqlDevParser parser = new SqlDevParser();
229-
final int first = parser.getMemberStartLine(this.packageBody, "test_1_ok");
230-
Assert.assertEquals(2, first);
231-
final int last = parser.getMemberStartLine(this.packageBody, "my_func");
232-
Assert.assertEquals(35, last);
233-
}
234144
}

0 commit comments

Comments
 (0)