diff options
11 files changed, 1138 insertions, 1 deletions
diff --git a/aai-core/src/test/java/org/onap/aai/audit/ListEndpointsTest.java b/aai-core/src/test/java/org/onap/aai/audit/ListEndpointsTest.java new file mode 100644 index 00000000..eafffe63 --- /dev/null +++ b/aai-core/src/test/java/org/onap/aai/audit/ListEndpointsTest.java @@ -0,0 +1,106 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 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.audit; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.onap.aai.AAISetup; +import org.onap.aai.concurrent.AaiCallable; +import org.onap.aai.setup.SchemaServiceVersions; +import org.onap.aai.setup.SchemaVersion; +import org.onap.aai.setup.SchemaVersions; +import org.onap.aai.setup.SchemaVersionsBean; +import org.slf4j.MDC; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.PropertySource; +import org.springframework.stereotype.Component; +import org.springframework.test.context.TestPropertySource; + +import javax.validation.constraints.AssertTrue; +import java.io.File; +import java.io.FileReader; +import java.util.List; +import java.util.Map; +import java.util.Properties; + +import static org.junit.Assert.assertTrue; + +public class ListEndpointsTest extends AAISetup { + + private Properties properties; + private SchemaVersion version; + private ListEndpoints listEndpoints; + + @Before + public void setUp() throws Exception { + properties = new Properties(); + version = schemaVersions.getDefaultVersion(); + listEndpoints = new ListEndpoints(basePath, schemaVersions.getDefaultVersion()); + } + + @Test + public void testGetEndpoints() { + Assert.assertTrue(listEndpoints != null); + List<String> list = listEndpoints.getEndpoints(); + Assert.assertTrue(list != null && !list.isEmpty()); + + for (String endpoint : list) { + System.out.println("endpoints: " + endpoint); + } + } + + @Test + public void testGetEndpointsWithParam() { + Assert.assertTrue(listEndpoints != null); + List<String> list = listEndpoints.getEndpoints(); + Assert.assertTrue(list != null && !list.isEmpty()); + } + + @Test(expected = RuntimeException.class) + public void testGetEndpoints_throwException() { + ListEndpoints listEndpointsFail = new ListEndpoints(basePath, null); + } + + @Test + public void testGetLogicalNames() { + Assert.assertTrue(listEndpoints != null); + Map<String, String> map = listEndpoints.getLogicalNames(); + Assert.assertTrue(map != null && !map.isEmpty()); + } + + @Test + public void testToString() { + Assert.assertTrue(listEndpoints != null); + String endpoints = listEndpoints.toString(); + } + + @Test + public void testToStrinWithParam() { + Assert.assertTrue(listEndpoints != null); + String endpoints = listEndpoints.toString("complex"); + Assert.assertTrue(!endpoints.contains("complex")); + } +} diff --git a/aai-core/src/test/java/org/onap/aai/db/DbMethHelperTest.java b/aai-core/src/test/java/org/onap/aai/db/DbMethHelperTest.java new file mode 100644 index 00000000..07fa3890 --- /dev/null +++ b/aai-core/src/test/java/org/onap/aai/db/DbMethHelperTest.java @@ -0,0 +1,224 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 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.db; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Multimap; +import org.apache.commons.io.IOUtils; +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.apache.tinkerpop.gremlin.structure.VertexProperty; +import org.janusgraph.core.JanusGraph; +import org.janusgraph.core.JanusGraphFactory; +import org.junit.*; +import org.junit.rules.ExpectedException; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.onap.aai.AAISetup; +import org.onap.aai.DataLinkSetup; +import org.onap.aai.domain.model.AAIResource; +import org.onap.aai.edges.EdgeIngestor; +import org.onap.aai.exceptions.AAIException; +import org.onap.aai.introspection.Introspector; +import org.onap.aai.introspection.Loader; +import org.onap.aai.introspection.ModelType; +import org.onap.aai.parsers.exceptions.AmbiguousMapAAIException; +import org.onap.aai.parsers.query.QueryParser; +import org.onap.aai.serialization.db.DBSerializer; +import org.onap.aai.serialization.db.EdgeSerializer; +import org.onap.aai.serialization.engines.JanusGraphDBEngine; +import org.onap.aai.serialization.engines.QueryStyle; +import org.onap.aai.serialization.engines.TransactionalGraphEngine; +import org.onap.aai.setup.SchemaVersion; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.annotation.DirtiesContext; + +import java.io.FileInputStream; +import java.io.IOException; +import java.util.*; + +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; + +@RunWith(value = Parameterized.class) +@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS) +public class DbMethHelperTest extends AAISetup { + private DbMethHelper dbMethHelper = new DbMethHelper(); + + @Rule + public ExpectedException thrown = ExpectedException.none(); + protected static Graph graph; + + @Autowired + protected EdgeSerializer edgeSer; + + private SchemaVersion version; + private final ModelType introspectorFactoryType = ModelType.MOXY; + private Loader loader; + private TransactionalGraphEngine dbEngine; + private TransactionalGraphEngine engine; // for tests that aren't mocking the engine + private DBSerializer dbser; + private TransactionalGraphEngine spy; + private TransactionalGraphEngine.Admin adminSpy; + + @Parameterized.Parameter + public QueryStyle queryStyle; + + @Parameterized.Parameters(name = "QueryStyle.{0}") + public static Collection<Object[]> data() { + return Arrays.asList(new Object[][] {{QueryStyle.TRAVERSAL}}); + } + + @BeforeClass + public static void init() { + graph = JanusGraphFactory.build().set("storage.backend", "inmemory").open(); + } + + @Before + public void setUp() throws Exception { + version = schemaVersions.getDefaultVersion(); + loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, version); + dbEngine = new JanusGraphDBEngine(queryStyle, loader); + spy = spy(dbEngine); + adminSpy = spy(dbEngine.asAdmin()); + + engine = new JanusGraphDBEngine(queryStyle, loader); + dbser = new DBSerializer(version, dbEngine, introspectorFactoryType, "AAI-TEST"); + dbMethHelper = new DbMethHelper(loader, spy); + + Vertex pserver1 = graph.addVertex("aai-node-type", "pserver", "hostname", "testSearchVertexByIdentityMap-pserver-hostname-01"); + Vertex pserver2 = graph.addVertex("aai-node-type", "pserver", "hostname", "testSearchVertexByIdentityMap-pserver-hostname-02"); + Vertex genericVnf1 = graph.addVertex("aai-node-type", "generic-vnf", "vnf-id", "key1", "vnf-name", "vnfName1"); + Vertex complex1 = graph.addVertex("aai-node-type", "complex", "physical-location-id", "id1"); + GraphTraversalSource g = graph.traversal(); + when(spy.asAdmin()).thenReturn(adminSpy); + when(adminSpy.getTraversalSource()).thenReturn(g); + when(adminSpy.getReadOnlyTraversalSource()).thenReturn(g); + } + + @Test + public void testSearchVertexByIdentityMap() throws Exception{ + String type = "pserver"; + Map<String, Object> map = new HashMap<>(); + map.put("pserver.hostname", "testSearchVertexByIdentityMap-pserver-hostname-01"); + + Optional<Vertex> optionalVertex; + try { + optionalVertex = dbMethHelper.searchVertexByIdentityMap(type, map); + } catch (Exception e) { + throw new Exception(e); + } + Assert.assertEquals("vp[hostname->testSearchVertexById]", optionalVertex.get().property("hostname").toString()); + } + + @Test(expected = AmbiguousMapAAIException.class) + public void testSearchVertexByIdentityMap_throwAmbiguousMapAAIException() throws AmbiguousMapAAIException, Exception { + String type = "pserver"; + Map<String, Object> map = new HashMap<>(); + map.put("pserver.hostname", "testSearchVertexByIdentityMap-pserver-hostname-01"); + map.put("complex.physical-location-id", "id1"); + + Optional<Vertex> optionalVertex; + try { + optionalVertex = dbMethHelper.searchVertexByIdentityMap(type, map); + } catch (AmbiguousMapAAIException e) { + throw new AmbiguousMapAAIException(e); + } + } + + @Test + public void testLocateUniqueVertex() throws Exception { + String type = "complex"; + Map<String, Object> map = new HashMap<>(); + Vertex complex2 = graph.addVertex("aai-node-type", "complex", "physical-location-id", "id2"); + map.put("physical-location-id", "id2"); + Optional<Vertex> optionalVertex = dbMethHelper.locateUniqueVertex(type, map); + Assert.assertEquals("vp[physical-location-id->id2]", optionalVertex.get().property("physical-location-id").toString()); + } + + @Test(expected = AAIException.class) + public void testLocateUniqueVertex_throwsException() throws AAIException, Exception { + String type = "Pserver"; + Map<String, Object> map = new HashMap<>(); + Introspector obj = loader.unmarshal("relationship", this.getJsonString("related-link-and-relationship-data.json")); + map.put("hostname", "testSearchVertexByIdentityMap-pserver-hostname-01"); + dbMethHelper.locateUniqueVertex(type, map); + } + + @Test + public void testLocateUniqueVertex_returnNull() throws Exception { + String type = "complex"; + Map<String, Object> map = new HashMap<>(); + map.put("physical-location-id", "bogusId"); + Optional<Vertex> optionalVertex = dbMethHelper.locateUniqueVertex(type, map); + Assert.assertEquals(optionalVertex, Optional.empty()); + } + + @Test + public void testGetVertexProperties() throws Exception { + Vertex pserver3 = graph.addVertex("aai-node-type", "pserver", "hostname", "testGetVertexProperties-pserver-hostname-01", + "ptnii-equip-name", "testGetVertexProperties-pserver-ptnii-equip-name-01"); + String type = "pserver"; + Map<String, Object> map = new HashMap<>(); + map.put("pserver.hostname", "testGetVertexProperties-pserver-hostname-01"); + + Optional<Vertex> optionalVertex; + try { + optionalVertex = dbMethHelper.searchVertexByIdentityMap(type, map); + } catch (Exception e) { + throw new Exception(e); + } + + Vertex v = optionalVertex.get(); + List<String> vertexProperties = dbMethHelper.getVertexProperties(v); + Assert.assertTrue(vertexProperties.contains("Prop: [aai-node-type], val = [pserver] ")); + Assert.assertTrue(vertexProperties.contains("Prop: [hostname], val = [testGetVertexProperties-pserver-hostname-01] ")); + Assert.assertTrue(vertexProperties.contains("Prop: [ptnii-equip-name], val = [testGetVertexProperties-pserver-ptnii-equip-name-01] ")); + } + + @Test + public void testGetVertexProperties_nullParameter() { + List<String> vertexProperties = dbMethHelper.getVertexProperties(null); + Assert.assertTrue(vertexProperties.contains("null Node object passed to showPropertiesForNode()\n")); + Assert.assertTrue(vertexProperties.size() == 1); + } + + private String getJsonString(String filename) throws IOException { + FileInputStream is = new FileInputStream("src/test/resources/bundleconfig-local/etc/relationship/" + filename); + String s = IOUtils.toString(is, "UTF-8"); + IOUtils.closeQuietly(is); + return s; + } + + @After + public void tearDown() throws Exception { + engine.rollback(); + dbEngine.rollback(); + } + + @AfterClass + public static void destroy() throws Exception { + graph.close(); + } +} diff --git a/aai-core/src/test/java/org/onap/aai/domain/model/AAIResourceTest.java b/aai-core/src/test/java/org/onap/aai/domain/model/AAIResourceTest.java new file mode 100644 index 00000000..61e76071 --- /dev/null +++ b/aai-core/src/test/java/org/onap/aai/domain/model/AAIResourceTest.java @@ -0,0 +1,282 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 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.domain.model; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Multimap; +import com.sun.org.apache.xalan.internal.xsltc.compiler.util.MultiHashtable; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.onap.aai.AAISetup; +import org.onap.aai.audit.ListEndpoints; +import org.onap.aai.setup.SchemaVersion; + +import java.util.*; + +public class AAIResourceTest extends AAISetup { + private AAIResource aaiResource; + + @Before + public void setUp() throws Exception { + aaiResource = new AAIResource(); + } + + @Test + public void testGetterSetterParent() { + AAIResource aaiResourceParent = new AAIResource(); + aaiResource.setParent(aaiResourceParent); + Assert.assertEquals(aaiResource.getParent(), aaiResourceParent); + } + + @Test + public void testGetChildren() { + Assert.assertNotNull(aaiResource.getChildren()); + } + + @Test + public void testGetAaiResourceKeys() { + Assert.assertNotNull(aaiResource.getAaiResourceKeys()); + } + + @Test + public void testGetterSetterNamespace() { + String testNamespace = "testNamespace"; + aaiResource.setNamespace(testNamespace); + Assert.assertEquals(testNamespace, aaiResource.getNamespace()); + } + + @Test + public void testGetterSetterResourceType() { + String testResourceType = "testResourceType"; + aaiResource.setResourceType(testResourceType); + Assert.assertEquals(testResourceType, aaiResource.getResourceType()); + } + + @Test + public void testGetterSetterSimpleName() { + String testSimpleName = "testSimpleName"; + aaiResource.setSimpleName(testSimpleName); + Assert.assertEquals(testSimpleName, aaiResource.getSimpleName()); + } + + @Test + public void testGetterSetterFullName() { + String testFullName = "testFullName"; + aaiResource.setFullName(testFullName); + Assert.assertEquals(testFullName, aaiResource.getFullName()); + } + + @Test + public void testGetterSetterUri() { + String testUri = "testUri"; + aaiResource.setUri(testUri); + Assert.assertEquals(testUri, aaiResource.getUri()); + } + + @Test + public void testGetterSetterResourceClassName() { + String testResourceClassName = "testResourceClassName"; + aaiResource.setResourceClassName(testResourceClassName); + Assert.assertEquals(testResourceClassName, aaiResource.getResourceClassName()); + } + + @Test + public void testGetterSetterPropertyDataTypeMap() { + Map<String, String> propertyDataTypeMap = new HashMap<>(); + aaiResource.setPropertyDataTypeMap(propertyDataTypeMap); + Assert.assertEquals(propertyDataTypeMap, aaiResource.getPropertyDataTypeMap()); + } + + @Test + public void testGetterSetterNodeMapIndexedProps() { + Multimap<String, String> nodeMapIndexedProps = ArrayListMultimap.create(); + aaiResource.setNodeMapIndexedProps(nodeMapIndexedProps); + Assert.assertEquals(nodeMapIndexedProps, aaiResource.getNodeMapIndexedProps()); + } + + @Test + public void testGetterSetterNodeKeyProps() { + Multimap<String, String> nodeKeyProps = ArrayListMultimap.create(); + aaiResource.setNodeKeyProps(nodeKeyProps); + Assert.assertEquals(nodeKeyProps, aaiResource.getNodeKeyProps()); + } + + @Test + public void testGetterSetterNodeNameProps() { + Multimap<String, String> nodeNameProps = ArrayListMultimap.create(); + aaiResource.setNodeNameProps(nodeNameProps); + Assert.assertEquals(nodeNameProps, aaiResource.getNodeNameProps()); + } + + @Test + public void testGetterSetterNodeUniqueProps() { + Multimap<String, String> nodeUniqueProps = ArrayListMultimap.create(); + aaiResource.setNodeUniqueProps(nodeUniqueProps); + Assert.assertEquals(nodeUniqueProps, aaiResource.getNodeUniqueProps()); + } + + @Test + public void testGetterSetterNodeReqProps() { + Multimap<String, String> nodeReqProps = ArrayListMultimap.create(); + aaiResource.setNodeReqProps(nodeReqProps); + Assert.assertEquals(nodeReqProps, aaiResource.getNodeReqProps()); + } + + @Test + public void testGetterSetterApiVersion() { + String testApiVersion = "testApiVersion"; + aaiResource.setApiVersion(testApiVersion); + Assert.assertEquals(testApiVersion, aaiResource.getApiVersion()); + } + + @Test + public void testGetterSetterRelationshipClass() { + String testRelationshipClass = "testRelationshipClass"; + aaiResource.setRelationshipListClass(testRelationshipClass); + Assert.assertEquals(testRelationshipClass, aaiResource.getRelationshipListClass()); + } + + @Test + public void testGetterSetterRelationshipUtils() { + String testRelationshipUtils = "testRelationshipUtils"; + aaiResource.setRelationshipUtils(testRelationshipUtils); + Assert.assertEquals(testRelationshipUtils, aaiResource.getRelationshipUtils()); + } + + @Test + public void testGetterSetterStringFields() { + Assert.assertNotNull(aaiResource.getStringFields()); + ArrayList<String> stringFields = new ArrayList<>(); + aaiResource.setStringFields(stringFields); + Assert.assertEquals(stringFields, aaiResource.getStringFields()); + } + + @Test + public void testGetterSetterStringListFields() { + Assert.assertNotNull(aaiResource.getStringListFields()); + ArrayList<String> stringListFields = new ArrayList<>(); + aaiResource.setStringListFields(stringListFields); + Assert.assertEquals(stringListFields, aaiResource.getStringListFields()); + } + + @Test + public void testGetterSetterLongFields() { + Assert.assertNotNull(aaiResource.getLongFields()); + ArrayList<String> longFields = new ArrayList<>(); + aaiResource.setLongFields(longFields); + Assert.assertEquals(longFields, aaiResource.getLongFields()); + } + + @Test + public void testGetterSetterIntFields() { + Assert.assertNotNull(aaiResource.getIntFields()); + ArrayList<String> intFields = new ArrayList<>(); + aaiResource.setIntFields(intFields); + Assert.assertEquals(intFields, aaiResource.getIntFields()); + } + + @Test + public void testGetterSetterShortFields() { + Assert.assertNotNull(aaiResource.getShortFields()); + ArrayList<String> shortFields = new ArrayList<>(); + aaiResource.setShortFields(shortFields); + Assert.assertEquals(shortFields, aaiResource.getShortFields()); + } + + @Test + public void testGetterSetterBooleanFields() { + Assert.assertNotNull(aaiResource.getBooleanFields()); + ArrayList<String> booleanFields = new ArrayList<>(); + aaiResource.setBooleanFields(booleanFields); + Assert.assertEquals(booleanFields, aaiResource.getBooleanFields()); + } + + @Test + public void testGetterSetterRequiredFields() { + Assert.assertNotNull(aaiResource.getRequiredFields()); + ArrayList<String> requiredFields = new ArrayList<>(); + aaiResource.setRequiredFields(requiredFields); + Assert.assertEquals(requiredFields, aaiResource.getRequiredFields()); + } + + @Test + public void testGetOrderedFields() { + Assert.assertNotNull(aaiResource.getOrderedFields()); + } + + @Test + public void testGetAllFields() { + Assert.assertNotNull(aaiResource.getAllFields()); + } + + @Test + public void testGetPluralName() { + AAIResource ar = new AAIResource(); + ar.setSimpleName("List"); + String pluralName = ar.getPluralName(); + Assert.assertEquals("", pluralName); + ar.setFullName("Some/FullName/ExpectedValue/Here"); + ar.setSimpleName("bogusValue"); + pluralName = ar.getPluralName(); + Assert.assertEquals("ExpectedValue", pluralName); + } + + @Test + public void testGetterSetterNodeAltKey1Props() { + Multimap<String, String> nodeAltKey1Props = ArrayListMultimap.create(); + aaiResource.setNodeAltKey1Props(nodeAltKey1Props); + Assert.assertEquals(nodeAltKey1Props, aaiResource.getNodeAltKey1Props()); + } + + @Test + public void testGetterSetterNodeDependencies() { + Multimap<String, String> _dbRulesNodeDependencies = ArrayListMultimap.create(); + aaiResource.setNodeDependencies(_dbRulesNodeDependencies); + Assert.assertEquals(_dbRulesNodeDependencies, aaiResource.getNodeDependencies()); + } + + @Test + public void testGetterSetterRecurseToResource() { + AAIResource recurseToResource = new AAIResource(); + recurseToResource.setFullName("FullNameTest"); + aaiResource.setRecurseToResource(recurseToResource); + Assert.assertEquals(recurseToResource, aaiResource.getRecurseToResource()); + } + + @Test + public void testGetterSetterAllowDirectWrite() { + aaiResource.setAllowDirectWrite(true); + Assert.assertTrue(aaiResource.isAllowDirectWrite()); + } + + @Test + public void testGetterSetterAllowDirectRead() { + aaiResource.setAllowDirectRead(true); + Assert.assertTrue(aaiResource.isAllowDirectRead()); + } + + @Test + public void testGetAutoGenUuidFields() { + Assert.assertNotNull(aaiResource.getAutoGenUuidFields()); + } + +} diff --git a/aai-core/src/test/java/org/onap/aai/domain/translog/TransactionLogEntriesTest.java b/aai-core/src/test/java/org/onap/aai/domain/translog/TransactionLogEntriesTest.java new file mode 100644 index 00000000..79a9289a --- /dev/null +++ b/aai-core/src/test/java/org/onap/aai/domain/translog/TransactionLogEntriesTest.java @@ -0,0 +1,49 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 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.domain.translog; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Multimap; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.onap.aai.AAISetup; +import org.onap.aai.domain.model.AAIResource; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class TransactionLogEntriesTest extends AAISetup { + private TransactionLogEntries transactionLogEntries; + + @Before + public void setUp() { + transactionLogEntries = new TransactionLogEntries(); + } + + @Test + public void testGetterSetterParent() { + Assert.assertNotNull(transactionLogEntries.getTransactionLogEntries()); + } + +} diff --git a/aai-core/src/test/java/org/onap/aai/domain/translog/TransactionLogEntryTest.java b/aai-core/src/test/java/org/onap/aai/domain/translog/TransactionLogEntryTest.java new file mode 100644 index 00000000..b692519c --- /dev/null +++ b/aai-core/src/test/java/org/onap/aai/domain/translog/TransactionLogEntryTest.java @@ -0,0 +1,148 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 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.domain.translog; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Multimap; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.onap.aai.AAISetup; +import org.onap.aai.domain.model.AAIResource; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class TransactionLogEntryTest extends AAISetup { + private TransactionLogEntry transactionLogEntry; + + @Before + public void setUp() { + transactionLogEntry = new TransactionLogEntry(); + } + + @Test + public void testGetterSetterTransactionLogEntryId() { + String testTransactionLogEntryId = "testTransactionLogEntryId"; + transactionLogEntry.setTransactionLogEntryId(testTransactionLogEntryId); + Assert.assertEquals(testTransactionLogEntryId, transactionLogEntry.getTransactionLogEntryId()); + } + + @Test + public void testGetterSetterStatus() { + String testStatus = "testStatus"; + transactionLogEntry.setStatus(testStatus); + Assert.assertEquals(testStatus, transactionLogEntry.getStatus()); + } + + @Test + public void testGetterSetterRqstDate() { + String testRqstDate = "testRqstDate"; + transactionLogEntry.setRqstDate(testRqstDate); + Assert.assertEquals(testRqstDate, transactionLogEntry.getRqstDate()); + } + + @Test + public void testGetterSetterRespDate() { + String testRespDate = "testRespDate"; + transactionLogEntry.setRespDate(testRespDate); + Assert.assertEquals(testRespDate, transactionLogEntry.getRespDate()); + } + + @Test + public void testGetterSetterSourceId() { + String testSourceId = "testSourceId"; + transactionLogEntry.setSourceId(testSourceId); + Assert.assertEquals(testSourceId, transactionLogEntry.getSourceId()); + } + + @Test + public void testGetterSetterResourceId() { + String testResourceId = "testResourceId"; + transactionLogEntry.setResourceId(testResourceId); + Assert.assertEquals(testResourceId, transactionLogEntry.getResourceId()); + } + + @Test + public void testGetterSetterResourceType() { + String testResourceType = "testResourceType"; + transactionLogEntry.setResourceType(testResourceType); + Assert.assertEquals(testResourceType, transactionLogEntry.getResourceType()); + } + + @Test + public void testGetterSetterRqstBuf() { + String testRqstBuf = "testRqstBuf"; + transactionLogEntry.setRqstBuf(testRqstBuf); + Assert.assertEquals(testRqstBuf, transactionLogEntry.getRqstBuf()); + } + + @Test + public void testGetterSetterRespBuf() { + String testRespBuf = "testRespBuf"; + transactionLogEntry.setrespBuf(testRespBuf); + Assert.assertEquals(testRespBuf, transactionLogEntry.getrespBuf()); + } + + @Test + public void testGetterSetterNotificationPayload() { + String testNotificationPayload = "testNotificationPayload"; + transactionLogEntry.setNotificationPayload(testNotificationPayload); + Assert.assertEquals(testNotificationPayload, transactionLogEntry.getNotificationPayload()); + } + + @Test + public void testGetterSetterNotificationId() { + String testNotificationId = "testNotificationId"; + transactionLogEntry.setNotificationId(testNotificationId); + Assert.assertEquals(testNotificationId, transactionLogEntry.getNotificationId()); + } + + @Test + public void testGetterSetterNotificationStatus() { + String testNotificationStatus = "testNotificationStatus"; + transactionLogEntry.setNotificationStatus(testNotificationStatus); + Assert.assertEquals(testNotificationStatus, transactionLogEntry.getNotificationStatus()); + } + + @Test + public void testGetterSetterNotificationTopic() { + String testNotificationTopic = "testNotificationTopic"; + transactionLogEntry.setNotificationTopic(testNotificationTopic); + Assert.assertEquals(testNotificationTopic, transactionLogEntry.getNotificationTopic()); + } + + @Test + public void testGetterSetterNotificationEntityLink() { + String testNotificationEntityLink = "testNotificationEntityLink"; + transactionLogEntry.setNotificationEntityLink(testNotificationEntityLink); + Assert.assertEquals(testNotificationEntityLink, transactionLogEntry.getNotificationEntityLink()); + } + + @Test + public void testGetterSetterNotificationAction() { + String testNotificationAction = "testNotificationAction"; + transactionLogEntry.setNotificationAction(testNotificationAction); + Assert.assertEquals(testNotificationAction, transactionLogEntry.getNotificationAction()); + } +} diff --git a/aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java b/aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java index 95220b1f..0adcbfe0 100644 --- a/aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java +++ b/aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java @@ -23,6 +23,9 @@ package org.onap.aai.rest.db; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import org.javatuples.Pair; +import org.json.JSONArray; +import org.json.JSONObject; +import org.junit.Assert; import org.junit.Before; import org.junit.FixMethodOrder; import org.junit.Test; @@ -136,7 +139,7 @@ public class HttpEntryTest extends AAISetup { objType = "relationship"; } Introspector obj; - if (method.equals(HttpMethod.GET)) { + if (method.equals(HttpMethod.GET) || method.equals(HttpMethod.GET_RELATIONSHIP)) { obj = loader.introspectorFromName(objType); } else { obj = loader.unmarshal(objType, content, org.onap.aai.restcore.MediaType.getEnum("application/json")); @@ -603,4 +606,98 @@ public class HttpEntryTest extends AAISetup { assertThat("Related to pserver is returned.", respBody, containsString("\"hostname\":\"junit-abstract-test-pserver\"")); } + + @Test + public void getRelationshipListTest() throws UnsupportedEncodingException, AAIException { + traversalHttpEntry.setHttpEntryProperties(schemaVersions.getDefaultVersion()); + Loader loader = traversalHttpEntry.getLoader(); + TransactionalGraphEngine dbEngine = traversalHttpEntry.getDbEngine(); + + // Put pserver + String uri = "/cloud-infrastructure/pservers/pserver/httpEntryTest-pserver-01"; + String content = "{\"hostname\":\"httpEntryTest-pserver-01\"}"; + doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.PUT, uri, content); + // Put complex + uri = "/cloud-infrastructure/complexes/complex/httpEntryTest-complex-01"; + content = + "{\"physical-location-id\":\"httpEntryTest-complex-01\",\"physical-location-type\":\"AAIDefault\",\"street1\":\"AAIDefault\",\"city\":\"AAIDefault\",\"state\":\"NJ\",\"postal-code\":\"07748\",\"country\":\"USA\",\"region\":\"US\"}"; + doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.PUT, uri, content); + + // Put Relationship + uri = "/cloud-infrastructure/pservers/pserver/httpEntryTest-pserver-01/relationship-list/relationship"; + content = "{\"related-to\":\"complex\",\"related-link\":\"/aai/" + schemaVersions.getDefaultVersion().toString() + + "/cloud-infrastructure/complexes/complex/httpEntryTest-complex-01\",\"relationship-label\":\"org.onap.relationships.inventory.LocatedIn\"}" + + "\"relationship-daasSta\":[{" + + "\"relationship-key\":\"complex.physical-location-id\"," + + "\"relationship-value\":\"httpEntryTest-complex-01\"" + + "}]"; + Response response = doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.PUT_EDGE, uri, content); + assertEquals("Expected the pserver relationship to be created", 200, response.getStatus()); + + // Get Relationship + uri = "/cloud-infrastructure/pservers/pserver/httpEntryTest-pserver-01"; + content = ""; + response = doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.GET_RELATIONSHIP, uri, content); + String expected = "{\"relationship\":[{\"related-to\":\"complex\",\"relationship-label\":\"org.onap.relationships.inventory.LocatedIn\",\"related-link\":\"/aai/v14/cloud-infrastructure/complexes/complex/httpEntryTest-complex-01\",\"relationship-data\":[{\"relationship-key\":\"complex.physical-location-id\",\"relationship-value\":\"httpEntryTest-complex-01\"}]}]}"; + Assert.assertEquals(expected, response.getEntity().toString()); + + dbEngine.rollback(); + } + + @Test + public void getRelationshipListTestWithFormatSimple() throws UnsupportedEncodingException, AAIException { + traversalHttpEntry.setHttpEntryProperties(schemaVersions.getDefaultVersion()); + Loader loader = traversalHttpEntry.getLoader(); + TransactionalGraphEngine dbEngine = traversalHttpEntry.getDbEngine(); + + // Put pserver + String uri = "/cloud-infrastructure/pservers/pserver/httpEntryTest-pserver-01"; + String content = "{\"hostname\":\"httpEntryTest-pserver-01\"}"; + doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.PUT, uri, content); + // Put complex + uri = "/cloud-infrastructure/complexes/complex/httpEntryTest-complex-01"; + content = + "{\"physical-location-id\":\"httpEntryTest-complex-01\",\"physical-location-type\":\"AAIDefault\",\"street1\":\"AAIDefault\",\"city\":\"AAIDefault\",\"state\":\"NJ\",\"postal-code\":\"07748\",\"country\":\"USA\",\"region\":\"US\"}"; + doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.PUT, uri, content); + + // Put Relationship + uri = "/cloud-infrastructure/pservers/pserver/httpEntryTest-pserver-01/relationship-list/relationship"; + content = "{\"related-to\":\"complex\",\"related-link\":\"/aai/" + schemaVersions.getDefaultVersion().toString() + + "/cloud-infrastructure/complexes/complex/httpEntryTest-complex-01\",\"relationship-label\":\"org.onap.relationships.inventory.LocatedIn\"}" + + "\"relationship-daasSta\":[{" + + "\"relationship-key\":\"complex.physical-location-id\"," + + "\"relationship-value\":\"httpEntryTest-complex-01\"" + + "}]"; + Response response = doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.PUT_EDGE, uri, content); + assertEquals("Expected the pserver relationship to be created", 200, response.getStatus()); + + // GET complex + uri = "/cloud-infrastructure/pservers/pserver/httpEntryTest-pserver-01"; + content = ""; + response = doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.GET, uri, content); + + // Get Relationship + uri = "/cloud-infrastructure/pservers/pserver/httpEntryTest-pserver-01"; + queryParameters.add("format", "resource"); + content = ""; + response = doRequest(traversalHttpEntry, loader, dbEngine, HttpMethod.GET_RELATIONSHIP, uri, content); + String responsePayload = response.getEntity().toString(); + JSONObject responseJsonObject = new JSONObject(responsePayload); + JSONArray responseResultsArray = responseJsonObject.getJSONArray("results"); + String responseResults = responseResultsArray.get(0).toString(); + JSONObject pserverResponseObject = new JSONObject(responseResults); + String pserverResponse = pserverResponseObject.get("pserver").toString(); + JSONObject pserverResponseFields = new JSONObject(pserverResponse); + String pserverResponseRelationshipList = pserverResponseFields.get("relationship-list").toString(); + + String expected = "{\"relationship\":[{\"related-to\":\"complex\",\"relationship-data\":[{\"relationship-value\":\"httpEntryTest-complex-01\",\"relationship-key\":\"complex.physical-location-id\"}],\"related-link\":\"/aai/v14/cloud-infrastructure/complexes/complex/httpEntryTest-complex-01\",\"relationship-label\":\"org.onap.relationships.inventory.LocatedIn\"}]}"; + assertEquals(expected, pserverResponseRelationshipList); +// Assert.assertEquals(expected, response.getEntity().toString()); + queryParameters.remove("format"); + + dbEngine.rollback(); + } + + + } diff --git a/aai-core/src/test/java/org/onap/aai/restcore/CustomJacksonJaxBJsonProviderTest.java b/aai-core/src/test/java/org/onap/aai/restcore/CustomJacksonJaxBJsonProviderTest.java new file mode 100644 index 00000000..8ea5722a --- /dev/null +++ b/aai-core/src/test/java/org/onap/aai/restcore/CustomJacksonJaxBJsonProviderTest.java @@ -0,0 +1,35 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 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.restcore; + +import org.junit.Assert; +import org.junit.Test; +import org.onap.aai.AAISetup; + +public class CustomJacksonJaxBJsonProviderTest extends AAISetup { + public static CustomJacksonJaxBJsonProvider customJacksonJaxBJsonProvider; + + @Test + public void testGetMapper() { + customJacksonJaxBJsonProvider = new CustomJacksonJaxBJsonProvider(); + Assert.assertNotNull(customJacksonJaxBJsonProvider.getMapper()); + } +} diff --git a/aai-core/src/test/java/org/onap/aai/restcore/JettyObfuscationConversionCommandLineUtilTest.java b/aai-core/src/test/java/org/onap/aai/restcore/JettyObfuscationConversionCommandLineUtilTest.java new file mode 100644 index 00000000..c86c371d --- /dev/null +++ b/aai-core/src/test/java/org/onap/aai/restcore/JettyObfuscationConversionCommandLineUtilTest.java @@ -0,0 +1,79 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 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.restcore; + +import org.apache.commons.io.IOUtils; +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.janusgraph.core.JanusGraphFactory; +import org.junit.*; +import org.junit.rules.ExpectedException; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.onap.aai.AAISetup; +import org.onap.aai.db.DbMethHelper; +import org.onap.aai.exceptions.AAIException; +import org.onap.aai.introspection.Introspector; +import org.onap.aai.introspection.Loader; +import org.onap.aai.introspection.ModelType; +import org.onap.aai.parsers.exceptions.AmbiguousMapAAIException; +import org.onap.aai.serialization.db.DBSerializer; +import org.onap.aai.serialization.db.EdgeSerializer; +import org.onap.aai.serialization.engines.JanusGraphDBEngine; +import org.onap.aai.serialization.engines.QueryStyle; +import org.onap.aai.serialization.engines.TransactionalGraphEngine; +import org.onap.aai.setup.SchemaVersion; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.annotation.DirtiesContext; + +import java.io.FileInputStream; +import java.io.IOException; +import java.text.ParseException; +import java.util.*; + +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; + +public class JettyObfuscationConversionCommandLineUtilTest extends AAISetup { + public static JettyObfuscationConversionCommandLineUtil jettyObfuscationConversionCommandLineUtil; + + @Test + public void testMainObfuscation() { + String[] args = {"-e", "[thisStringToObfuscate]"}; + jettyObfuscationConversionCommandLineUtil.main(args); + Assert.assertTrue(true); // No exception was encountered + } + + @Test + public void testMainDeobfuscation() { + String[] args = {"-d", "OBF:1pj11w261wmr1t3b1vgv1s9r1z7i1vuz1tae1qji1vg71mdb1vgn1qhs1ta01vub1z7k1sbj1vfz1t2v1wnf1w1c1pj5"}; + jettyObfuscationConversionCommandLineUtil.main(args); + Assert.assertTrue(true); // No exception was encountered + } + + @Test + public void testMain_failedParseInput() { + String[] args = {"-e [thisStringToObfuscate]"}; + jettyObfuscationConversionCommandLineUtil.main(args); + Assert.assertTrue(true); // No exception was encountered + } +} diff --git a/aai-core/src/test/java/org/onap/aai/restcore/RESTAPITest.java b/aai-core/src/test/java/org/onap/aai/restcore/RESTAPITest.java new file mode 100644 index 00000000..6be45ff5 --- /dev/null +++ b/aai-core/src/test/java/org/onap/aai/restcore/RESTAPITest.java @@ -0,0 +1,105 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 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.restcore; + +import com.google.common.collect.HashMultimap; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.onap.aai.AAISetup; +import org.onap.aai.exceptions.AAIException; +import org.onap.aai.parsers.exceptions.AmbiguousMapAAIException; + +import javax.ws.rs.core.*; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.Callable; + +public class RESTAPITest extends AAISetup { + private static RESTAPI restapi; + private static HttpHeaders httpHeaders; + private static Callable callable; + private static UriInfo info; + private static Response response; + + public static final String AAI_TIMEOUT_ENABLED = "aai.timeout.enabled"; + public static final String AAI_TIMEOUT_BY_APP = "aai.timeout.by.app"; + public static final String AAI_TIMEOUT_DEFAULT_LIMIT = "aai.timeout.default.limit"; + + @BeforeClass + public static void setUp() { + restapi = new RESTAPI(); + httpHeaders = mock(HttpHeaders.class); + callable = mock(Callable.class); + info = mock(UriInfo.class); + response = mock(Response.class); + } + + @Test + public void testGetFromAppId() throws AAIException { + List<String> fromAppIdList = new ArrayList<>(); + fromAppIdList.add("from-app-id-01"); + when(httpHeaders.getRequestHeader("X-FromAppId")).thenReturn(fromAppIdList); + + String fromAppId = restapi.getFromAppId(httpHeaders); + Assert.assertEquals("from-app-id-01", fromAppId); + } + + @Test(expected = AAIException.class) + public void testGetFromAppId_throwAAIException() throws AAIException { + when(httpHeaders.getRequestHeader("X-FromAppId")).thenReturn(null); + restapi.getFromAppId(httpHeaders); + } + + @Test + public void testGetTransId() throws AAIException { + List<String> transactionIdList = new ArrayList<>(); + transactionIdList.add("transaction-id-01"); + when(httpHeaders.getRequestHeader("X-TransactionId")).thenReturn(transactionIdList); + + String transId = restapi.getTransId(httpHeaders); + Assert.assertEquals("transaction-id-01", transId); + } + + @Test(expected = AAIException.class) + public void testGetTransId_throwAAIException() throws AAIException { + when(httpHeaders.getRequestHeader("X-TransactionId")).thenReturn(null); + String transId = restapi.getTransId(httpHeaders); + } + + @Test + public void testRunner() throws AAIException, Exception { + MultivaluedMap<String, String> requestHeaders = new MultivaluedHashMap<String, String>(); + requestHeaders.add("X-FromAppId", "from-app-id-01"); + requestHeaders.add("X-TransactionId", "transaction-id-01"); + when(httpHeaders.getRequestHeaders()).thenReturn(requestHeaders); + when(callable.call()).thenReturn(response); + + Response resp = restapi.runner(AAI_TIMEOUT_ENABLED, AAI_TIMEOUT_BY_APP, AAI_TIMEOUT_DEFAULT_LIMIT, httpHeaders, info, HttpMethod.GET, callable); + Assert.assertNotNull(resp); + } +} diff --git a/aai-core/src/test/resources/bundleconfig-local/etc/appprops/aaiconfig.properties b/aai-core/src/test/resources/bundleconfig-local/etc/appprops/aaiconfig.properties index f0e09d40..c7eaad36 100644 --- a/aai-core/src/test/resources/bundleconfig-local/etc/appprops/aaiconfig.properties +++ b/aai-core/src/test/resources/bundleconfig-local/etc/appprops/aaiconfig.properties @@ -57,3 +57,7 @@ aai.rest.getall.depthparam=someuuid aaf.valid.issuer.wildcard=aaf wild card issuer|aafWildCardIssuer|OU=another aai.implied.delete.whitelist.junit='pserver','l-interface' + +aai.timeout.enabled=true +aai.timeout.by.app=from-app-id-01,100|from-app-id-02,200 +aai.timeout.default.limit=500 diff --git a/aai-core/src/test/resources/bundleconfig-local/etc/relationship/related-link-and-relationship-data.json b/aai-core/src/test/resources/bundleconfig-local/etc/relationship/related-link-and-relationship-data.json new file mode 100644 index 00000000..da957497 --- /dev/null +++ b/aai-core/src/test/resources/bundleconfig-local/etc/relationship/related-link-and-relationship-data.json @@ -0,0 +1,8 @@ +{ + "related-to": "generic-vnf", + "related-link": "http://localhost/aai/v10/network/generic-vnfs/generic-vnf/key1", + "relationship-data" : [{ + "relationship-key" : "generic-vnf.vnf-id", + "relationship-value":"key1" + }] +} |