test classpath and loader fixes

This commit is contained in:
Jonathan Shook 2022-07-13 02:14:28 -05:00
parent a2077e8a98
commit 540abeee00
3 changed files with 32 additions and 8 deletions

View File

@ -104,12 +104,14 @@
<artifactId>antlr4-maven-plugin</artifactId> <artifactId>antlr4-maven-plugin</artifactId>
<version>4.10.1</version> <version>4.10.1</version>
<configuration> <configuration>
<sourceDirectory>src/main/java/io/nosqlbench/converters/cql/grammars</sourceDirectory> <sourceDirectory>src/main/java/io/nosqlbench/converters/cql/grammars
</sourceDirectory>
<arguments> <arguments>
<argument>-package</argument> <argument>-package</argument>
<argument>io.nosqlbench.converters.cql.generated</argument> <argument>io.nosqlbench.converters.cql.generated</argument>
</arguments> </arguments>
<outputDirectory>src/main/java/io/nosqlbench/converters/cql/generated</outputDirectory> <outputDirectory>src/main/java/io/nosqlbench/converters/cql/generated
</outputDirectory>
</configuration> </configuration>
<executions> <executions>
<execution> <execution>
@ -128,7 +130,8 @@
<configuration> <configuration>
<filesets> <filesets>
<fileset> <fileset>
<directory>src/main/java/io/nosqlbench/converters/cql/generated</directory> <directory>src/main/java/io/nosqlbench/converters/cql/generated
</directory>
<includes> <includes>
<include>**/*.java</include> <include>**/*.java</include>
<include>**/*.interp</include> <include>**/*.interp</include>
@ -140,5 +143,23 @@
</configuration> </configuration>
</plugin> </plugin>
</plugins> </plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.md</include>
<include>**/*.yaml</include>
<include>**/*.txt</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**</include>
</includes>
</resource>
</resources>
</build> </build>
</project> </project>

View File

@ -22,6 +22,7 @@ import io.nosqlbench.engine.api.activityconfig.yaml.StmtsDocList;
import io.nosqlbench.nb.api.content.Content; import io.nosqlbench.nb.api.content.Content;
import io.nosqlbench.nb.api.content.NBIO; import io.nosqlbench.nb.api.content.NBIO;
import java.io.File;
import java.io.InputStream; import java.io.InputStream;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
@ -44,7 +45,8 @@ public class DefaultCqlBindings implements BindingsLibrary {
private Optional<String> loadLocal(String path) { private Optional<String> loadLocal(String path) {
try { try {
InputStream stream = getClass().getClassLoader().getResourceAsStream(path); String resourceName = getClass().getPackageName().replaceAll("\\.", File.separator)+File.separator+path;
InputStream stream = getClass().getClassLoader().getResourceAsStream(resourceName);
byte[] bytes = stream.readAllBytes(); byte[] bytes = stream.readAllBytes();
return Optional.of(new String(bytes)); return Optional.of(new String(bytes));
} catch (Exception e) { } catch (Exception e) {

View File

@ -23,6 +23,8 @@ import org.junit.jupiter.api.Test;
import java.nio.file.Path; import java.nio.file.Path;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
public class CqlParserHarnessTest { public class CqlParserHarnessTest {
private final static String ksddl = """ private final static String ksddl = """
@ -51,8 +53,7 @@ public class CqlParserHarnessTest {
@Test @Test
public void testGenBasicWorkload() { public void testGenBasicWorkload() {
CqlWorkloadExporter exporter = new CqlWorkloadExporter(ddl); CqlWorkloadExporter exporter = new CqlWorkloadExporter(ddl);
var workloadData = exporter.getWorkloadAsYaml(); assertThatThrownBy(() -> exporter.getWorkloadAsYaml()).isInstanceOf(RuntimeException.class);
System.out.println("# generated workload:\n"+workloadData);
} }
@Test @Test
@ -64,7 +65,7 @@ public class CqlParserHarnessTest {
@Test @Test
public void testCqlParserHarnessKeyspace() { public void testCqlParserHarnessKeyspace() {
CqlModelParser harness = new CqlModelParser(); CqlModelParser harness = new CqlModelParser();
harness.parse(""" CqlModelParser.parse("""
CREATE KEYSPACE cycling CREATE KEYSPACE cycling
WITH REPLICATION = {\s WITH REPLICATION = {\s
'class' : 'SimpleStrategy',\s 'class' : 'SimpleStrategy',\s
@ -77,7 +78,7 @@ public class CqlParserHarnessTest {
@Disabled @Disabled
public void testCqlParserHarnessTable() { public void testCqlParserHarnessTable() {
CqlModelParser harness = new CqlModelParser(); CqlModelParser harness = new CqlModelParser();
harness.parse(""" CqlModelParser.parse("""
CREATE TABLE cycling.race_winners ( CREATE TABLE cycling.race_winners (
race_name text,\s race_name text,\s
race_position int,\s race_position int,\s