From 28f9fa1399f5e513a3d5860c52cd51b615bc0a2c Mon Sep 17 00:00:00 2001 From: "Sotiropoulos, Ioannis (is948x)" Date: Mon, 11 Jun 2018 09:54:54 +0100 Subject: Process multi-OXM files Gizmo service uses common OXM consumer to process multi-OXM files Issue-ID: AAI-1196 Change-Id: If6dd50413a914984948272cd6bd98e2eeeaecedb Signed-off-by: Sotiropoulos, Ioannis (is948x) --- .../org/onap/crud/service/CrudRestServiceTest.java | 57 ++++++++++++++++++--- .../java/org/onap/schema/OxmModelLoaderTest.java | 59 ++++++++++++++++++++++ .../onap/schema/RelationshipSchemaLoaderTest.java | 11 ++-- 3 files changed, 116 insertions(+), 11 deletions(-) create mode 100644 src/test/java/org/onap/schema/OxmModelLoaderTest.java (limited to 'src/test/java/org') diff --git a/src/test/java/org/onap/crud/service/CrudRestServiceTest.java b/src/test/java/org/onap/crud/service/CrudRestServiceTest.java index 3d1ce12..a4b4305 100644 --- a/src/test/java/org/onap/crud/service/CrudRestServiceTest.java +++ b/src/test/java/org/onap/crud/service/CrudRestServiceTest.java @@ -26,9 +26,12 @@ import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; +import java.nio.file.Path; +import java.nio.file.Paths; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.Response; +import org.junit.Assert; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -78,9 +81,10 @@ public class CrudRestServiceTest { @Before public void init() throws Exception { - ClassLoader classLoader = getClass().getClassLoader(); - File dir = new File(classLoader.getResource("model").getFile()); - System.setProperty("CONFIG_HOME", dir.getParent()); + Path resourcePath = Paths.get(ClassLoader.getSystemResource("model").toURI()); + Path parentPath = resourcePath.getParent(); + + System.setProperty("CONFIG_HOME", parentPath.toString()); RelationshipSchemaLoader.resetVersionContextMap(); CrudGraphDataService service = new CrudGraphDataService(new TestDao()); @@ -100,7 +104,8 @@ public class CrudRestServiceTest { "services/inventory/v11", new TestHeaders(), null, new TestRequest()); assertTrue(response.getStatus() == 200); - response = mockService.deleteEdge("", "v11", "tosca.relationships.HostedOn", "872dd5df-0be9-4167-95e9-2cf4b21165ed", + response = mockService.deleteEdge("", "v11", "tosca.relationships.HostedOn", + "872dd5df-0be9-4167-95e9-2cf4b21165ed", "services/inventory/v11", new TestHeaders(), null, new TestRequest()); assertTrue(response.getStatus() == 200); } @@ -109,6 +114,13 @@ public class CrudRestServiceTest { public void testAddVertex() throws CrudException { Response response; + // Cannot find OXM version + response = mockService.addVertex(postVertexPayload, "v8", "services/inventory/v8", + new TestHeaders(), null, new TestRequest()); + System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString()); + assertTrue(response.getStatus() == 500); + Assert.assertNull(response.getEntityTag()); + response = mockService.addVertex(postMissingPropVertexPayload, "v11", "services/inventory/v11", new TestHeaders(), null, new TestRequest()); System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString()); @@ -149,6 +161,13 @@ public class CrudRestServiceTest { public void testUpdateVertex() throws CrudException { Response response; + // Cannot find OXM version + response = mockService.updateVertex(putVertexPayload, "v8", "pserver", "test-uuid", "services/inventory/v8", + new TestHeaders(), null, new TestRequest()); + System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString()); + assertTrue(response.getStatus() == 500); + Assert.assertNull(response.getEntityTag()); + // Test ID mismatch response = mockService.updateVertex(putVertexPayload, "v11", "pserver", "bad-id", "services/inventory/v11", new TestHeaders(), null, new TestRequest()); @@ -156,8 +175,8 @@ public class CrudRestServiceTest { assertTrue(response.getStatus() == 400); // Success case - response = mockService.updateVertex(putVertexPayload, "v11", "pserver", "test-uuid", - "services/inventory/v11", new TestHeaders(), null, new TestRequest()); + response = mockService.updateVertex(putVertexPayload, "v11", "pserver", "test-uuid", "services/inventory/v11", + new TestHeaders(), null, new TestRequest()); System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString()); assertTrue(response.getStatus() == 200); @@ -255,6 +274,32 @@ public class CrudRestServiceTest { mockService.validateRequestHeader(testHeaders); } + @Test + public void testGetMultiOxm() throws CrudException { + Response response; + + response = mockService.getVertex("", "v13", "pserver", "872dd5df-0be9-4167-95e9-2cf4b21165ed", + "services/inventory/v11", new TestHeaders(), new TestUriInfo(), new TestRequest()); + System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString()); + assertTrue(response.getStatus() == 200); + + response = + mockService.getEdge("", "v11", "tosca.relationships.HostedOn", "872dd5df-0be9-4167-95e9-2cf4b21165ed", + "services/inventory/v11", new TestHeaders(), new TestUriInfo(), new TestRequest()); + System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString()); + assertTrue(response.getStatus() == 200); + + response = mockService.getVertices("", "v13", "pserver", "services/inventory/v11", new TestHeaders(), + new TestUriInfo(), new TestRequest()); + System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString()); + assertTrue(response.getStatus() == 200); + + response = mockService.getEdges("", "v11", "tosca.relationships.HostedOn", "services/inventory/v11", + new TestHeaders(), new TestUriInfo(), new TestRequest()); + System.out.println("Response: " + response.getStatus() + "\n" + response.getEntity().toString()); + assertTrue(response.getStatus() == 200); + } + @Test public void testBulk() throws CrudException, IOException { Response response; diff --git a/src/test/java/org/onap/schema/OxmModelLoaderTest.java b/src/test/java/org/onap/schema/OxmModelLoaderTest.java new file mode 100644 index 0000000..c4437fa --- /dev/null +++ b/src/test/java/org/onap/schema/OxmModelLoaderTest.java @@ -0,0 +1,59 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright © 2017-2018 Amdocs + * ================================================================================ + * 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.schema; + +import org.eclipse.persistence.dynamic.DynamicType; +import org.eclipse.persistence.internal.helper.DatabaseField; +import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext; +import org.eclipse.persistence.mappings.DatabaseMapping; +import org.junit.Assert; +import org.junit.Test; + +public class OxmModelLoaderTest { + + @Test + public void testLoadingMultipleOxmFiles() throws Exception { + OxmModelLoader.loadModels(); + + DynamicJAXBContext jaxbContext = OxmModelLoader.getContextForVersion(OxmModelLoader.getLatestVersion()); + + DynamicType pserver = jaxbContext.getDynamicType("Pserver"); + DynamicType genericVnf = jaxbContext.getDynamicType("GenericVnf"); + + Assert.assertNotNull(pserver); + Assert.assertNotNull(genericVnf); + + DatabaseMapping mapping = pserver.getDescriptor().getMappings().firstElement(); + if (mapping.isAbstractDirectMapping()) { + DatabaseField f = mapping.getField(); + String keyName = f.getName().substring(0, f.getName().indexOf("/")); + Assert.assertEquals(keyName, "hostname"); + } + + mapping = genericVnf.getDescriptor().getMappings().firstElement(); + if (mapping.isAbstractDirectMapping()) { + DatabaseField f = mapping.getField(); + String keyName = f.getName().substring(0, f.getName().indexOf("/")); + Assert.assertEquals(keyName, "vnf-id"); + } + + } +} \ No newline at end of file diff --git a/src/test/java/org/onap/schema/RelationshipSchemaLoaderTest.java b/src/test/java/org/onap/schema/RelationshipSchemaLoaderTest.java index 4e6590d..feeb1c4 100644 --- a/src/test/java/org/onap/schema/RelationshipSchemaLoaderTest.java +++ b/src/test/java/org/onap/schema/RelationshipSchemaLoaderTest.java @@ -23,7 +23,8 @@ package org.onap.schema; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; -import java.io.File; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @@ -34,10 +35,10 @@ import org.onap.crud.exception.CrudException; public class RelationshipSchemaLoaderTest { @Before - public void init() { - ClassLoader classLoader = getClass().getClassLoader(); - File dir = new File(classLoader.getResource( "model").getFile()); - System.setProperty("CONFIG_HOME", dir.getParent()); + public void init() throws Exception { + Path resourcePath = Paths.get(ClassLoader.getSystemResource("model").toURI()); + Path parentPath = resourcePath.getParent(); + System.setProperty("CONFIG_HOME", parentPath.toString()); RelationshipSchemaLoader.resetVersionContextMap(); } -- cgit 1.2.3-korg