@Test
public void routineDefinitions(final TestContext testContext,
final Connection connection)
throws Exception
{
final Config config = loadHsqldbConfig();
final SchemaRetrievalOptions schemaRetrievalOptions = SchemaRetrievalOptionsBuilder
.newSchemaRetrievalOptions(config);
final SchemaCrawlerOptionsBuilder schemaCrawlerOptionsBuilder = SchemaCrawlerOptionsBuilder
.builder().withSchemaInfoLevel(SchemaInfoLevelBuilder.maximum())
.includeAllRoutines();
final SchemaCrawlerOptions schemaCrawlerOptions = schemaCrawlerOptionsBuilder
.toOptions();
final Catalog catalog = getCatalog(connection,
schemaRetrievalOptions,
schemaCrawlerOptions);
final Schema schema = new SchemaReference("PUBLIC", "BOOKS");
final Routine[] routines = catalog.getRoutines(schema)
.toArray(new Routine[0]);
assertThat("Wrong number of routines", routines, arrayWithSize(4));
for (final Routine routine: routines)
{
assertThat("Routine definition not found, for " + routine,
isBlank(routine.getDefinition()),
is(false));
}
}