package org.onap.aai.serialization.queryformats;
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
import com.google.gson.JsonObject;
+
import java.util.Optional;
+
import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.onap.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
import org.onap.aai.serialization.queryformats.utils.UrlBuilder;
import org.onap.aai.setup.SchemaVersion;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.annotation.DirtiesContext.ClassMode;
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
+@DirtiesContext(classMode=ClassMode.BEFORE_CLASS)
public class ResourceWithSoTTest extends AAISetup {
@Mock
private UrlBuilder urlBuilder;
public void setUp() throws Exception {
version = schemaVersions.getDefaultVersion();
- MockitoAnnotations.initMocks(this);
+ MockitoAnnotations.openMocks(this);
graph = TinkerGraph.open();
long currentTimeMs = System.currentTimeMillis();
- String timeNowInMs = Long.toString(currentTimeMs);
+ final String timeNowInMs = Long.toString(currentTimeMs);
// PUT / CREATE
jsonPutObj.addProperty("aai-created-ts", timeNowInMs);
createLoaderEngineSetup();
}
+ public void createLoaderEngineSetup() throws AAIException {
+
+ loader = loaderFactory.createLoaderForVersion(factoryType, version);
+
+ dbEngine = spy(new JanusGraphDBEngine(QueryStyle.TRAVERSAL, loader));
+ serializer = new DBSerializer(version, dbEngine, factoryType, "Junit");
+ resourceWithSoT = new ResourceWithSoT.Builder(loader, serializer, urlBuilder).build();
+
+ TransactionalGraphEngine.Admin spyAdmin = spy(dbEngine.asAdmin());
+
+ when(dbEngine.tx()).thenReturn(graph);
+ when(dbEngine.asAdmin()).thenReturn(spyAdmin);
+
+ when(spyAdmin.getReadOnlyTraversalSource())
+ .thenReturn(graph.traversal().withStrategies(ReadOnlyStrategy.instance()));
+ when(spyAdmin.getTraversalSource()).thenReturn(graph.traversal());
+ }
+
// This test is to simulate a PUT request
@Test
public void testGetJsonFromVertexWithCreateVertex() throws AAIFormatVertexException, AAIException {
- if (putVertex == null) fail("The vertex used for this test is null. Fail immediately.");
+ if (putVertex == null)
+ fail("The vertex used for this test is null. Fail immediately.");
JsonObject json = resourceWithSoT.getJsonFromVertex(putVertex).get();
assertEquals(jsonPutObj, json);
// This test is to simulate PATCH requests
@Test
public void testGetJsonFromVertexWithModifyVertex() throws AAIFormatVertexException, AAIException {
- if (patchVertex1 == null) fail("The vertex 1 used for this test is null. Fail immediately.");
- if (patchVertex2 == null) fail("The vertex 2 used for this test is null. Fail immediately.");
+ if (patchVertex1 == null)
+ fail("The vertex 1 used for this test is null. Fail immediately.");
+ if (patchVertex2 == null)
+ fail("The vertex 2 used for this test is null. Fail immediately.");
// Differing Source of Truths will indicate that the action performed modified the vertex
JsonObject json1 = resourceWithSoT.getJsonFromVertex(patchVertex1).get();
Optional<JsonObject> result = resourceWithSoT.getJsonFromVertex(null);
assertFalse(result.isPresent());
}
-
- public void createLoaderEngineSetup() throws AAIException {
-
- if (loader == null) {
- loader = loaderFactory.createLoaderForVersion(factoryType, version);
- // loader = LoaderFactory.createLoaderForVersion(factoryType, version);
- dbEngine = spy(new JanusGraphDBEngine(QueryStyle.TRAVERSAL, loader));
- serializer = new DBSerializer(version, dbEngine, factoryType, "Junit");
- resourceWithSoT = new ResourceWithSoT.Builder(loader, serializer, urlBuilder).build();
-
- TransactionalGraphEngine.Admin spyAdmin = spy(dbEngine.asAdmin());
-
- when(dbEngine.tx()).thenReturn(graph);
- when(dbEngine.asAdmin()).thenReturn(spyAdmin);
-
- when(spyAdmin.getReadOnlyTraversalSource())
- .thenReturn(graph.traversal().withStrategies(ReadOnlyStrategy.instance()));
- when(spyAdmin.getTraversalSource()).thenReturn(graph.traversal());
- }
- }
}