aboutsummaryrefslogtreecommitdiffstats
path: root/aai-resources/src/test/java/org/onap
diff options
context:
space:
mode:
Diffstat (limited to 'aai-resources/src/test/java/org/onap')
-rw-r--r--aai-resources/src/test/java/org/onap/aai/AAISetup.java17
-rw-r--r--aai-resources/src/test/java/org/onap/aai/interceptors/PostAaiAjscInterceptorTest.java20
-rw-r--r--aai-resources/src/test/java/org/onap/aai/interceptors/PreAaiAjscInterceptorTest.java3
-rw-r--r--aai-resources/src/test/java/org/onap/aai/migration/v12/ContainmentDeleteOtherVPropertyMigrationTest.java113
-rw-r--r--aai-resources/src/test/java/org/onap/aai/migration/v12/MigrateDataFromASDCToConfigurationTest.java173
-rw-r--r--aai-resources/src/test/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfigurationTest.java391
-rw-r--r--aai-resources/src/test/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfigurationTestPreMigrationMock.java285
-rw-r--r--aai-resources/src/test/java/org/onap/aai/migration/v12/ToscaMigrationTest.java182
-rw-r--r--aai-resources/src/test/java/org/onap/aai/rest/BulkProcessConsumerTest.java9
-rw-r--r--aai-resources/src/test/java/org/onap/aai/rest/BulkProcessorTestAbstraction.java6
-rw-r--r--aai-resources/src/test/java/org/onap/aai/rest/LegacyMoxyConsumerTest.java166
-rw-r--r--aai-resources/src/test/java/org/onap/aai/rest/URLFromVertexIdConsumerTest.java15
-rw-r--r--aai-resources/src/test/java/org/onap/aai/rest/VertexIdConsumerTest.java13
-rw-r--r--aai-resources/src/test/java/org/onap/aai/rest/retired/RetiredConsumerTest.java3
-rw-r--r--aai-resources/src/test/java/org/onap/aai/rest/util/LogFormatToolsTest.java36
-rw-r--r--aai-resources/src/test/java/org/onap/aai/serialization/db/DBSerializerMaxRetryTest.java83
-rw-r--r--aai-resources/src/test/java/org/onap/aai/serialization/queryformats/ResourceFormatSpec.java60
-rw-r--r--aai-resources/src/test/java/org/onap/aai/serialization/queryformats/ResourceFormatTest.java78
-rw-r--r--aai-resources/src/test/java/org/onap/aai/util/JettyObfuscationConversionCommandLineUtilTest.java7
19 files changed, 1547 insertions, 113 deletions
diff --git a/aai-resources/src/test/java/org/onap/aai/AAISetup.java b/aai-resources/src/test/java/org/onap/aai/AAISetup.java
index 65048eb..05864fd 100644
--- a/aai-resources/src/test/java/org/onap/aai/AAISetup.java
+++ b/aai-resources/src/test/java/org/onap/aai/AAISetup.java
@@ -21,26 +21,23 @@
*/
package org.onap.aai;
-import org.apache.commons.io.IOUtils;
-import org.junit.BeforeClass;
-import org.onap.aai.dbmap.AAIGraph;
-import org.onap.aai.introspection.ModelInjestor;
-import org.onap.aai.serialization.queryformats.QueryFormatTestHelper;
-import org.onap.aai.util.AAIConstants;
+import static org.junit.Assert.assertNotNull;
import java.io.IOException;
import java.io.InputStream;
-import static org.junit.Assert.assertNotNull;
+import org.apache.commons.io.IOUtils;
+import org.junit.BeforeClass;
+import org.onap.aai.serialization.queryformats.QueryFormatTestHelper;
+import org.onap.aai.util.AAIConstants;
public abstract class AAISetup {
@BeforeClass
public static void setupBundleconfig() throws Exception {
System.setProperty("AJSC_HOME", ".");
- System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
- QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"),
- "src/test/resources/bundleconfig-local/etc/oxm/");
+ System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+ QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "bundleconfig-local/etc/oxm/");
}
public String getPayload(String filename) throws IOException {
diff --git a/aai-resources/src/test/java/org/onap/aai/interceptors/PostAaiAjscInterceptorTest.java b/aai-resources/src/test/java/org/onap/aai/interceptors/PostAaiAjscInterceptorTest.java
index 2db19a4..a1e0259 100644
--- a/aai-resources/src/test/java/org/onap/aai/interceptors/PostAaiAjscInterceptorTest.java
+++ b/aai-resources/src/test/java/org/onap/aai/interceptors/PostAaiAjscInterceptorTest.java
@@ -24,15 +24,15 @@ package org.onap.aai.interceptors;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
-import org.onap.aai.AAISetup;
import org.onap.aai.logging.LoggingContext;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
-public class PostAaiAjscInterceptorTest extends AAISetup {
+public class PostAaiAjscInterceptorTest {
private PostAaiAjscInterceptor postAaiAjscInterceptor;
@@ -51,11 +51,12 @@ public class PostAaiAjscInterceptorTest extends AAISetup {
public void testAllowOrRejectIfSuccess() throws Exception {
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
-
- LoggingContext.put(LoggingContext.LoggingField.RESPONSE_CODE.toString(), "SUCCESS");
+ HttpServletResponse resp = Mockito.mock(HttpServletResponse.class);
+ resp.setStatus(HttpServletResponse.SC_OK);
+ LoggingContext.put(LoggingContext.LoggingField.RESPONSE_CODE.toString(), "0");
Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("/fadsjoifj"));
- boolean success = postAaiAjscInterceptor.allowOrReject(request, null, null);
+ boolean success = postAaiAjscInterceptor.allowOrReject(request, resp, null);
assertTrue("Expecting the post interceptor to return success regardless", success);
}
@@ -64,12 +65,13 @@ public class PostAaiAjscInterceptorTest extends AAISetup {
public void testAllowOrRejectIfFailure() throws Exception {
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
-
- LoggingContext.put(LoggingContext.LoggingField.RESPONSE_CODE.toString(), "ERR.");
+ HttpServletResponse resp = Mockito.mock(HttpServletResponse.class);
+ resp.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ LoggingContext.put(LoggingContext.LoggingField.RESPONSE_CODE.toString(), "400");
Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("/fadsjoifj"));
- boolean success = postAaiAjscInterceptor.allowOrReject(request, null, null);
+ boolean success = postAaiAjscInterceptor.allowOrReject(request, resp, null);
assertTrue("Expecting the post interceptor to return success regardless", success);
}
-} \ No newline at end of file
+}
diff --git a/aai-resources/src/test/java/org/onap/aai/interceptors/PreAaiAjscInterceptorTest.java b/aai-resources/src/test/java/org/onap/aai/interceptors/PreAaiAjscInterceptorTest.java
index b66e65c..35651c3 100644
--- a/aai-resources/src/test/java/org/onap/aai/interceptors/PreAaiAjscInterceptorTest.java
+++ b/aai-resources/src/test/java/org/onap/aai/interceptors/PreAaiAjscInterceptorTest.java
@@ -24,7 +24,6 @@ package org.onap.aai.interceptors;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
-import org.onap.aai.AAISetup;
import javax.servlet.http.HttpServletRequest;
@@ -32,7 +31,7 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.anyString;
-public class PreAaiAjscInterceptorTest extends AAISetup {
+public class PreAaiAjscInterceptorTest {
private PreAaiAjscInterceptor preAaiAjscInterceptor;
diff --git a/aai-resources/src/test/java/org/onap/aai/migration/v12/ContainmentDeleteOtherVPropertyMigrationTest.java b/aai-resources/src/test/java/org/onap/aai/migration/v12/ContainmentDeleteOtherVPropertyMigrationTest.java
new file mode 100644
index 0000000..148dee3
--- /dev/null
+++ b/aai-resources/src/test/java/org/onap/aai/migration/v12/ContainmentDeleteOtherVPropertyMigrationTest.java
@@ -0,0 +1,113 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.aai.migration.v12;
+
+import com.thinkaurelius.titan.core.TitanFactory;
+import com.thinkaurelius.titan.core.TitanGraph;
+import com.thinkaurelius.titan.core.schema.TitanManagement;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.structure.Edge;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.onap.aai.AAISetup;
+import org.onap.aai.dbmap.DBConnectionType;
+import org.onap.aai.introspection.Loader;
+import org.onap.aai.introspection.LoaderFactory;
+import org.onap.aai.introspection.ModelType;
+import org.onap.aai.introspection.Version;
+import org.onap.aai.serialization.db.AAIDirection;
+import org.onap.aai.serialization.db.EdgeProperty;
+import org.onap.aai.serialization.engines.QueryStyle;
+import org.onap.aai.serialization.engines.TitanDBEngine;
+import org.onap.aai.serialization.engines.TransactionalGraphEngine;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+public class ContainmentDeleteOtherVPropertyMigrationTest extends AAISetup {
+
+ private final static Version version = Version.v12;
+ private final static ModelType introspectorFactoryType = ModelType.MOXY;
+ private final static QueryStyle queryStyle = QueryStyle.TRAVERSAL;
+ private final static DBConnectionType type = DBConnectionType.REALTIME;
+ private Loader loader;
+ private TransactionalGraphEngine dbEngine;
+ private TitanGraph graph;
+ private ContainmentDeleteOtherVPropertyMigration migration;
+ private GraphTraversalSource g;
+ private Graph tx;
+
+ @Before
+ public void setUp() throws Exception {
+ graph = TitanFactory.build().set("storage.backend","inmemory").open();
+ TitanManagement titanManagement = graph.openManagement();
+ tx = graph.newTransaction();
+ g = tx.traversal();
+ loader = LoaderFactory.createLoaderForVersion(introspectorFactoryType, version);
+ dbEngine = new TitanDBEngine(
+ queryStyle,
+ type,
+ loader);
+ Vertex v = g.addV().property("aai-node-type", "generic-vnf")
+ .property("vnf-id", "delcontains-test-vnf")
+ .next();
+ Vertex v2 = g.addV().property("aai-node-type", "l-interface")
+ .property("interface-name", "delcontains-test-lint")
+ .next();
+ Edge e = v.addEdge("hasLInterface", v2, EdgeProperty.CONTAINS.toString(), AAIDirection.OUT.toString(),
+ EdgeProperty.DELETE_OTHER_V.toString(), AAIDirection.NONE.toString());
+
+ Vertex v3 = g.addV().property("aai-node-type", "allotted-resource").next();
+
+ Edge e2 = v2.addEdge("uses", v3, EdgeProperty.CONTAINS.toString(), AAIDirection.NONE.toString(),
+ EdgeProperty.DELETE_OTHER_V.toString(), AAIDirection.NONE.toString());
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ GraphTraversalSource traversal = g;
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ Mockito.doReturn(titanManagement).when(adminSpy).getManagementSystem();
+ migration = new ContainmentDeleteOtherVPropertyMigration(spy, "/edgeMigrationTestRules.json");
+ migration.run();
+ }
+
+ @After
+ public void cleanUp() {
+ tx.tx().rollback();
+ graph.close();
+ }
+
+ @Test
+ public void run() {
+ assertEquals("del other now OUT", true,
+ g.E().hasLabel("hasLInterface").has(EdgeProperty.DELETE_OTHER_V.toString(), AAIDirection.OUT.toString()).hasNext());
+ assertEquals("contains val still same", true,
+ g.E().hasLabel("hasLInterface").has(EdgeProperty.CONTAINS.toString(), AAIDirection.OUT.toString()).hasNext());
+ assertEquals("non-containment unchanged", true,
+ g.E().hasLabel("uses").has(EdgeProperty.DELETE_OTHER_V.toString(), AAIDirection.NONE.toString()).hasNext());
+ }
+
+}
diff --git a/aai-resources/src/test/java/org/onap/aai/migration/v12/MigrateDataFromASDCToConfigurationTest.java b/aai-resources/src/test/java/org/onap/aai/migration/v12/MigrateDataFromASDCToConfigurationTest.java
new file mode 100644
index 0000000..241cc4d
--- /dev/null
+++ b/aai-resources/src/test/java/org/onap/aai/migration/v12/MigrateDataFromASDCToConfigurationTest.java
@@ -0,0 +1,173 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.aai.migration.v12;
+
+import com.thinkaurelius.titan.core.TitanFactory;
+import com.thinkaurelius.titan.core.TitanGraph;
+import com.thinkaurelius.titan.core.TitanTransaction;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.aai.AAISetup;
+import org.onap.aai.dbmap.DBConnectionType;
+import org.onap.aai.introspection.Loader;
+import org.onap.aai.introspection.LoaderFactory;
+import org.onap.aai.introspection.ModelType;
+import org.onap.aai.introspection.Version;
+import org.onap.aai.serialization.db.EdgeRules;
+import org.onap.aai.serialization.engines.QueryStyle;
+import org.onap.aai.serialization.engines.TitanDBEngine;
+import org.onap.aai.serialization.engines.TransactionalGraphEngine;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+public class MigrateDataFromASDCToConfigurationTest extends AAISetup {
+
+ private final static Version version = Version.v12;
+ private final static ModelType introspectorFactoryType = ModelType.MOXY;
+ private final static QueryStyle queryStyle = QueryStyle.TRAVERSAL;
+ private final static DBConnectionType type = DBConnectionType.REALTIME;
+ private Loader loader;
+ private TransactionalGraphEngine dbEngine;
+ private TitanGraph graph;
+ private MigrateDataFromASDCToConfiguration migration;
+ private EdgeRules rules;
+ private GraphTraversalSource g;
+ private TitanTransaction tx;
+ Vertex configuration;
+ Vertex configuration2;
+ Vertex configuration3;
+ Vertex configuration4;
+
+ private boolean success = true;
+ private String entitlementPoolUuid = "";
+ private final String PARENT_NODE_TYPE = "generic-vnf";
+ private String VNT = "";
+
+ @Before
+ public void setUp() throws Exception {
+ graph = TitanFactory.build().set("storage.backend","inmemory").open();
+ tx = graph.newTransaction();
+ g = tx.traversal();
+ loader = LoaderFactory.createLoaderForVersion(introspectorFactoryType, version);
+ dbEngine = new TitanDBEngine(
+ queryStyle,
+ type,
+ loader);
+ rules = EdgeRules.getInstance();
+ Vertex genericvnf1 = g.addV().property("aai-node-type", "generic-vnf")
+ .property("vnf-id", "vnfId1")
+ .property("vnf-type","vHNF")
+ .next();
+
+ Vertex genericvnf2 = g.addV().property("aai-node-type", "generic-vnf")
+ .property("vnf-id", "vnfId2")
+ .property("vnf-type","vHNF")
+ .next();
+
+ Vertex entitlement1 = g.addV().property("aai-node-type", "entitlement")
+ .property("group-uuid", "some-uuid")
+ .next();
+
+ Vertex serviceInstance1 = g.addV().property("aai-node-type", "service-instance")
+ .property("service-instance-id", "servinstanceTestId1")
+ .next();
+
+ configuration = g.addV().property("aai-node-type", "configuration")
+ .property("configuration-id", "configurationIdGraph")
+ .property("vendor-allowed-max-bandwidth", "20")
+ .next();
+ configuration3 = g.addV().property("aai-node-type", "configuration")
+ .property("configuration-id", "configurationIdGraph3")
+ .property("vendor-allowed-max-bandwidth", "15")
+ .next();
+ configuration2 = g.addV().property("aai-node-type", "configuration")
+ .property("configuration-id", "configurationIdGraph2")
+ .property("vendor-allowed-max-bandwidth", "25")
+ .next();
+ configuration4 = g.addV().property("aai-node-type", "configuration")
+ .property("configuration-id", "configurationIdGraph4")
+ .property("vendor-allowed-max-bandwidth", "50")
+ .next();
+
+ rules.addTreeEdge(g, genericvnf1, entitlement1);
+ rules.addEdge(g, genericvnf1, serviceInstance1);
+ rules.addEdge(g, serviceInstance1, configuration);
+ rules.addEdge(g, serviceInstance1, configuration3);
+
+
+ rules.addEdge(g, genericvnf2, configuration2);
+
+
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ GraphTraversalSource traversal = g;
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ migration = new MigrateDataFromASDCToConfiguration(spy);
+ migration.run();
+ }
+
+
+ @After
+ public void cleanUp() {
+ tx.rollback();
+ graph.close();
+ }
+
+
+ /***
+ * checks if the VNt value was updated and if theres a second configuration object it is also to be modified
+ */
+
+ @Test
+ public void confirmVNtValueChanged() {
+
+ assertEquals("1000",configuration.property("vendor-allowed-max-bandwidth").value());
+ assertEquals("1000",configuration3.property("vendor-allowed-max-bandwidth").value());
+
+ }
+
+ /***
+ * checks to see if the entitlement object is missing the configuration objects should not be modified at all
+ */
+ @Test
+ public void missingEntitlementObject() {
+ assertEquals("25",configuration2.property("vendor-allowed-max-bandwidth").value());
+ }
+ /***
+ * checks to see if there's a configuration object not connected to anything it should not be modified at all
+ */
+
+ @Test
+ public void confirmConfiguration4notchanged() {
+ assertEquals("50",configuration4.property("vendor-allowed-max-bandwidth").value());
+ }
+
+
+
+
+}
diff --git a/aai-resources/src/test/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfigurationTest.java b/aai-resources/src/test/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfigurationTest.java
new file mode 100644
index 0000000..6e153ea
--- /dev/null
+++ b/aai-resources/src/test/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfigurationTest.java
@@ -0,0 +1,391 @@
+package org.onap.aai.migration.v12;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import java.util.Optional;
+
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.onap.aai.AAISetup;
+import org.onap.aai.dbmap.DBConnectionType;
+import org.onap.aai.introspection.Loader;
+import org.onap.aai.introspection.LoaderFactory;
+import org.onap.aai.introspection.ModelType;
+import org.onap.aai.introspection.Version;
+import org.onap.aai.serialization.db.EdgeRules;
+import org.onap.aai.serialization.engines.QueryStyle;
+import org.onap.aai.serialization.engines.TitanDBEngine;
+import org.onap.aai.serialization.engines.TransactionalGraphEngine;
+
+import com.thinkaurelius.titan.core.TitanFactory;
+import com.thinkaurelius.titan.core.TitanGraph;
+import com.thinkaurelius.titan.core.TitanTransaction;
+
+public class MigrateServiceInstanceToConfigurationTest extends AAISetup {
+
+ private final static Version version = Version.v12;
+ private final static ModelType introspectorFactoryType = ModelType.MOXY;
+ private final static QueryStyle queryStyle = QueryStyle.TRAVERSAL;
+ private final static DBConnectionType type = DBConnectionType.REALTIME;
+
+ private static Loader loader;
+ private static TransactionalGraphEngine dbEngine;
+ private static TitanGraph graph;
+ private static MigrateServiceInstanceToConfiguration migration;
+ private static TitanTransaction tx;
+ private static GraphTraversalSource g;
+ private static EdgeRules rules;
+
+ @BeforeClass
+ public static void setUp() throws Exception {
+ graph = TitanFactory.build().set("storage.backend","inmemory").open();
+ tx = graph.newTransaction();
+ g = tx.traversal();
+ loader = LoaderFactory.createLoaderForVersion(introspectorFactoryType, version);
+ dbEngine = new TitanDBEngine(
+ queryStyle,
+ type,
+ loader);
+ rules = EdgeRules.getInstance();
+
+ Vertex customer1 = g.addV()
+ .property("aai-node-type", "customer")
+ .property("global-customer-id", "customer-id-1")
+ .property("subscriber-type", "CUST")
+ .next();
+
+ Vertex customer2 = g.addV()
+ .property("aai-node-type", "customer")
+ .property("global-customer-id", "customer-id-2")
+ .property("subscriber-type", "CUST")
+ .next();
+
+ Vertex customer3 = g.addV()
+ .property("aai-node-type", "customer")
+ .property("global-customer-id", "customer-id-3")
+ .property("subscriber-type", "CUST")
+ .next();
+
+ Vertex customer4 = g.addV()
+ .property("aai-node-type", "customer")
+ .property("global-customer-id", "customer-id-4")
+ .property("subscriber-type", "CUST")
+ .next();
+
+ Vertex servSub1 = g.addV()
+ .property("aai-node-type", "service-subscription")
+ .property("service-type", "DHV")
+ .next();
+
+ Vertex servSub2 = g.addV()
+ .property("aai-node-type", "service-subscription")
+ .property("service-type", "OTHER")
+ .next();
+
+ Vertex servSub3 = g.addV()
+ .property("aai-node-type", "service-subscription")
+ .property("service-type", "DHV")
+ .next();
+
+ Vertex servSub4 = g.addV()
+ .property("aai-node-type", "service-subscription")
+ .property("service-type", "DHV")
+ .next();
+
+ Vertex servSub5 = g.addV()
+ .property("aai-node-type", "service-subscription")
+ .property("service-type", "DHV")
+ .next();
+
+ Vertex servInstance1 = g.addV()
+ .property("aai-node-type", "service-instance")
+ .property("service-instance-id", "service-inst-1")
+ .property("operational-status", "activated")
+ .property("bandwidth-total", "5")
+ .next();
+
+ Vertex servInstance2 = g.addV()
+ .property("aai-node-type", "service-instance")
+ .property("service-instance-id", "service-inst-2")
+ .property("operational-status", "activated")
+ .property("bandwidth-total", "8")
+ .next();
+
+ Vertex servInstance3 = g.addV()
+ .property("aai-node-type", "service-instance")
+ .property("service-instance-id", "service-inst-3")
+ .property("operational-status", "activated")
+ .property("bandwidth-total", "10")
+ .next();
+
+ Vertex servInstance4 = g.addV()
+ .property("aai-node-type", "service-instance")
+ .property("service-instance-id", "service-inst-4")
+ .property("operational-status", "activated")
+ .property("bandwidth-total", "15")
+ .next();
+
+ Vertex config1 = g.addV()
+ .property("aai-node-type", "configuration")
+ .property("configuration-id", "configuration-1")
+ .property("configuration-type", "DHV")
+ .property("tunnel-bandwidth", "7")
+ .next();
+
+ Vertex config2 = g.addV()
+ .property("aai-node-type", "configuration")
+ .property("configuration-id", "configuration-2")
+ .property("configuration-type", "OTHER")
+ .property("tunnel-bandwidth", "3")
+ .next();
+
+ Vertex config3 = g.addV()
+ .property("aai-node-type", "configuration")
+ .property("configuration-id", "configuration-3")
+ .property("configuration-type", "OTHER")
+ .property("tunnel-bandwidth", "2")
+ .next();
+
+ Vertex config4 = g.addV()
+ .property("aai-node-type", "configuration")
+ .property("configuration-id", "configuration-4")
+ .property("configuration-type", "OTHER")
+ .property("tunnel-bandwidth", "4")
+ .next();
+
+ // graph 1
+ rules.addTreeEdge(g, customer1, servSub1);
+ rules.addTreeEdge(g, customer1, servSub2);
+ rules.addTreeEdge(g, servSub1, servInstance1);
+ rules.addTreeEdge(g, servSub2, servInstance2);
+
+ // graph 2
+ rules.addTreeEdge(g, customer2, servSub3);
+
+ // graph 3
+ rules.addTreeEdge(g, customer3, servSub4);
+ rules.addTreeEdge(g, servSub4, servInstance3);
+ rules.addEdge(g, servInstance3, config1);
+ rules.addEdge(g, servInstance3, config2);
+
+ // graph 4
+ rules.addTreeEdge(g, customer4, servSub5);
+ rules.addTreeEdge(g, servSub5, servInstance4);
+ rules.addEdge(g, servInstance4, config3);
+ rules.addEdge(g, servInstance4, config4);
+
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+
+ GraphTraversalSource traversal = g;
+ GraphTraversalSource readOnly = tx.traversal(GraphTraversalSource.build().with(ReadOnlyStrategy.instance()));
+ when (spy.tx()).thenReturn(tx);
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ when(adminSpy.getReadOnlyTraversalSource()).thenReturn(readOnly);
+
+ migration = new MigrateServiceInstanceToConfiguration(spy);
+ migration.run();
+ }
+
+ @AfterClass
+ public static void cleanUp() {
+ tx.tx().rollback();
+ graph.close();
+ }
+
+ @Test
+ public void testRun_createConfigNode() throws Exception {
+ // check if graph nodes exist
+ assertEquals("customer node exists", true,
+ g.V().has("global-customer-id", "customer-id-1")
+ .hasNext());
+
+ assertEquals("service subscription node, service-type=DHV", true,
+ g.V().has("global-customer-id", "customer-id-1")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .hasNext());
+
+ assertEquals("service instance node, bandwidth-total=5", true,
+ g.V().has("global-customer-id", "customer-id-1")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-1").has("bandwidth-total", "5")
+ .hasNext());
+
+ // check if configuration node gets created
+ assertEquals("configuration node exists", true,
+ g.V().has("global-customer-id", "customer-id-1")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-1")
+ .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration")
+ .hasNext());
+
+ // check configuration type
+ assertEquals("configuration node, configuration-type=DHV", true,
+ g.V().has("global-customer-id", "customer-id-1")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-1")
+ .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration").has("configuration-type", "DHV")
+ .hasNext());
+
+ // check configuration tunnel-bandwidth
+ assertEquals("configuration node, tunnel-bandwidth=5", true,
+ g.V().has("global-customer-id", "customer-id-1")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-1")
+ .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration").has("tunnel-bandwidth", "5")
+ .hasNext());
+ }
+
+ @Test
+ public void testRun_configNodeNotCreated() throws Exception {
+ // check if graph nodes exist
+ assertEquals("customer node exists", true,
+ g.V().has("global-customer-id", "customer-id-1")
+ .hasNext());
+
+ assertEquals("service subscription node, service-type=OTHER", true,
+ g.V().has("global-customer-id", "customer-id-1")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "OTHER")
+ .hasNext());
+
+ assertEquals("service instance node, bandwidth-total=8", true,
+ g.V().has("global-customer-id", "customer-id-1")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "OTHER")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-2").has("bandwidth-total", "8")
+ .hasNext());
+
+ // configuration node should not be created
+ assertEquals("configuration node does not exist", false,
+ g.V().has("global-customer-id", "customer-id-1")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "OTHER")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-2")
+ .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration")
+ .hasNext());
+
+ // edge between service instance and configuration should not be created
+ assertEquals("configuration node does not exist", false,
+ g.V().has("global-customer-id", "customer-id-1")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "OTHER")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-2")
+ .out("org.onap.relationships.inventory.Uses").hasNext());
+ }
+
+ @Test
+ public void testRun_noServiceInstance() throws Exception {
+ // check if graph nodes exist
+ assertEquals("customer node exists", true,
+ g.V().has("global-customer-id", "customer-id-2")
+ .hasNext());
+
+ assertEquals("service subscription node, service-type=DHV", true,
+ g.V().has("global-customer-id", "customer-id-2")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .hasNext());
+
+ // no service instance nodes
+ assertEquals("no service instance nodes", false,
+ g.V().has("global-customer-id", "customer-id-2")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("aai-node-type", "service-instance")
+ .hasNext());
+ }
+
+ @Test
+ public void testRun_existingConfig() throws Exception {
+ // check if graph nodes exist
+ assertEquals("customer node exists", true,
+ g.V().has("global-customer-id", "customer-id-3")
+ .hasNext());
+
+ assertEquals("service subscription node, service-type=DHV", true,
+ g.V().has("global-customer-id", "customer-id-3")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .hasNext());
+
+ assertEquals("service instance node, bandwidth-total=10", true,
+ g.V().has("global-customer-id", "customer-id-3")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-3").has("bandwidth-total", "10")
+ .hasNext());
+
+ assertEquals("configuration node with type DHV, tunnel-bandwidth changed to 10", true,
+ g.V().has("global-customer-id", "customer-id-3")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-3")
+ .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration").has("tunnel-bandwidth", "10")
+ .hasNext());
+
+ assertEquals("configuration node with type OTHER, tunnel-bandwidth remains same", true,
+ g.V().has("global-customer-id", "customer-id-3")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-3")
+ .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration").has("tunnel-bandwidth", "3")
+ .hasNext());
+ }
+
+ @Test
+ public void testRun_existingConfigNotDHV() throws Exception {
+ // check if graph nodes exist
+ assertEquals("customer node exists", true,
+ g.V().has("global-customer-id", "customer-id-4")
+ .hasNext());
+
+ assertEquals("service subscription node, service-type=DHV", true,
+ g.V().has("global-customer-id", "customer-id-4")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .hasNext());
+
+ assertEquals("service instance node, bandwidth-total=15", true,
+ g.V().has("global-customer-id", "customer-id-4")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-4").has("bandwidth-total", "15")
+ .hasNext());
+
+ assertEquals("first configuration node with type OTHER, tunnel-bandwidth remains same", true,
+ g.V().has("global-customer-id", "customer-id-4")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-4")
+ .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration").has("tunnel-bandwidth", "2")
+ .hasNext());
+
+ assertEquals("second configuration node with type OTHER, tunnel-bandwidth remains same", true,
+ g.V().has("global-customer-id", "customer-id-4")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-4")
+ .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration").has("tunnel-bandwidth", "4")
+ .hasNext());
+
+ assertEquals("new configuration node created with type DHV, tunnel-bandwidth=15", true,
+ g.V().has("global-customer-id", "customer-id-4")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-4")
+ .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration").has("tunnel-bandwidth", "15")
+ .hasNext());
+ }
+
+ @Test
+ public void testGetAffectedNodeTypes() {
+ Optional<String[]> types = migration.getAffectedNodeTypes();
+ Optional<String[]> expected = Optional.of(new String[]{"service-instance"});
+
+ assertNotNull(types);
+ assertArrayEquals(expected.get(), types.get());
+ }
+
+ @Test
+ public void testGetMigrationName() {
+ String migrationName = migration.getMigrationName();
+
+ assertNotNull(migrationName);
+ assertEquals("service-instance-to-configuration", migrationName);
+ }
+}
diff --git a/aai-resources/src/test/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfigurationTestPreMigrationMock.java b/aai-resources/src/test/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfigurationTestPreMigrationMock.java
new file mode 100644
index 0000000..c147813
--- /dev/null
+++ b/aai-resources/src/test/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfigurationTestPreMigrationMock.java
@@ -0,0 +1,285 @@
+package org.onap.aai.migration.v12;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import java.util.Optional;
+
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.onap.aai.AAISetup;
+import org.onap.aai.dbmap.DBConnectionType;
+import org.onap.aai.introspection.Loader;
+import org.onap.aai.introspection.LoaderFactory;
+import org.onap.aai.introspection.ModelType;
+import org.onap.aai.introspection.Version;
+import org.onap.aai.serialization.db.EdgeRules;
+import org.onap.aai.serialization.engines.QueryStyle;
+import org.onap.aai.serialization.engines.TitanDBEngine;
+import org.onap.aai.serialization.engines.TransactionalGraphEngine;
+
+import com.thinkaurelius.titan.core.TitanFactory;
+import com.thinkaurelius.titan.core.TitanGraph;
+import com.thinkaurelius.titan.core.TitanTransaction;
+
+public class MigrateServiceInstanceToConfigurationTestPreMigrationMock extends AAISetup {
+
+ private final static Version version = Version.v12;
+ private final static ModelType introspectorFactoryType = ModelType.MOXY;
+ private final static QueryStyle queryStyle = QueryStyle.TRAVERSAL;
+ private final static DBConnectionType type = DBConnectionType.REALTIME;
+
+ private static Loader loader;
+ private static TransactionalGraphEngine dbEngine;
+ private static TitanGraph graph;
+ private static MigrateServiceInstanceToConfiguration migration;
+ private static TitanTransaction tx;
+ private static GraphTraversalSource g;
+ private static EdgeRules rules;
+
+ @BeforeClass
+ public static void setUp() throws Exception {
+ graph = TitanFactory.build().set("storage.backend","inmemory").open();
+ tx = graph.newTransaction();
+ g = tx.traversal();
+ loader = LoaderFactory.createLoaderForVersion(introspectorFactoryType, version);
+ dbEngine = new TitanDBEngine(
+ queryStyle,
+ type,
+ loader);
+ rules = EdgeRules.getInstance();
+
+ Vertex customer = g.addV()
+ .property("aai-node-type", "customer")
+ .property("global-customer-id", "customer-9972-BandwidthMigration")
+ .property("subscriber-type", "CUST")
+ .next();
+
+ Vertex servSubSDNEI = g.addV()
+ .property("aai-node-type", "service-subscription")
+ .property("service-type", "SDN-ETHERNET-INTERNET")
+ .next();
+
+ Vertex servInstance22 = g.addV()
+ .property("aai-node-type", "service-instance")
+ .property("service-instance-id", "servInstance-9972-22-BandwidthMigration")
+ .property("operational-status", "activated")
+ .property("bandwidth-total", "bandwidth-total-22-BandwidthMigration")
+ .next();
+
+ Vertex servInstance11 = g.addV()
+ .property("aai-node-type", "service-instance")
+ .property("service-instance-id", "servInstance-9972-11-BandwidthMigration")
+ .property("operational-status", "activated")
+ .property("bandwidth-total", "bandwidth-total-11-BandwidthMigration")
+ .next();
+
+ Vertex servSubDHV = g.addV()
+ .property("aai-node-type", "service-subscription")
+ .property("service-type", "DHV")
+ .next();
+
+ Vertex servInstance4 = g.addV()
+ .property("aai-node-type", "service-instance")
+ .property("service-instance-id", "servInstance-9972-4-BandwidthMigration")
+ .property("operational-status", "activated")
+ .property("bandwidth-total", "bandwidth-total-4-BandwidthMigration")
+ .next();
+
+ Vertex servInstance1 = g.addV()
+ .property("aai-node-type", "service-instance")
+ .property("service-instance-id", "ServInstance-9972-1-BandwidthMigration")
+ .property("operational-status", "activated")
+ .property("bandwidth-total", "2380")
+ .next();
+
+ Vertex servInstance3 = g.addV()
+ .property("aai-node-type", "service-instance")
+ .property("service-instance-id", "servInstance-9972-3-BandwidthMigration")
+ .property("operational-status", "activated")
+ .property("bandwidth-total", "bandwidth-total-3-BandwidthMigration")
+ .next();
+
+ Vertex servInstance2 = g.addV()
+ .property("aai-node-type", "service-instance")
+ .property("service-instance-id", "servInstance-9972-2-BandwidthMigration")
+ .property("operational-status", "activated")
+ .property("bandwidth-total", "bandwidth-total-2-BandwidthMigration")
+ .next();
+
+ Vertex config1 = g.addV()
+ .property("aai-node-type", "configuration")
+ .property("configuration-id", "9972-config-LB1113")
+ .property("configuration-type", "DHV")
+ .property("tunnel-bandwidth", "12")
+ .next();
+
+ Vertex config2 = g.addV()
+ .property("aai-node-type", "configuration")
+ .property("configuration-id", "9972-1config-LB1113")
+ .property("configuration-type", "configuration-type1-9972")
+ .next();
+
+ Vertex allottedResource = g.addV()
+ .property("aai-node-type", "allotted-resource")
+ .property("id", "allResource-9972-BandwidthMigration")
+ .next();
+
+ rules.addTreeEdge(g, customer, servSubSDNEI);
+ rules.addTreeEdge(g, customer, servSubDHV);
+ rules.addTreeEdge(g, servSubSDNEI, servInstance22);
+ rules.addTreeEdge(g, servSubSDNEI, servInstance11);
+ rules.addTreeEdge(g, servSubDHV, servInstance4);
+ rules.addTreeEdge(g, servSubDHV, servInstance1);
+ rules.addTreeEdge(g, servSubDHV, servInstance3);
+ rules.addTreeEdge(g, servSubDHV, servInstance2);
+ rules.addEdge(g, servInstance1, allottedResource);
+ rules.addEdge(g, servInstance1, config1);
+ rules.addEdge(g, servInstance2, config2);
+
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+
+ GraphTraversalSource traversal = g;
+ GraphTraversalSource readOnly = tx.traversal(GraphTraversalSource.build().with(ReadOnlyStrategy.instance()));
+ when (spy.tx()).thenReturn(tx);
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ when(adminSpy.getReadOnlyTraversalSource()).thenReturn(readOnly);
+
+ migration = new MigrateServiceInstanceToConfiguration(spy);
+ migration.run();
+ }
+
+ @AfterClass
+ public static void cleanUp() {
+ tx.tx().rollback();
+ graph.close();
+ }
+
+ @Test
+ public void testRun() throws Exception {
+ // check if graph nodes exist
+ assertEquals("customer node exists", true,
+ g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
+ .hasNext());
+
+ assertEquals("service subscription node, service-type=SDN-ETHERNET-INTERNET", true,
+ g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "SDN-ETHERNET-INTERNET")
+ .hasNext());
+
+ assertEquals("service instance node, bandwidth-total=bandwidth-total-22-BandwidthMigration", true,
+ g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "SDN-ETHERNET-INTERNET")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-22-BandwidthMigration")
+ .has("bandwidth-total", "bandwidth-total-22-BandwidthMigration")
+ .hasNext());
+
+ assertEquals("service instance node, bandwidth-total=bandwidth-total-11-BandwidthMigration", true,
+ g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "SDN-ETHERNET-INTERNET")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-11-BandwidthMigration")
+ .has("bandwidth-total", "bandwidth-total-11-BandwidthMigration")
+ .hasNext());
+
+ assertEquals("service subscription node, service-type=DHV", true,
+ g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .hasNext());
+
+ assertEquals("service instance node, bandwidth-total=servInstance-9972-4-BandwidthMigration", true,
+ g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-4-BandwidthMigration")
+ .has("bandwidth-total", "bandwidth-total-4-BandwidthMigration")
+ .hasNext());
+
+ assertEquals("service instance node, bandwidth-total=ServInstance-9972-1-BandwidthMigration", true,
+ g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "ServInstance-9972-1-BandwidthMigration")
+ .has("bandwidth-total", "2380")
+ .hasNext());
+
+ assertEquals("service instance node, bandwidth-total=servInstance-9972-3-BandwidthMigration", true,
+ g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-3-BandwidthMigration")
+ .has("bandwidth-total", "bandwidth-total-3-BandwidthMigration")
+ .hasNext());
+
+ assertEquals("service instance node, bandwidth-total=servInstance-9972-2-BandwidthMigration", true,
+ g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-2-BandwidthMigration")
+ .has("bandwidth-total", "bandwidth-total-2-BandwidthMigration")
+ .hasNext());
+
+ assertEquals("configuration node with type=configuration-type1-9972, tunnel-bandwidth does not exist", true,
+ g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-2-BandwidthMigration")
+ .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration")
+ .has("configuration-type", "configuration-type1-9972")
+ .hasNext());
+
+ // check if configuration node gets created for 2, 3, 4
+ assertEquals("configuration node created with type=DHV, tunnel-bandwidth=servInstance-9972-4-BandwidthMigration", true,
+ g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-4-BandwidthMigration")
+ .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration")
+ .has("configuration-type", "DHV").has("tunnel-bandwidth", "bandwidth-total-4-BandwidthMigration")
+ .hasNext());
+
+ assertEquals("configuration node created with type=DHV, tunnel-bandwidth=servInstance-9972-3-BandwidthMigration", true,
+ g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-3-BandwidthMigration")
+ .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration")
+ .has("configuration-type", "DHV").has("tunnel-bandwidth", "bandwidth-total-3-BandwidthMigration")
+ .hasNext());
+
+ assertEquals("configuration node created with type=DHV, tunnel-bandwidth=servInstance-9972-2-BandwidthMigration", true,
+ g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-2-BandwidthMigration")
+ .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration")
+ .has("configuration-type", "DHV").has("tunnel-bandwidth", "bandwidth-total-2-BandwidthMigration")
+ .hasNext());
+
+ // configuration modified for ServInstance-9972-1-BandwidthMigration
+ assertEquals("configuration node modified for ServInstance-9972-1-BandwidthMigration, tunnel-bandwidth=2380", true,
+ g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
+ .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "ServInstance-9972-1-BandwidthMigration")
+ .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration")
+ .has("configuration-type", "DHV").has("tunnel-bandwidth", "2380")
+ .hasNext());
+ }
+
+ @Test
+ public void testGetAffectedNodeTypes() {
+ Optional<String[]> types = migration.getAffectedNodeTypes();
+ Optional<String[]> expected = Optional.of(new String[]{"service-instance"});
+
+ assertNotNull(types);
+ assertArrayEquals(expected.get(), types.get());
+ }
+
+ @Test
+ public void testGetMigrationName() {
+ String migrationName = migration.getMigrationName();
+
+ assertNotNull(migrationName);
+ assertEquals("service-instance-to-configuration", migrationName);
+ }
+}
diff --git a/aai-resources/src/test/java/org/onap/aai/migration/v12/ToscaMigrationTest.java b/aai-resources/src/test/java/org/onap/aai/migration/v12/ToscaMigrationTest.java
new file mode 100644
index 0000000..29af30c
--- /dev/null
+++ b/aai-resources/src/test/java/org/onap/aai/migration/v12/ToscaMigrationTest.java
@@ -0,0 +1,182 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.aai.migration.v12;
+
+import com.thinkaurelius.titan.core.TitanFactory;
+import com.thinkaurelius.titan.core.TitanGraph;
+import com.thinkaurelius.titan.core.schema.TitanManagement;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.onap.aai.AAISetup;
+import org.onap.aai.db.props.AAIProperties;
+import org.onap.aai.dbmap.DBConnectionType;
+import org.onap.aai.introspection.Loader;
+import org.onap.aai.introspection.LoaderFactory;
+import org.onap.aai.introspection.ModelType;
+import org.onap.aai.introspection.Version;
+import org.onap.aai.serialization.db.AAIDirection;
+import org.onap.aai.serialization.db.EdgeProperty;
+import org.onap.aai.serialization.engines.QueryStyle;
+import org.onap.aai.serialization.engines.TitanDBEngine;
+import org.onap.aai.serialization.engines.TransactionalGraphEngine;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+public class ToscaMigrationTest extends AAISetup {
+
+ private final static Version version = Version.v12;
+ private final static ModelType introspectorFactoryType = ModelType.MOXY;
+ private final static QueryStyle queryStyle = QueryStyle.TRAVERSAL;
+ private final static DBConnectionType type = DBConnectionType.REALTIME;
+ private Loader loader;
+ private TransactionalGraphEngine dbEngine;
+ private TitanGraph graph;
+ private ToscaMigration migration;
+ private GraphTraversalSource g;
+ private Graph tx;
+
+ @Before
+ public void setUp() throws Exception {
+ graph = TitanFactory.build().set("storage.backend","inmemory").open();
+ TitanManagement titanManagement = graph.openManagement();
+ tx = graph.newTransaction();
+ g = tx.traversal();
+ loader = LoaderFactory.createLoaderForVersion(introspectorFactoryType, version);
+ dbEngine = new TitanDBEngine(
+ queryStyle,
+ type,
+ loader);
+
+ Vertex gvnf = g.addV().property(AAIProperties.NODE_TYPE, "generic-vnf")
+ .property("vnf-id", "toscaMigration-test-vnf")
+ .next();
+
+ Vertex lInterface = g.addV().property(AAIProperties.NODE_TYPE, "l-interface")
+ .property("interface-name", "toscaMigration-test-lint")
+ .next();
+
+ Vertex logicalLink = g.addV().property(AAIProperties.NODE_TYPE, "logical-link")
+ .property("link-name", "toscaMigration-logical-link")
+ .next();
+
+
+
+ gvnf.addEdge("hasLInterface", lInterface, EdgeProperty.CONTAINS.toString(), AAIDirection.OUT.toString(),
+ EdgeProperty.DELETE_OTHER_V.toString(), AAIDirection.NONE.toString());
+
+ lInterface.addEdge("usesLogicalLink", logicalLink, EdgeProperty.CONTAINS.toString(), AAIDirection.NONE.toString(),
+ EdgeProperty.DELETE_OTHER_V.toString(), AAIDirection.NONE.toString());
+ lInterface.addEdge("sourceLInterface", logicalLink, EdgeProperty.CONTAINS.toString(), AAIDirection.NONE.toString(),
+ EdgeProperty.DELETE_OTHER_V.toString(), AAIDirection.NONE.toString());
+
+ Vertex pserver = g.addV("aai-node-type","pserver","hostname","a-name").next();
+ Vertex vnfc = g.addV("aai-node-type","vnfc","vnfc-name","a-name").next();
+ pserver.addEdge("blah", vnfc, EdgeProperty.CONTAINS.toString(), AAIDirection.NONE.toString(),
+ EdgeProperty.DELETE_OTHER_V.toString(), AAIDirection.NONE.toString());
+
+ TransactionalGraphEngine spy = spy(dbEngine);
+ TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
+ GraphTraversalSource traversal = g;
+ when(spy.asAdmin()).thenReturn(adminSpy);
+ when(adminSpy.getTraversalSource()).thenReturn(traversal);
+ Mockito.doReturn(titanManagement).when(adminSpy).getManagementSystem();
+ migration = new ToscaMigration(spy);
+ migration.run();
+
+
+ }
+
+ @After
+ public void cleanUp() {
+ tx.tx().rollback();
+ graph.close();
+ }
+
+ @Test
+ public void verifyVnfHasOnlyNewEdgeTest() {
+
+ // We want to check that this edge has the expected new label and reversed direction from
+ // what it was created with. NOTE - if the csv file changes what the new label is supposed
+ // to be, then this test will need to be updated.
+
+ assertEquals("edge direction and label were migrated", true,
+ g.V().has(AAIProperties.NODE_TYPE, "generic-vnf").has("vnf-id", "toscaMigration-test-vnf").inE()
+ .hasLabel("org.onap.relationships.inventory.BelongsTo").hasNext());
+
+
+ assertEquals("if we look for old edge, it should be gone", false,
+ g.V().has(AAIProperties.NODE_TYPE, "generic-vnf").has("vnf-id", "toscaMigration-test-vnf").outE()
+ .hasLabel("hasLInterface").hasNext());
+ }
+
+ @Test
+ public void verifyGraphHasNoOldEdgeLabelsTest() {
+ assertEquals("Graph should have none of the old edge label"
+ , Long.valueOf(0)
+ , g.E().hasLabel("hasLInterface","usesLogicalLink").count().next());
+ assertEquals("Graph should have none of the old edge label"
+ , Long.valueOf(2)
+ , g.E().hasLabel("org.onap.relationships.inventory.BelongsTo","tosca.relationships.network.LinksTo")
+ .count().next());
+ }
+
+ @Test
+ public void verifyGenericVnfHas1EdgeTest() {
+ assertEquals("Generic vnf should have 1 edge"
+ , Long.valueOf(1)
+ , g.V().has(AAIProperties.NODE_TYPE, "generic-vnf")
+ .both()
+ .count().next());
+
+ }
+
+ @Test
+ public void verifyLogicalLinkHas2EdgesTest() {
+ assertEquals("Logical Link should have 2 edges"
+ , Long.valueOf(2)
+ , g.V().has(AAIProperties.NODE_TYPE, "logical-link")
+ .both()
+ .count().next());
+
+ assertTrue("Logical Link has source edge"
+ , g.V().has(AAIProperties.NODE_TYPE, "logical-link").bothE("org.onap.relationships.inventory.Source").hasNext());
+
+ assertTrue("Logical Link has default edge"
+ , g.V().has(AAIProperties.NODE_TYPE, "logical-link").bothE("tosca.relationships.network.LinksTo").hasNext());
+
+ }
+
+ @Test
+ public void checkThatEdgeWithNoRulesDoesNotGetMigratedTest() {
+ assertTrue("Edge with no rule did not get migrated ", g.E().hasLabel("blah").hasNext());
+ }
+
+}
+
+ \ No newline at end of file
diff --git a/aai-resources/src/test/java/org/onap/aai/rest/BulkProcessConsumerTest.java b/aai-resources/src/test/java/org/onap/aai/rest/BulkProcessConsumerTest.java
index 5a5c4c0..747f319 100644
--- a/aai-resources/src/test/java/org/onap/aai/rest/BulkProcessConsumerTest.java
+++ b/aai-resources/src/test/java/org/onap/aai/rest/BulkProcessConsumerTest.java
@@ -37,6 +37,7 @@ import org.skyscreamer.jsonassert.JSONAssert;
import com.att.eelf.configuration.EELFLogger;
import com.att.eelf.configuration.EELFManager;
+import org.springframework.mock.web.MockHttpServletRequest;
public class BulkProcessConsumerTest extends BulkProcessorTestAbstraction {
@@ -114,7 +115,7 @@ public class BulkProcessConsumerTest extends BulkProcessorTestAbstraction {
complexToPserverRelationshipUri,
httpHeaders,
uriInfo,
- null
+ new MockHttpServletRequest("DELETE", "http://www.test.com")
);
assertNotNull("Response from the legacy moxy consumer returned null", response);
@@ -159,7 +160,7 @@ public class BulkProcessConsumerTest extends BulkProcessorTestAbstraction {
"false",
httpHeaders,
uriInfo,
- null
+ new MockHttpServletRequest("GET", "http://www.test.com")
);
assertNotNull("Response from the legacy moxy consumer returned null", response);
@@ -172,7 +173,7 @@ public class BulkProcessConsumerTest extends BulkProcessorTestAbstraction {
uri,
httpHeaders,
uriInfo,
- null
+ new MockHttpServletRequest("PUT", "http://www.test.com")
);
assertNotNull("Response from the legacy moxy consumer returned null", response);
@@ -192,7 +193,7 @@ public class BulkProcessConsumerTest extends BulkProcessorTestAbstraction {
"false",
httpHeaders,
uriInfo,
- null
+ new MockHttpServletRequest("GET", "http://www.test.com")
);
assertNotNull("Response from the legacy moxy consumer returned null", response);
diff --git a/aai-resources/src/test/java/org/onap/aai/rest/BulkProcessorTestAbstraction.java b/aai-resources/src/test/java/org/onap/aai/rest/BulkProcessorTestAbstraction.java
index f5d0670..cfb2625 100644
--- a/aai-resources/src/test/java/org/onap/aai/rest/BulkProcessorTestAbstraction.java
+++ b/aai-resources/src/test/java/org/onap/aai/rest/BulkProcessorTestAbstraction.java
@@ -23,7 +23,7 @@ package org.onap.aai.rest;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Mockito.when;
-
+import org.springframework.mock.web.MockHttpServletRequest;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
@@ -124,12 +124,14 @@ public abstract class BulkProcessorTestAbstraction extends AAISetup {
}
protected Response executeRequest(String payload) {
+ MockHttpServletRequest mockReq = new MockHttpServletRequest("PUT", "http://www.test.com");
+
return bulkConsumer.bulkProcessor(
payload.replaceAll("<UUID>", UUID.randomUUID().toString()),
Version.getLatest().toString(),
httpHeaders,
uriInfo,
- null
+ mockReq
);
}
diff --git a/aai-resources/src/test/java/org/onap/aai/rest/LegacyMoxyConsumerTest.java b/aai-resources/src/test/java/org/onap/aai/rest/LegacyMoxyConsumerTest.java
index 54e2271..8c14697 100644
--- a/aai-resources/src/test/java/org/onap/aai/rest/LegacyMoxyConsumerTest.java
+++ b/aai-resources/src/test/java/org/onap/aai/rest/LegacyMoxyConsumerTest.java
@@ -35,7 +35,11 @@ import org.onap.aai.dbmap.AAIGraph;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.introspection.ModelInjestor;
import org.onap.aai.introspection.Version;
+
+import org.onap.aai.util.AAIConfig;
+import org.onap.aai.util.AAIConstants;
import org.skyscreamer.jsonassert.JSONAssert;
+import org.springframework.mock.web.MockHttpServletRequest;
import javax.ws.rs.core.*;
import java.io.IOException;
@@ -133,6 +137,7 @@ public class LegacyMoxyConsumerTest extends AAISetup {
when(uriInfo.getPath()).thenReturn(uri);
when(uriInfo.getPath(false)).thenReturn(uri);
+ MockHttpServletRequest mockReqGet = new MockHttpServletRequest("GET", uri);
Response response = legacyMoxyConsumer.getLegacy(
"",
Version.getLatest().toString(),
@@ -141,18 +146,19 @@ public class LegacyMoxyConsumerTest extends AAISetup {
"false",
httpHeaders,
uriInfo,
- null
+ mockReqGet
);
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
+ MockHttpServletRequest mockReq = new MockHttpServletRequest("PUT", uri);
response = legacyMoxyConsumer.update(
payload,
Version.getLatest().toString(),
uri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
int code = response.getStatus();
@@ -172,7 +178,7 @@ public class LegacyMoxyConsumerTest extends AAISetup {
"false",
httpHeaders,
uriInfo,
- null
+ mockReqGet
);
code = response.getStatus();
@@ -191,13 +197,14 @@ public class LegacyMoxyConsumerTest extends AAISetup {
queryParameters.add("resource-version", resourceVersion);
+ mockReq = new MockHttpServletRequest("DELETE", uri);
response = legacyMoxyConsumer.delete(
Version.getLatest().toString(),
uri,
httpHeaders,
uriInfo,
"",
- null
+ mockReq
);
code = response.getStatus();
@@ -215,7 +222,7 @@ public class LegacyMoxyConsumerTest extends AAISetup {
"false",
httpHeaders,
uriInfo,
- null
+ mockReqGet
);
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
@@ -239,14 +246,14 @@ public class LegacyMoxyConsumerTest extends AAISetup {
String cloudToPserverRelationshipData = getRelationshipPayload("pserver-complex-relationship");
String cloudToPserverRelationshipUri = String.format(
"cloud-infrastructure/pservers/pserver/%s/relationship-list/relationship", hostname);
-
+ MockHttpServletRequest mockReq = new MockHttpServletRequest("PUT", cloudToPserverRelationshipUri);
Response response = legacyMoxyConsumer.updateRelationship(
cloudToPserverRelationshipData,
Version.getLatest().toString(),
cloudToPserverRelationshipUri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
assertNotNull("Response from the legacy moxy consumer returned null", response);
@@ -260,14 +267,14 @@ public class LegacyMoxyConsumerTest extends AAISetup {
logger.info("Response Code: " + code + "\tEntity: " + response.getEntity());
// TODO - Need to actually verify the relationship between pserver and cloud-region
-
+ mockReq = new MockHttpServletRequest("DELETE", cloudToPserverRelationshipUri);
response = legacyMoxyConsumer.deleteRelationship(
cloudToPserverRelationshipData,
Version.getLatest().toString(),
cloudToPserverRelationshipUri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
code = response.getStatus();
@@ -300,14 +307,14 @@ public class LegacyMoxyConsumerTest extends AAISetup {
when(uriInfo.getPath()).thenReturn(uri);
when(uriInfo.getPath(false)).thenReturn(uri);
-
+ MockHttpServletRequest mockReq = new MockHttpServletRequest("PUT", uri);
Response response = legacyMoxyConsumer.update(
payload,
Version.getLatest().toString(),
uri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
int code = response.getStatus();
@@ -323,14 +330,14 @@ public class LegacyMoxyConsumerTest extends AAISetup {
when(uriInfo.getPath()).thenReturn(uri);
when(uriInfo.getPath(false)).thenThrow(new IllegalArgumentException());
-
+ MockHttpServletRequest mockReq = new MockHttpServletRequest("PUT", uri);
Response response = legacyMoxyConsumer.update(
payload,
Version.getLatest().toString(),
uri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
int code = response.getStatus();
@@ -344,14 +351,14 @@ public class LegacyMoxyConsumerTest extends AAISetup {
uri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
code = response.getStatus();
assertNotNull("Response from the legacy moxy consumer returned null", response);
assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), code);
System.out.println("Response Code: " + code + "\tEntity: " + response.getEntity());
-
+ mockReq = new MockHttpServletRequest("GET", uri);
response = legacyMoxyConsumer.getLegacy(
"",
Version.getLatest().toString(),
@@ -360,19 +367,19 @@ public class LegacyMoxyConsumerTest extends AAISetup {
"false",
httpHeaders,
uriInfo,
- null
+ mockReq
);
assertNotNull("Response from the legacy moxy consumer returned null", response);
assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), code);
-
+ mockReq = new MockHttpServletRequest("DELETE", uri);
response = legacyMoxyConsumer.delete(
Version.getLatest().toString(),
uri,
httpHeaders,
uriInfo,
"",
- null
+ mockReq
);
code = response.getStatus();
@@ -384,7 +391,7 @@ public class LegacyMoxyConsumerTest extends AAISetup {
uri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
code = response.getStatus();
assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), code);
@@ -398,14 +405,14 @@ public class LegacyMoxyConsumerTest extends AAISetup {
when(uriInfo.getPath()).thenReturn(uri);
when(uriInfo.getPath(false)).thenReturn(uri);
-
+ MockHttpServletRequest mockReq = new MockHttpServletRequest("PUT", uri);
Response response = legacyMoxyConsumer.update(
payload,
Version.getLatest().toString(),
uri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
int code = response.getStatus();
@@ -418,13 +425,14 @@ public class LegacyMoxyConsumerTest extends AAISetup {
uri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
code = response.getStatus();
System.out.println("Response Code: " + code + "\tEntity: " + response.getEntity());
assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), code);
+ mockReq = new MockHttpServletRequest("GET", uri);
response = legacyMoxyConsumer.getLegacy(
"",
Version.getLatest().toString(),
@@ -433,12 +441,13 @@ public class LegacyMoxyConsumerTest extends AAISetup {
"false",
httpHeaders,
uriInfo,
- null
+ mockReq
);
assertNotNull("Response from the legacy moxy consumer returned null", response);
assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), code);
+ mockReq = new MockHttpServletRequest("DELETE", uri);
queryParameters.add("resource-version", "3434394839483");
response = legacyMoxyConsumer.delete(
Version.getLatest().toString(),
@@ -446,7 +455,7 @@ public class LegacyMoxyConsumerTest extends AAISetup {
httpHeaders,
uriInfo,
"",
- null
+ mockReq
);
code = response.getStatus();
@@ -459,7 +468,7 @@ public class LegacyMoxyConsumerTest extends AAISetup {
uri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
code = response.getStatus();
assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), code);
@@ -479,6 +488,7 @@ public class LegacyMoxyConsumerTest extends AAISetup {
when(uriInfo.getPath()).thenReturn(uri);
when(uriInfo.getPath(false)).thenReturn(uri);
+ MockHttpServletRequest mockReq = new MockHttpServletRequest("GET", uri);
Response response = legacyMoxyConsumer.getLegacy(
"",
Version.getLatest().toString(),
@@ -487,18 +497,18 @@ public class LegacyMoxyConsumerTest extends AAISetup {
"false",
httpHeaders,
uriInfo,
- null
+ mockReq
);
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
-
+ mockReq = new MockHttpServletRequest("PUT", uri);
response = legacyMoxyConsumer.update(
payload,
Version.getLatest().toString(),
uri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
int code = response.getStatus();
@@ -515,13 +525,14 @@ public class LegacyMoxyConsumerTest extends AAISetup {
outputMediaTypes.remove(APPLICATION_JSON);
outputMediaTypes.add(MediaType.valueOf("application/merge-patch+json"));
+ mockReq = new MockHttpServletRequest("PATCH", uri);
response = legacyMoxyConsumer.patch(
patchData,
Version.getLatest().toString(),
uri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
code = response.getStatus();
@@ -536,6 +547,7 @@ public class LegacyMoxyConsumerTest extends AAISetup {
when(uriInfo.getPath()).thenReturn(uri);
when(uriInfo.getPath(false)).thenReturn(uri);
+ MockHttpServletRequest mockReqGet = new MockHttpServletRequest("GET", uri);
Response response = legacyMoxyConsumer.getLegacy(
"",
Version.getLatest().toString(),
@@ -544,20 +556,21 @@ public class LegacyMoxyConsumerTest extends AAISetup {
"false",
httpHeaders,
uriInfo,
- null
+ mockReqGet
);
assertNotNull("Response from the legacy moxy consumer returned null", response);
assertEquals("Expected to not have the data already in memory",
Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
+ MockHttpServletRequest mockReq = new MockHttpServletRequest("PUT", uri);
response = legacyMoxyConsumer.update(
payload,
Version.getLatest().toString(),
uri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
assertNotNull("Response from the legacy moxy consumer returned null", response);
@@ -577,7 +590,7 @@ public class LegacyMoxyConsumerTest extends AAISetup {
"false",
httpHeaders,
uriInfo,
- null
+ mockReqGet
);
assertNotNull("Response from the legacy moxy consumer returned null", response);
@@ -601,13 +614,14 @@ public class LegacyMoxyConsumerTest extends AAISetup {
when(uriInfo.getPath()).thenReturn(uri);
when(uriInfo.getPath(false)).thenReturn(uri);
+ MockHttpServletRequest mockReq = new MockHttpServletRequest("DELETE", uri);
Response response = legacyMoxyConsumer.deleteRelationship(
payload,
Version.getLatest().toString(),
uri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
int code = response.getStatus();
@@ -635,4 +649,90 @@ public class LegacyMoxyConsumerTest extends AAISetup {
public String getUri(){
return getUri("pserver-hostname-test");
}
+
+ @Test
+ public void legacyMoxyCheckTimeoutEnabled() throws Exception{
+ boolean isTimeoutEnabled = legacyMoxyConsumer.isTimeoutEnabled("JUNITTESTAPP1", AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_ENABLED), AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_APP), AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_LIMIT));
+ assertEquals(true, isTimeoutEnabled);
+ }
+
+ @Test
+ public void legacyMoxyCheckTimeoutEnabledOverride() throws Exception{
+ boolean isTimeoutEnabled = legacyMoxyConsumer.isTimeoutEnabled("JUNITTESTAPP2", AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_ENABLED), AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_APP), AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_LIMIT));
+ assertEquals(false, isTimeoutEnabled);
+ }
+
+ @Test
+ public void legacyMoxyCheckTimeoutEnabledDefaultLimit() throws Exception{
+ boolean isTimeoutEnabled = legacyMoxyConsumer.isTimeoutEnabled("JUNITTESTAPP3", AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_ENABLED), AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_APP), AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_LIMIT));
+ assertEquals(true, isTimeoutEnabled);
+ int timeout = legacyMoxyConsumer.getTimeoutLimit("JUNITTESTAPP3", AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_APP), AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_LIMIT));
+ assertEquals(100000, timeout);
+ }
+
+ @Test
+ public void legacyMoxyGetTimeout() throws Exception{
+ int timeout = legacyMoxyConsumer.getTimeoutLimit("JUNITTESTAPP1", AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_APP), AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_LIMIT));
+ assertEquals(1, timeout);
+ }
+
+ @Test
+ public void legacyMoxyGetTimeoutOverride() throws Exception{
+ int timeout = legacyMoxyConsumer.getTimeoutLimit("JUNITTESTAPP2", AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_APP), AAIConfig.get(AAIConstants.AAI_CRUD_TIMEOUT_LIMIT));
+ assertEquals(-1, timeout);
+ }
+ @Test
+ public void testTimeoutGetCall() throws Exception{
+ String uri = getUri();
+
+ if(uri.length() != 0 && uri.charAt(0) == '/'){
+ uri = uri.substring(1);
+ }
+
+ when(uriInfo.getPath()).thenReturn(uri);
+ when(uriInfo.getPath(false)).thenReturn(uri);
+ headersMultiMap.putSingle("X-FromAppId", "JUNITTESTAPP1");
+ when(httpHeaders.getRequestHeaders()).thenReturn(headersMultiMap);
+
+ MockHttpServletRequest mockReqGet = new MockHttpServletRequest("GET", uri);
+ Response response = legacyMoxyConsumer.getLegacy(
+ "",
+ Version.getLatest().toString(),
+ uri,
+ "all",
+ "false",
+ httpHeaders,
+ uriInfo,
+ mockReqGet
+ );
+
+ assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ }
+ @Test
+ public void testBypassTimeoutGetCall() throws Exception{
+ String uri = getUri();
+
+ if(uri.length() != 0 && uri.charAt(0) == '/'){
+ uri = uri.substring(1);
+ }
+
+ when(uriInfo.getPath()).thenReturn(uri);
+ when(uriInfo.getPath(false)).thenReturn(uri);
+ headersMultiMap.putSingle("X-FromAppId", "JUNITTESTAPP2");
+ when(httpHeaders.getRequestHeaders()).thenReturn(headersMultiMap);
+
+ MockHttpServletRequest mockReqGet = new MockHttpServletRequest("GET", uri);
+ Response response = legacyMoxyConsumer.getLegacy(
+ "",
+ Version.getLatest().toString(),
+ uri,
+ "all",
+ "false",
+ httpHeaders,
+ uriInfo,
+ mockReqGet
+ );
+
+ assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
+ }
}
diff --git a/aai-resources/src/test/java/org/onap/aai/rest/URLFromVertexIdConsumerTest.java b/aai-resources/src/test/java/org/onap/aai/rest/URLFromVertexIdConsumerTest.java
index c2a6c4a..982cedf 100644
--- a/aai-resources/src/test/java/org/onap/aai/rest/URLFromVertexIdConsumerTest.java
+++ b/aai-resources/src/test/java/org/onap/aai/rest/URLFromVertexIdConsumerTest.java
@@ -41,6 +41,7 @@ import java.util.*;
import static org.junit.Assert.*;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Mockito.when;
+import org.springframework.mock.web.MockHttpServletRequest;
public class URLFromVertexIdConsumerTest extends AAISetup {
@@ -125,6 +126,7 @@ public class URLFromVertexIdConsumerTest extends AAISetup {
when(uriInfo.getPath()).thenReturn(uri);
when(uriInfo.getPath(false)).thenReturn(uri);
+ MockHttpServletRequest mockReqGet = new MockHttpServletRequest("GET", uri);
Response response = legacyMoxyConsumer.getLegacy(
"",
Version.getLatest().toString(),
@@ -133,18 +135,18 @@ public class URLFromVertexIdConsumerTest extends AAISetup {
"false",
httpHeaders,
uriInfo,
- null
+ mockReqGet
);
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
-
+ MockHttpServletRequest mockReq = new MockHttpServletRequest("PUT", uri);
response = legacyMoxyConsumer.update(
payload,
Version.getLatest().toString(),
uri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
int code = response.getStatus();
@@ -160,14 +162,13 @@ public class URLFromVertexIdConsumerTest extends AAISetup {
assertTrue("Response doesn't contain the key vertexId", responseHeaders.containsKey("vertex-id"));
String vertexId = responseHeaders.get("vertex-id").get(0).toString();
-
response = urlFromVertexIdConsumer.generateUrlFromVertexId(
"",
Version.getLatest().toString(),
Long.valueOf(vertexId).longValue(),
httpHeaders,
uriInfo,
- null
+ mockReqGet
);
assertNotNull(response);
@@ -183,14 +184,14 @@ public class URLFromVertexIdConsumerTest extends AAISetup {
when(uriInfo.getPath(false)).thenReturn(uri);
String vertexId = "384584";
-
+ MockHttpServletRequest mockReqGet = new MockHttpServletRequest("GET", uri);
Response response = urlFromVertexIdConsumer.generateUrlFromVertexId(
"",
Version.getLatest().toString(),
Long.valueOf(vertexId).longValue(),
httpHeaders,
uriInfo,
- null
+ mockReqGet
);
assertNotNull("Check if the response is not null", response);
diff --git a/aai-resources/src/test/java/org/onap/aai/rest/VertexIdConsumerTest.java b/aai-resources/src/test/java/org/onap/aai/rest/VertexIdConsumerTest.java
index fa80805..fb639ce 100644
--- a/aai-resources/src/test/java/org/onap/aai/rest/VertexIdConsumerTest.java
+++ b/aai-resources/src/test/java/org/onap/aai/rest/VertexIdConsumerTest.java
@@ -41,6 +41,7 @@ import java.util.*;
import static org.junit.Assert.*;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Mockito.when;
+import org.springframework.mock.web.MockHttpServletRequest;
public class VertexIdConsumerTest extends AAISetup {
@@ -124,7 +125,8 @@ public class VertexIdConsumerTest extends AAISetup {
when(uriInfo.getPath()).thenReturn(uri);
when(uriInfo.getPath(false)).thenReturn(uri);
-
+
+ MockHttpServletRequest mockReqGet = new MockHttpServletRequest("GET", uri);
Response response = legacyMoxyConsumer.getLegacy(
"",
Version.getLatest().toString(),
@@ -133,18 +135,19 @@ public class VertexIdConsumerTest extends AAISetup {
"false",
httpHeaders,
uriInfo,
- null
+ mockReqGet
);
assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus());
-
+ MockHttpServletRequest mockReq = new MockHttpServletRequest("PUT", uri);
+
response = legacyMoxyConsumer.update(
payload,
Version.getLatest().toString(),
uri,
httpHeaders,
uriInfo,
- null
+ mockReq
);
int code = response.getStatus();
@@ -168,7 +171,7 @@ public class VertexIdConsumerTest extends AAISetup {
"10000",
httpHeaders,
uriInfo,
- null
+ mockReqGet
);
assertNotNull(response);
diff --git a/aai-resources/src/test/java/org/onap/aai/rest/retired/RetiredConsumerTest.java b/aai-resources/src/test/java/org/onap/aai/rest/retired/RetiredConsumerTest.java
index 50964a3..66846b6 100644
--- a/aai-resources/src/test/java/org/onap/aai/rest/retired/RetiredConsumerTest.java
+++ b/aai-resources/src/test/java/org/onap/aai/rest/retired/RetiredConsumerTest.java
@@ -26,7 +26,6 @@ import com.att.eelf.configuration.EELFManager;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
-import org.onap.aai.AAISetup;
import org.onap.aai.introspection.Version;
import javax.ws.rs.core.*;
@@ -37,7 +36,7 @@ import static org.junit.Assert.assertNotNull;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Mockito.when;
-public abstract class RetiredConsumerTest extends AAISetup {
+public abstract class RetiredConsumerTest {
protected static final MediaType APPLICATION_JSON = MediaType.valueOf("application/json");
diff --git a/aai-resources/src/test/java/org/onap/aai/rest/util/LogFormatToolsTest.java b/aai-resources/src/test/java/org/onap/aai/rest/util/LogFormatToolsTest.java
deleted file mode 100644
index c4cc211..0000000
--- a/aai-resources/src/test/java/org/onap/aai/rest/util/LogFormatToolsTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- */
-package org.onap.aai.rest.util;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertNotNull;
-
-public class LogFormatToolsTest {
-
- @Test
- public void testLogFormatTools(){
-
- String dateTime = new LogFormatTools().getCurrentDateTime();
- assertNotNull(dateTime);
- }
-}
diff --git a/aai-resources/src/test/java/org/onap/aai/serialization/db/DBSerializerMaxRetryTest.java b/aai-resources/src/test/java/org/onap/aai/serialization/db/DBSerializerMaxRetryTest.java
new file mode 100644
index 0000000..b64c261
--- /dev/null
+++ b/aai-resources/src/test/java/org/onap/aai/serialization/db/DBSerializerMaxRetryTest.java
@@ -0,0 +1,83 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.aai.serialization.db;
+
+
+import com.att.eelf.configuration.EELFLogger;
+import com.thinkaurelius.titan.core.TitanException;
+import com.thinkaurelius.titan.core.TitanGraph;
+import com.thinkaurelius.titan.core.TitanTransaction;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.junit.runner.RunWith;
+import org.onap.aai.db.props.AAIProperties;
+import org.onap.aai.exceptions.AAIException;
+import org.onap.aai.introspection.LoaderFactory;
+import org.onap.aai.parsers.query.QueryParser;
+import org.onap.aai.rest.db.HttpEntry;
+import org.onap.aai.serialization.engines.TransactionalGraphEngine;
+import org.onap.aai.serialization.engines.query.QueryEngine;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+@Ignore
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({QueryParser.class, TransactionalGraphEngine.class, TitanGraph.class, TitanTransaction.class, LoaderFactory.class, DBSerializer.class})
+public class DBSerializerMaxRetryTest {
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ /**
+ * Test.
+ *
+ * @throws Exception the exception
+ */
+ @Test
+ public void test() throws Exception {
+
+ HttpEntry mockEntry = PowerMockito.mock(HttpEntry.class);
+ QueryParser mockQuery = PowerMockito.mock(QueryParser.class);
+ PowerMockito.when(mockQuery.isDependent()).thenReturn(true);
+ TransactionalGraphEngine mockEngine = PowerMockito.mock(TransactionalGraphEngine.class);
+ TitanGraph mockGraph = PowerMockito.mock(TitanGraph.class);
+ //PowerMockito.when(mockEngine.getGraph()).thenReturn(mockGraph);
+ TitanTransaction mockGraphTrans = PowerMockito.mock(TitanTransaction.class);
+ PowerMockito.when(mockGraph.newTransaction()).thenReturn(mockGraphTrans);
+ QueryEngine mockQueryEngine = PowerMockito.mock(QueryEngine.class);
+ PowerMockito.when(mockEngine.getQueryEngine()).thenReturn(mockQueryEngine);
+ PowerMockito.when(mockQuery.getQueryBuilder().getParentQuery().toList()).thenThrow(new TitanException("mock error"));
+ EELFLogger mockLogger = PowerMockito.mock(EELFLogger.class);
+
+ PowerMockito.whenNew(EELFLogger.class).withAnyArguments().thenReturn(mockLogger);
+
+ PowerMockito.mockStatic(LoaderFactory.class);
+
+ DBSerializer dbs = new DBSerializer(AAIProperties.LATEST, mockEngine, null, null);
+
+ thrown.expect(AAIException.class);
+ thrown.expectMessage("AAI_6134");
+ dbs.serializeToDb(null, null, mockQuery, null, null);
+ }
+
+}
diff --git a/aai-resources/src/test/java/org/onap/aai/serialization/queryformats/ResourceFormatSpec.java b/aai-resources/src/test/java/org/onap/aai/serialization/queryformats/ResourceFormatSpec.java
new file mode 100644
index 0000000..c4072c8
--- /dev/null
+++ b/aai-resources/src/test/java/org/onap/aai/serialization/queryformats/ResourceFormatSpec.java
@@ -0,0 +1,60 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.aai.serialization.queryformats;
+
+import com.bazaarvoice.jolt.JsonUtils;
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+import org.onap.aai.transforms.JoltTestUtil;
+
+import java.io.IOException;
+import java.util.List;
+
+public class ResourceFormatSpec {
+
+
+ private final Graph graph;
+ public ResourceFormatSpec() throws IOException {
+
+ this.graph = QueryFormatTestHelper.loadGraphson("resource.graphson");
+ }
+
+
+ public void verifyFormat(Formatter formatter, String fileName) throws IOException {
+ List<Object> vertices = graph.traversal().V().not(__.has("aai-node-type", "cloud-region")).map(x -> (Object)x.get()).toList();
+
+ JsonObject obj = formatter.output(vertices);
+ String jsonStr = new Gson().toJson(obj);
+ Object actual = JsonUtils.jsonToObject(jsonStr);
+
+ Object expected = JsonUtils.filepathToObject(QueryFormatTestHelper.testResources + fileName);
+
+ JoltTestUtil.runArrayOrderObliviousDiffy("Failed case ", expected, actual);
+ }
+
+ public void mockToJson(String result) {
+
+
+
+ }
+}
diff --git a/aai-resources/src/test/java/org/onap/aai/serialization/queryformats/ResourceFormatTest.java b/aai-resources/src/test/java/org/onap/aai/serialization/queryformats/ResourceFormatTest.java
new file mode 100644
index 0000000..ea067e2
--- /dev/null
+++ b/aai-resources/src/test/java/org/onap/aai/serialization/queryformats/ResourceFormatTest.java
@@ -0,0 +1,78 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.aai.serialization.queryformats;
+
+import com.google.gson.JsonObject;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.onap.aai.introspection.Loader;
+import org.onap.aai.serialization.db.DBSerializer;
+import org.onap.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
+import org.onap.aai.serialization.queryformats.utils.UrlBuilder;
+
+import java.io.IOException;
+
+import static org.mockito.Matchers.isA;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+
+@Ignore
+public class ResourceFormatTest {
+
+ @Mock
+ private UrlBuilder urlBuilder;
+ @Mock
+ private DBSerializer serializer;
+ @Mock
+ private Loader loader;
+
+ private ResourceFormatSpec spec;
+
+ @Before
+ public void setup() throws Exception {
+ spec = new ResourceFormatSpec();
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test
+ public void resourceAndUrl() throws Exception {
+ QueryFormatTestHelper.mockPathed(urlBuilder);
+ Resource resource = new Resource.Builder(loader, serializer, urlBuilder).includeUrl().build();
+ Resource spy = spy(resource);
+ doReturn(new JsonObject()).when(spy).vertexToJsonObject(isA(Vertex.class));
+ Formatter formatter = new Formatter(spy);
+ spec.verifyFormat(formatter, "resource_and_url-format.json");
+ }
+
+ @Test
+ public void resource() throws IOException, AAIFormatVertexException {
+ QueryFormatTestHelper.mockPathed(urlBuilder);
+ Resource resource = new Resource.Builder(loader, serializer, urlBuilder).build();
+ Resource spy = spy(resource);
+ doReturn(new JsonObject()).when(spy).vertexToJsonObject(isA(Vertex.class));
+ Formatter formatter = new Formatter(spy);
+ spec.verifyFormat(formatter, "resource-format.json");
+ }
+}
diff --git a/aai-resources/src/test/java/org/onap/aai/util/JettyObfuscationConversionCommandLineUtilTest.java b/aai-resources/src/test/java/org/onap/aai/util/JettyObfuscationConversionCommandLineUtilTest.java
index 90e16c3..94b63e1 100644
--- a/aai-resources/src/test/java/org/onap/aai/util/JettyObfuscationConversionCommandLineUtilTest.java
+++ b/aai-resources/src/test/java/org/onap/aai/util/JettyObfuscationConversionCommandLineUtilTest.java
@@ -21,6 +21,7 @@
*/
package org.onap.aai.util;
+import org.junit.Ignore;
import org.junit.Test;
import java.io.ByteArrayOutputStream;
@@ -30,7 +31,7 @@ import java.util.regex.Pattern;
import static org.junit.Assert.assertTrue;
-
+@Ignore
public class JettyObfuscationConversionCommandLineUtilTest {
private final ByteArrayOutputStream testOut = new ByteArrayOutputStream();
@@ -40,7 +41,7 @@ public class JettyObfuscationConversionCommandLineUtilTest {
@Test
public void test() {
//setup, this will catch main's print statements for evaluation
- System.setOut(new PrintStream(testOut));
+// System.setOut(new PrintStream(testOut));
/* ------ TEST OBFUSCATION ----*/
JettyObfuscationConversionCommandLineUtil.main(new String[]{"-e", "hello world"});
@@ -66,7 +67,7 @@ public class JettyObfuscationConversionCommandLineUtilTest {
assertTrue(deobfMatch.find());
//clean up, resets to stdout
- System.setOut(null);
+// System.setOut(null);
}
}