Skip to content

Commit 6393993

Browse files
convert RealtimeReporterFetchSizeTest to Java, removing Xtend
dependencies
1 parent d03d21f commit 6393993

File tree

1 file changed

+100
-201
lines changed

1 file changed

+100
-201
lines changed
Lines changed: 100 additions & 201 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/**
1+
/*
22
* Copyright 2019 Philipp Salvisberg <philipp.salvisberg@trivadis.com>
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,216 +15,115 @@
1515
*/
1616
package org.utplsql.sqldev.test.dal;
1717

18-
import java.sql.Connection;
19-
import java.util.Collections;
18+
import java.util.Arrays;
2019
import java.util.UUID;
2120
import java.util.logging.Logger;
22-
import org.eclipse.xtend2.lib.StringConcatenation;
23-
import org.eclipse.xtext.xbase.lib.CollectionLiterals;
24-
import org.eclipse.xtext.xbase.lib.Exceptions;
25-
import org.junit.AfterClass;
21+
22+
import org.junit.After;
2623
import org.junit.Assert;
27-
import org.junit.BeforeClass;
24+
import org.junit.Before;
2825
import org.junit.Test;
29-
import org.springframework.jdbc.BadSqlGrammarException;
3026
import org.springframework.jdbc.datasource.SingleConnectionDataSource;
3127
import org.utplsql.sqldev.dal.RealtimeReporterDao;
28+
import org.utplsql.sqldev.model.DatabaseTools;
3229
import org.utplsql.sqldev.test.AbstractJdbcTest;
33-
import org.utplsql.sqldev.test.dal.TestRealtimerReporterEventTimedConsumer;
3430

