From cbd5b9b82dddb4ae467571ef86dcdccc2268175f Mon Sep 17 00:00:00 2001 From: Daniel Silverthorn Date: Wed, 27 Jun 2018 14:41:31 -0400 Subject: Migrate common code to router-core from DR Change-Id: I3803d2c866b36ace8fda73bb23dff4825e39e846 Signed-off-by: Daniel Silverthorn Issue-ID: AAI-1339 --- .../onap/aai/entity/OxmEntityDescriptorTest.java | 63 ++++++++++++++++++++ .../org/onap/aai/schema/OxmModelLoaderTest.java | 68 ++++++++++++++++++++++ .../onap/aai/util/CrossEntityReferenceTest.java | 46 +++++++++++++++ 3 files changed, 177 insertions(+) create mode 100644 src/test/java/org/onap/aai/entity/OxmEntityDescriptorTest.java create mode 100644 src/test/java/org/onap/aai/schema/OxmModelLoaderTest.java create mode 100644 src/test/java/org/onap/aai/util/CrossEntityReferenceTest.java (limited to 'src/test/java/org/onap') diff --git a/src/test/java/org/onap/aai/entity/OxmEntityDescriptorTest.java b/src/test/java/org/onap/aai/entity/OxmEntityDescriptorTest.java new file mode 100644 index 0000000..e39b0b3 --- /dev/null +++ b/src/test/java/org/onap/aai/entity/OxmEntityDescriptorTest.java @@ -0,0 +1,63 @@ +/** + * ============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.aai.entity; + +import org.junit.Assert; +import org.junit.Test; +import org.onap.aai.util.CrossEntityReference; + +import java.io.IOException; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class OxmEntityDescriptorTest { + + @Test + public void testOxmEntityDescriptor(){ + OxmEntityDescriptor descriptor = new OxmEntityDescriptor(); + descriptor.setEntityName("entity-1"); + Assert.assertEquals(descriptor.getEntityName(), "entity-1"); + + descriptor.setPrimaryKeyAttributeName(new ArrayList()); + Assert.assertTrue(descriptor.getPrimaryKeyAttributeName().size()==0); + + Assert.assertFalse(descriptor.hasSearchableAttributes()); + + List searchableAttr = new ArrayList(); + searchableAttr.add("search"); + descriptor.setSearchableAttributes(searchableAttr); + Assert.assertTrue(descriptor.getSearchableAttributes().size()==1); + + Assert.assertTrue(descriptor.hasSearchableAttributes()); + + CrossEntityReference ref = new CrossEntityReference(); + descriptor.setCrossEntityReference(ref); + Assert.assertEquals(descriptor.getCrossEntityReference(), ref); + + descriptor.setSuggestableEntity(true); + Assert.assertTrue(descriptor.isSuggestableEntity()); + + Assert.assertNotNull(descriptor.toString()); + } +} diff --git a/src/test/java/org/onap/aai/schema/OxmModelLoaderTest.java b/src/test/java/org/onap/aai/schema/OxmModelLoaderTest.java new file mode 100644 index 0000000..060e5ed --- /dev/null +++ b/src/test/java/org/onap/aai/schema/OxmModelLoaderTest.java @@ -0,0 +1,68 @@ +/** + * ============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.aai.schema; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import java.util.ArrayList; +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.Test; +import org.onap.aai.schema.OxmModelLoader; +import org.onap.aai.util.EntityOxmReferenceHelper; +import org.onap.aai.util.ExternalOxmModelProcessor; +import org.onap.aai.setup.Version; + +public class OxmModelLoaderTest { + + @Test + public void testLoadingMultipleOxmFiles() { + ArrayList externalOxmModelProcessors = new ArrayList(); + externalOxmModelProcessors.add(EntityOxmReferenceHelper.getInstance()); + OxmModelLoader.registerExternalOxmModelProcessors(externalOxmModelProcessors); + OxmModelLoader.loadModels(); + + DynamicJAXBContext jaxbContext = OxmModelLoader.getContextForVersion(Version.getLatest().toString()); + + DynamicType pserver = jaxbContext.getDynamicType("Pserver"); + DynamicType genericVnf = jaxbContext.getDynamicType("GenericVnf"); + + assertNotNull(pserver); + assertNotNull(genericVnf); + + DatabaseMapping mapping = pserver.getDescriptor().getMappings().firstElement(); + if (mapping.isAbstractDirectMapping()) { + DatabaseField f = mapping.getField(); + String keyName = f.getName().substring(0, f.getName().indexOf("/")); + assertTrue(keyName.equals("hostname")); + } + + mapping = genericVnf.getDescriptor().getMappings().firstElement(); + if (mapping.isAbstractDirectMapping()) { + DatabaseField f = mapping.getField(); + String keyName = f.getName().substring(0, f.getName().indexOf("/")); + assertTrue(keyName.equals("vnf-id")); + } + + } +} diff --git a/src/test/java/org/onap/aai/util/CrossEntityReferenceTest.java b/src/test/java/org/onap/aai/util/CrossEntityReferenceTest.java new file mode 100644 index 0000000..a9d9105 --- /dev/null +++ b/src/test/java/org/onap/aai/util/CrossEntityReferenceTest.java @@ -0,0 +1,46 @@ +/** + * ============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.aai.util; + +import org.junit.Assert; +import org.junit.Test; + +import java.util.ArrayList; + +public class CrossEntityReferenceTest { + + @Test + public void testCrossEntityReference() { + + CrossEntityReference reference = new CrossEntityReference(); + + reference.setTargetEntityType("entity-type"); + Assert.assertEquals(reference.getTargetEntityType(),"entity-type"); + + reference.setAttributeNames(new ArrayList()); + Assert.assertTrue(reference.getAttributeNames().size()==0); + + reference.addAttributeName("attribute"); + Assert.assertEquals(reference.getAttributeNames().get(0),"attribute"); + } + + +} \ No newline at end of file -- cgit 1.2.3-korg