1616 package org.utplsql.sqldev.tests
1717
1818import java.util.ArrayList
19+ import java.util.HashMap
1920import org.junit.AfterClass
2021import org.junit.Assert
2122import org.junit.BeforeClass
@@ -244,4 +245,53 @@ class DalTest extends AbstractJdbcTest {
244245 Assert . assertEquals(" PROCEDURE.JUNIT_P" , effective. get(0 ). id)
245246 }
246247
248+ @Test
249+ def void runnables () {
250+ val dao = new UtplsqlDao (dataSource. connection)
251+ jdbcTemplate. execute(' ' '
252+ CREATE OR REPLACE PACKAGE junit_utplsql_test_pkg IS
253+ -- %suite
254+ -- %suitepath(a.b.c)
255+
256+ -- %test
257+ PROCEDURE t0;
258+
259+ -- %context(mycontext)
260+
261+ -- %test
262+ PROCEDURE t1;
263+
264+ -- %test
265+ PROCEDURE t2;
266+
267+ -- %endcontext
268+
269+ -- %test
270+ PROCEDURE t3;
271+ END junit_utplsql_test_pkg;
272+ ' ' ' )
273+ val effectiveNodes = dao. runnables()
274+ Assert . assertEquals(16 , effectiveNodes. size)
275+ val effective = new HashMap<String , String >
276+ for (node : effectiveNodes) {
277+ effective. put(node. id, node. parentId)
278+ }
279+ Assert . assertEquals(null , effective. get(" SUITE" ))
280+ Assert . assertEquals(" SUITE" , effective. get(" SCOTT.JUNIT_UTPLSQL_TEST_PKG" ))
281+ Assert . assertEquals(" SCOTT.JUNIT_UTPLSQL_TEST_PKG" , effective. get(" SCOTT.JUNIT_UTPLSQL_TEST_PKG.t0" ))
282+ Assert . assertEquals(" SCOTT.JUNIT_UTPLSQL_TEST_PKG" , effective. get(" SCOTT.JUNIT_UTPLSQL_TEST_PKG.t1" ))
283+ Assert . assertEquals(" SCOTT.JUNIT_UTPLSQL_TEST_PKG" , effective. get(" SCOTT.JUNIT_UTPLSQL_TEST_PKG.t2" ))
284+ Assert . assertEquals(" SCOTT.JUNIT_UTPLSQL_TEST_PKG" , effective. get(" SCOTT.JUNIT_UTPLSQL_TEST_PKG.t3" ))
285+ Assert . assertEquals(null , effective. get(" SUITEPATH" ))
286+ Assert . assertEquals(" SUITEPATH" , effective. get(" SCOTT:a" ))
287+ Assert . assertEquals(" SCOTT:a" , effective. get(" SCOTT:a.b" ))
288+ Assert . assertEquals(" SCOTT:a.b" , effective. get(" SCOTT:a.b.c" ))
289+ Assert . assertEquals(" SCOTT:a.b.c" , effective. get(" SCOTT:a.b.c.JUNIT_UTPLSQL_TEST_PKG" ))
290+ Assert . assertEquals(" SCOTT:a.b.c.JUNIT_UTPLSQL_TEST_PKG" , effective. get(" SCOTT:a.b.c.JUNIT_UTPLSQL_TEST_PKG.mycontext" ))
291+ Assert . assertEquals(" SCOTT:a.b.c.JUNIT_UTPLSQL_TEST_PKG" , effective. get(" SCOTT:a.b.c.JUNIT_UTPLSQL_TEST_PKG.t0" ))
292+ Assert . assertEquals(" SCOTT:a.b.c.JUNIT_UTPLSQL_TEST_PKG" , effective. get(" SCOTT:a.b.c.JUNIT_UTPLSQL_TEST_PKG.t3" ))
293+ Assert . assertEquals(" SCOTT:a.b.c.JUNIT_UTPLSQL_TEST_PKG.mycontext" , effective. get(" SCOTT:a.b.c.JUNIT_UTPLSQL_TEST_PKG.mycontext.t1" ))
294+ Assert . assertEquals(" SCOTT:a.b.c.JUNIT_UTPLSQL_TEST_PKG.mycontext" , effective. get(" SCOTT:a.b.c.JUNIT_UTPLSQL_TEST_PKG.mycontext.t2" ))
295+ }
296+
247297}
0 commit comments