35-
@SuppressWarnings("all")
3631
public class RealtimeReporterFetchSizeTest extends AbstractJdbcTest {
37-
private static final Logger logger = Logger.getLogger(RealtimeReporterFetchSizeTest.class.getName());
38-
39-
@BeforeClass
40-
public static void setup() {
41-
StringConcatenation _builder = new StringConcatenation();
42-
_builder.append("CREATE OR REPLACE PACKAGE junit_utplsql_fetch_size_pkg is");
43-
_builder.newLine();
44-
_builder.append(" ");
45-
_builder.append("--%suite(JUnit testing)");
46-
_builder.newLine();
47-
_builder.newLine();
48-
_builder.append(" ");
49-
_builder.append("--%test(test 1 - 0 seconds) ");
50-
_builder.newLine();
51-
_builder.append(" ");
52-
_builder.append("PROCEDURE test_1_0;");
53-
_builder.newLine();
54-
_builder.newLine();
55-
_builder.append(" ");
56-
_builder.append("--%test(test 2 - 1 seconds) ");
57-
_builder.newLine();
58-
_builder.append(" ");
59-
_builder.append("PROCEDURE test_2_1;");
60-
_builder.newLine();
61-
_builder.newLine();
62-
_builder.append(" ");
63-
_builder.append("--%test(test 3 - 2 seconds) ");
64-
_builder.newLine();
65-
_builder.append(" ");
66-
_builder.append("PROCEDURE test_3_2;");
67-
_builder.newLine();
68-
_builder.newLine();
69-
_builder.append(" ");
70-
_builder.append("--%test(test 4 - 0 seconds) ");
71-
_builder.newLine();
72-
_builder.append(" ");
73-
_builder.append("PROCEDURE test_4_0;");
74-
_builder.newLine();
75-
_builder.newLine();
76-
_builder.append(" ");
77-
_builder.append("--%test(test 5 - 0 seconds) ");
78-
_builder.newLine();
79-
_builder.append(" ");
80-
_builder.append("PROCEDURE test_5_0;");
81-
_builder.newLine();
82-
_builder.append("END;");
83-
_builder.newLine();
84-
AbstractJdbcTest.jdbcTemplate.execute(_builder.toString());
85-
StringConcatenation _builder_1 = new StringConcatenation();
86-
_builder_1.append("CREATE OR REPLACE PACKAGE BODY junit_utplsql_fetch_size_pkg is");
87-
_builder_1.newLine();
88-
_builder_1.append(" ");
89-
_builder_1.append("PROCEDURE test_1_0 IS");
90-
_builder_1.newLine();
91-
_builder_1.append(" ");
92-
_builder_1.append("BEGIN");
93-
_builder_1.newLine();
94-
_builder_1.append(" ");
95-
_builder_1.append("NULL;");
96-
_builder_1.newLine();
97-
_builder_1.append(" ");
98-
_builder_1.append("END;");
99-
_builder_1.newLine();
100-
_builder_1.newLine();
101-
_builder_1.append(" ");
102-
_builder_1.append("PROCEDURE test_2_1 IS");
103-
_builder_1.newLine();
104-
_builder_1.append(" ");
105-
_builder_1.append("BEGIN");
106-
_builder_1.newLine();
107-
_builder_1.append(" ");
108-
_builder_1.append("dbms_session.sleep(1);");
109-
_builder_1.newLine();
110-
_builder_1.append(" ");
111-
_builder_1.append("END;");
112-
_builder_1.newLine();
113-
_builder_1.newLine();
114-
_builder_1.append(" ");
115-
_builder_1.append("PROCEDURE test_3_2 IS");
116-
_builder_1.newLine();
117-
_builder_1.append(" ");
118-
_builder_1.append("BEGIN");
119-
_builder_1.newLine();
120-
_builder_1.append(" ");
121-
_builder_1.append("dbms_session.sleep(2);");
122-
_builder_1.newLine();
123-
_builder_1.append(" ");
124-
_builder_1.append("END;");
125-
_builder_1.newLine();
126-
_builder_1.newLine();
127-
_builder_1.append(" ");
128-
_builder_1.append("PROCEDURE test_4_0 IS");
129-
_builder_1.newLine();
130-
_builder_1.append(" ");
131-
_builder_1.append("BEGIN");
132-
_builder_1.newLine();
133-
_builder_1.append(" ");
134-
_builder_1.append("NULL;");
135-
_builder_1.newLine();
136-
_builder_1.append(" ");
137-
_builder_1.append("END;");
138-
_builder_1.newLine();
139-
_builder_1.newLine();
140-
_builder_1.append(" ");
141-
_builder_1.append("PROCEDURE test_5_0 IS");
142-
_builder_1.newLine();
143-
_builder_1.append(" ");
144-
_builder_1.append("BEGIN");
145-
_builder_1.newLine();
146-
_builder_1.append(" ");
147-
_builder_1.append("NULL;");
148-
_builder_1.newLine();
149-
_builder_1.append(" ");
150-
_builder_1.append("END;");
151-
_builder_1.newLine();
152-
_builder_1.append("END;");
153-
_builder_1.newLine();
154-
AbstractJdbcTest.jdbcTemplate.execute(_builder_1.toString());
155-
}
156-
157-
@AfterClass
158-
public static void teardown() {
159-
try {
160-
AbstractJdbcTest.jdbcTemplate.execute("DROP PACKAGE junit_utplsql_fetch_size_pkg");
161-
} catch (final Throwable _t) {
162-
if (_t instanceof BadSqlGrammarException) {
163-
} else {
164-
throw Exceptions.sneakyThrow(_t);
165-
}
32+
private static final Logger logger = Logger.getLogger(RealtimeReporterFetchSizeTest.class.getName());
33+
34+
@Before
35+
public void setup() {
36+
StringBuilder sb = new StringBuilder();
37+
sb.append("CREATE OR REPLACE PACKAGE junit_utplsql_fetch_size_pkg is\n");
38+
sb.append(" --%suite(JUnit testing)\n\n");
39+
sb.append(" --%test(test 1 - 0 seconds)\n");
40+
sb.append(" PROCEDURE test_1_0;\n\n");
41+
sb.append(" --%test(test 2 - 1 seconds)\n");
42+
sb.append(" PROCEDURE test_2_1;\n\n");
43+
sb.append(" --%test(test 3 - 2 seconds)\n");
44+
sb.append(" PROCEDURE test_3_2;\n\n");
45+
sb.append(" --%test(test 4 - 0 seconds)\n");
46+
sb.append(" PROCEDURE test_4_0;\n\n");
47+
sb.append(" --%test(test 5 - 0 seconds)\n");
48+
sb.append(" PROCEDURE test_5_0;\n");
49+
sb.append("END;");
50+
jdbcTemplate.execute(sb.toString());
51+
sb.setLength(0);
52+
sb.append("CREATE OR REPLACE PACKAGE BODY junit_utplsql_fetch_size_pkg is\n");
53+
sb.append(" PROCEDURE test_1_0 IS\n");
54+
sb.append(" BEGIN\n");
55+
sb.append(" NULL;\n");
56+
sb.append(" END;\n\n");
57+
sb.append(" PROCEDURE test_2_1 IS\n");
58+
sb.append(" BEGIN\n");
59+
sb.append(" dbms_session.sleep(1);\n");
60+
sb.append(" END;\n\n");
61+
sb.append(" PROCEDURE test_3_2 IS\n");
62+
sb.append(" BEGIN\n");
63+
sb.append(" dbms_session.sleep(2);\n");
64+
sb.append(" END;\n\n");
65+
sb.append(" PROCEDURE test_4_0 IS\n");
66+
sb.append(" BEGIN\n");
67+
sb.append(" NULL;\n");
68+
sb.append(" END;\n\n");
69+
sb.append(" PROCEDURE test_5_0 IS\n");
70+
sb.append(" BEGIN\n");
71+
sb.append(" NULL;\n");
72+
sb.append(" END;\n");
73+
sb.append("END;");
74+
jdbcTemplate.execute(sb.toString());
75+
}
76+
77+
@After
78+
public void teardown() {
79+
executeAndIgnore(jdbcTemplate, "DROP PACKAGE junit_utplsql_fetch_size_pkg");
16680
}
167-
}
168-
169-
private void delayFreeStreamingConsumtionProducer(final String reporterId) {
170-
try {
171-
SingleConnectionDataSource ds = new SingleConnectionDataSource();
172-
ds.setDriverClassName("oracle.jdbc.OracleDriver");
173-
ds.setUrl(AbstractJdbcTest.dataSource.getUrl());
174-
ds.setUsername(AbstractJdbcTest.dataSource.getUsername());
175-
ds.setPassword(AbstractJdbcTest.dataSource.getPassword());
176-
Connection _connection = ds.getConnection();
177-
final RealtimeReporterDao dao = new RealtimeReporterDao(_connection);
178-
dao.produceReport(reporterId, Collections.<String>unmodifiableList(CollectionLiterals.<String>newArrayList("junit_utplsql_fetch_size_pkg")));
179-
} catch (Throwable _e) {
180-
throw Exceptions.sneakyThrow(_e);
81+
82+
private void delayFreeStreamingConsumtionProducer(final String reporterId) {
83+
SingleConnectionDataSource ds = new SingleConnectionDataSource();
84+
ds.setDriverClassName("oracle.jdbc.OracleDriver");
85+
ds.setUrl(dataSource.getUrl());
86+
ds.setUsername(dataSource.getUsername());
87+
ds.setPassword(dataSource.getPassword());
88+
final RealtimeReporterDao dao = new RealtimeReporterDao(DatabaseTools.getConnection(ds));
89+
dao.produceReport(reporterId, Arrays.asList("junit_utplsql_fetch_size_pkg"));
18190
}
182-
}
183-
184-
@Test
185-
public void delayFreeStreamingConsumtion() {
186-
try {
187-
final long TOLERANCE_MS = 600;
188-
SingleConnectionDataSource ds = new SingleConnectionDataSource();
189-
ds.setDriverClassName("oracle.jdbc.OracleDriver");
190-
ds.setUrl(AbstractJdbcTest.dataSource.getUrl());
191-
ds.setUsername(AbstractJdbcTest.dataSource.getUsername());
192-
ds.setPassword(AbstractJdbcTest.dataSource.getPassword());
193-
final TestRealtimerReporterEventTimedConsumer consumer = new TestRealtimerReporterEventTimedConsumer();
194-
final String reporterId = UUID.randomUUID().toString().replace("-", "");
195-
Connection _connection = ds.getConnection();
196-
final RealtimeReporterDao dao = new RealtimeReporterDao(_connection);
197-
final Runnable _function = () -> {
198-
this.delayFreeStreamingConsumtionProducer(reporterId);
199-
};
200-
final Runnable runnable = _function;
201-
final Thread thread = new Thread(runnable);
202-
thread.setName("utPLSQL run test");
203-
thread.start();
204-
dao.consumeReport(reporterId, consumer);
205-
RealtimeReporterFetchSizeTest.logger.fine(consumer.getPostTestEvents().toString());
206-
Assert.assertEquals(5, consumer.getPostTestEvents().entrySet().size());
207-
final Long test_1_0 = consumer.getPostTestEvents().get("junit_utplsql_fetch_size_pkg.test_1_0");
208-
final Long test_2_1 = consumer.getPostTestEvents().get("junit_utplsql_fetch_size_pkg.test_2_1");
209-
final Long test_3_2 = consumer.getPostTestEvents().get("junit_utplsql_fetch_size_pkg.test_3_2");
210-
final Long test_4_0 = consumer.getPostTestEvents().get("junit_utplsql_fetch_size_pkg.test_4_0");
211-
final Long test_5_0 = consumer.getPostTestEvents().get("junit_utplsql_fetch_size_pkg.test_5_0");
212-
final long test_2_1_time = ((test_2_1).longValue() - (test_1_0).longValue());
213-
RealtimeReporterFetchSizeTest.logger.fine(("test_2_1 time [ms]: " + Long.valueOf(test_2_1_time)));
214-
Assert.assertTrue("test_2_1 runtime was too long", (test_2_1_time < (1000 + TOLERANCE_MS)));
215-
Assert.assertTrue("test_2_1 runtime was too short", (test_2_1_time > (1000 - TOLERANCE_MS)));
216-
final long test_3_2_time = ((test_3_2).longValue() - (test_2_1).longValue());
217-
RealtimeReporterFetchSizeTest.logger.fine(("test_3_2 time [ms]: " + Long.valueOf(test_3_2_time)));
218-
Assert.assertTrue("test_3_2 runtime was too long", (test_3_2_time < (2000 + TOLERANCE_MS)));
219-
Assert.assertTrue("test_3_2 runtime was too short", (test_3_2_time > (2000 - TOLERANCE_MS)));
220-
final long test_4_0_time = ((test_4_0).longValue() - (test_3_2).longValue());
221-
RealtimeReporterFetchSizeTest.logger.fine(("test_4_0 time [ms]: " + Long.valueOf(test_4_0_time)));
222-
Assert.assertTrue("test_4_0 runtime was too long", (test_4_0_time < TOLERANCE_MS));
223-
final long test_5_0_time = ((test_5_0).longValue() - (test_4_0).longValue());
224-
RealtimeReporterFetchSizeTest.logger.fine(("test_5_0 time [ms]: " + Long.valueOf(test_5_0_time)));
225-
Assert.assertTrue("test_5_0 runtime was too long", (test_5_0_time < TOLERANCE_MS));
226-
} catch (Throwable _e) {
227-
throw Exceptions.sneakyThrow(_e);
91+
92+
@Test
93+
public void delayFreeStreamingConsumtion() {
94+
final long TOLERANCE_MS = 600;
95+
SingleConnectionDataSource ds = new SingleConnectionDataSource();
96+
ds.setDriverClassName("oracle.jdbc.OracleDriver");
97+
ds.setUrl(dataSource.getUrl());
98+
ds.setUsername(dataSource.getUsername());
99+
ds.setPassword(dataSource.getPassword());
100+
final TestRealtimerReporterEventTimedConsumer consumer = new TestRealtimerReporterEventTimedConsumer();
101+
final String reporterId = UUID.randomUUID().toString().replace("-", "");
102+
final RealtimeReporterDao dao = new RealtimeReporterDao(DatabaseTools.getConnection(ds));
103+
final Thread thread = new Thread(() -> delayFreeStreamingConsumtionProducer(reporterId));
104+
thread.setName("utPLSQL run test");
105+
thread.start();
106+
dao.consumeReport(reporterId, consumer);
107+
logger.fine(consumer.getPostTestEvents().toString());
108+
Assert.assertEquals(5, consumer.getPostTestEvents().entrySet().size());
109+
final Long test_1_0 = consumer.getPostTestEvents().get("junit_utplsql_fetch_size_pkg.test_1_0");
110+
final Long test_2_1 = consumer.getPostTestEvents().get("junit_utplsql_fetch_size_pkg.test_2_1");
111+
final Long test_3_2 = consumer.getPostTestEvents().get("junit_utplsql_fetch_size_pkg.test_3_2");
112+
final Long test_4_0 = consumer.getPostTestEvents().get("junit_utplsql_fetch_size_pkg.test_4_0");
113+
final Long test_5_0 = consumer.getPostTestEvents().get("junit_utplsql_fetch_size_pkg.test_5_0");
114+
final long test_2_1_time = test_2_1 - test_1_0;
115+
logger.fine("test_2_1 time [ms]: " + test_2_1_time);
116+
Assert.assertTrue("test_2_1 runtime was too long", test_2_1_time < 1000 + TOLERANCE_MS);
117+
Assert.assertTrue("test_2_1 runtime was too short", test_2_1_time > 1000 - TOLERANCE_MS);
118+
final long test_3_2_time = test_3_2 - test_2_1;
119+
logger.fine("test_3_2 time [ms]: " + test_3_2_time);
120+
Assert.assertTrue("test_3_2 runtime was too long", test_3_2_time < 2000 + TOLERANCE_MS);
121+
Assert.assertTrue("test_3_2 runtime was too short", test_3_2_time > 2000 - TOLERANCE_MS);
122+
final long test_4_0_time = test_4_0 - test_3_2;
123+
logger.fine("test_4_0 time [ms]: " + test_4_0_time);
124+
Assert.assertTrue("test_4_0 runtime was too long", test_4_0_time < TOLERANCE_MS);
125+
final long test_5_0_time = test_5_0 - test_4_0;
126+
logger.fine("test_5_0 time [ms]: " + test_5_0_time);
127+
Assert.assertTrue("test_5_0 runtime was too long", test_5_0_time < TOLERANCE_MS);
228128
}
229-
}
230129
}

0 commit comments

Comments
 (0)