Skip to content

Commit 1444421

Browse files
committed
start db with test containers
1 parent b538a7c commit 1444421

File tree

3 files changed

+20
-17
lines changed

3 files changed

+20
-17
lines changed

jnosql-tinkerpop/src/test/java/org/eclipse/jnosql/databases/tinkerpop/communication/GraphSupplier.java

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,39 @@
1414
*/
1515
package org.eclipse.jnosql.databases.tinkerpop.communication;
1616

17+
import org.apache.commons.configuration2.BaseConfiguration;
18+
import org.apache.commons.configuration2.Configuration;
1719
import org.apache.tinkerpop.gremlin.structure.Graph;
1820
import org.apache.tinkerpop.gremlin.structure.util.GraphFactory;
21+
import org.testcontainers.containers.GenericContainer;
22+
import org.testcontainers.containers.wait.strategy.Wait;
1923

2024
import java.util.function.Supplier;
2125
import java.util.logging.Logger;
2226

2327
public enum GraphSupplier implements Supplier<Graph> {
2428
INSTANCE;
2529

26-
private static final Logger LOGGER = Logger.getLogger(GraphSupplier.class.getName());
27-
28-
private final Graph graph;
30+
private final GenericContainer<?> arangodb =
31+
new GenericContainer<>("arangodb/arangodb:latest")
32+
.withExposedPorts(8529)
33+
.withEnv("ARANGO_NO_AUTH", "1")
34+
.waitingFor(Wait.forHttp("/")
35+
.forStatusCode(200));
2936

3037
{
31-
graph = GraphFactory.open("src/test/resources/adb.yaml");
38+
arangodb.start();
3239
}
3340

41+
private static final Logger LOGGER = Logger.getLogger(GraphSupplier.class.getName());
42+
3443
@Override
3544
public Graph get() {
3645
LOGGER.info("Starting Graph database");
37-
return graph;
46+
Configuration configuration = new BaseConfiguration();
47+
configuration.addProperty("gremlin.graph", "com.arangodb.tinkerpop.gremlin.structure.ArangoDBGraph");
48+
configuration.addProperty("gremlin.arangodb.conf.graph.enableDataDefinition", true);
49+
configuration.addProperty("gremlin.arangodb.conf.driver.hosts", arangodb.getHost() + ":" + arangodb.getFirstMappedPort());
50+
return GraphFactory.open(configuration);
3851
}
3952
}

jnosql-tinkerpop/src/test/java/org/eclipse/jnosql/databases/tinkerpop/mapping/GraphProducer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import jakarta.interceptor.Interceptor;
2424
import org.apache.tinkerpop.gremlin.structure.Graph;
2525
import org.apache.tinkerpop.gremlin.structure.Vertex;
26-
import org.apache.tinkerpop.gremlin.structure.util.GraphFactory;
26+
import org.eclipse.jnosql.databases.tinkerpop.communication.GraphSupplier;
2727
import org.eclipse.jnosql.mapping.Database;
2828
import org.eclipse.jnosql.mapping.DatabaseType;
2929
import org.mockito.Mockito;
@@ -47,7 +47,7 @@ public class GraphProducer implements Supplier<Graph> {
4747

4848
@PostConstruct
4949
public void init() {
50-
graph = GraphFactory.open("src/test/resources/adb.yaml");
50+
graph = GraphSupplier.INSTANCE.get();
5151
LOGGER.info("Graph database created");
5252
}
5353

jnosql-tinkerpop/src/test/resources/adb.yaml

Lines changed: 0 additions & 10 deletions
This file was deleted.

0 commit comments

Comments
 (0)