diff options
Diffstat (limited to 'mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test')
3 files changed, 377 insertions, 0 deletions
diff --git a/mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/CatalogTestDatabase.java b/mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/CatalogTestDatabase.java new file mode 100644 index 0000000000..d7b53a4af3 --- /dev/null +++ b/mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/CatalogTestDatabase.java @@ -0,0 +1,105 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * 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.openecomp.mso.db.catalog.test; + + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.openecomp.mso.db.catalog.CatalogDatabase; +import org.openecomp.mso.db.catalog.beans.HeatTemplate; +import org.openecomp.mso.db.catalog.beans.HeatTemplateParam; + +/** + * This class is purely for development testing. It hard-codes a very limited + * catalog of HeatTemplates and Services for the case where no actual database + * is available. + * + * + */ +public class CatalogTestDatabase extends CatalogDatabase { + + private static int id = 1; + private static Map<String,HeatTemplate> heatTemplates; + + static { + heatTemplates = new HashMap<String,HeatTemplate>(); + + addTemplate("ApacheDemo", "C:/temp/apache-demo.json", 2, + new ArrayList<String>(Arrays.asList("private_subnet_gateway", "private_subnet_cidr")), + new ArrayList<String> (Arrays.asList("vnf_id", "public_net_id"))); + } + + public CatalogTestDatabase () { + } + + private static void addTemplate (String name, String path, int timeout, List<String> reqd, List<String> opt) + { + HeatTemplate template = new HeatTemplate(); + template.setId(id++); + template.setTemplateName("ApacheDemo"); + template.setTemplatePath("C:/temp/apache-demo.json"); + template.setTimeoutMinutes(2); + + Set<HeatTemplateParam> params = new HashSet<HeatTemplateParam>(); + + for (String s : reqd) { + HeatTemplateParam param = new HeatTemplateParam(); + param.setId(id++); + param.setParamName(s); + param.setRequired(true); + params.add(param); + } + + for (String s : opt) { + HeatTemplateParam param = new HeatTemplateParam(); + param.setId(id++); + param.setParamName(s); + param.setRequired(false); + params.add(param); + } + template.setParameters(params); + + heatTemplates.put(name, template); + } + + @Override + public HeatTemplate getHeatTemplate (String templateName) + { + if (heatTemplates.containsKey(templateName)) { + return heatTemplates.get(templateName); + } else { + return null; + } + } + + @Override + public HeatTemplate getHeatTemplate (String templateName, String version) + { + return getHeatTemplate(templateName); + } + +} diff --git a/mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/HeatTemplateTest.java b/mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/HeatTemplateTest.java new file mode 100644 index 0000000000..bf8f3eae59 --- /dev/null +++ b/mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/HeatTemplateTest.java @@ -0,0 +1,85 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * 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.openecomp.mso.db.catalog.test; + + +import static org.junit.Assert.*; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.util.HashSet; + +import org.junit.Test; + +import org.openecomp.mso.db.catalog.beans.HeatTemplate; +import org.openecomp.mso.db.catalog.beans.HeatTemplateParam; + +/** + */ + +public class HeatTemplateTest { + + @Test + public final void heatTemplateTest () { + HeatTemplate heatTemplate = new HeatTemplate (); + heatTemplate.setTemplateBody ("testBody"); + assertTrue (heatTemplate.getHeatTemplate ().equals ("testBody")); + assertTrue (heatTemplate.toString ().contains ("8 chars")); + heatTemplate.setTemplateBody (null); + assertTrue (heatTemplate.toString ().contains ("Not defined")); + HashSet<HeatTemplateParam> set = new HashSet<> (); + HeatTemplateParam param = new HeatTemplateParam (); + param.setParamName ("param name"); + param.setParamType ("string"); + param.setRequired (false); + set.add (param); + HeatTemplateParam param2 = new HeatTemplateParam (); + param2.setParamName ("param 2"); + param2.setParamType ("string"); + param2.setRequired (true); + set.add (param2); + heatTemplate.setParameters (set); + String heatStr = heatTemplate.toString (); + assertTrue (heatStr.contains ("param name")); + assertTrue (heatStr.toString ().contains ("param 2(reqd)")); + + File tempFile; + try { + tempFile = File.createTempFile ("heatTemplate", "test"); + tempFile.deleteOnExit (); + try (Writer writer = new BufferedWriter (new OutputStreamWriter (new FileOutputStream (tempFile), + "utf-8"))) { + writer.write ("something\n"); + writer.write ("something2\n"); + } + heatTemplate.setTemplatePath (tempFile.getAbsolutePath ()); + assertTrue (heatTemplate.getHeatTemplate ().contains ("something2")); + } catch (IOException e) { + e.printStackTrace (); + fail ("Exception caught"); + } + } + +} diff --git a/mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/MavenVersioningTest.java b/mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/MavenVersioningTest.java new file mode 100644 index 0000000000..2f24a4cb1b --- /dev/null +++ b/mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/MavenVersioningTest.java @@ -0,0 +1,187 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * 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.openecomp.mso.db.catalog.test; + + +import static org.junit.Assert.*; + +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +import org.junit.Test; + +import org.openecomp.mso.db.catalog.utils.MavenLikeVersioningComparator; +import org.openecomp.mso.db.catalog.utils.MavenLikeVersioning; + + +public class MavenVersioningTest { + + @Test + public final void testVersion () { + MavenLikeVersioning mavenVersioning = new MavenLikeVersioning (); + assertFalse(mavenVersioning.isMoreRecentThan("0.0.0")); + assertFalse(mavenVersioning.isMoreRecentThan(null)); + mavenVersioning.setVersion("0.0.1"); + + assertFalse(mavenVersioning.isMoreRecentThan(null)); + assertTrue(mavenVersioning.isMoreRecentThan("0.0.0")); + assertTrue(mavenVersioning.isMoreRecentThan("0.0.0.1")); + + assertFalse(mavenVersioning.isMoreRecentThan("0.0.2")); + assertFalse(mavenVersioning.isMoreRecentThan("0.0.1")); + assertFalse(mavenVersioning.isMoreRecentThan("00.00.01")); + + assertFalse(mavenVersioning.isMoreRecentThan("0.1")); + assertFalse(mavenVersioning.isMoreRecentThan("1")); + assertFalse(mavenVersioning.isMoreRecentThan("0.1.0.2")); + + assertFalse(mavenVersioning.isMoreRecentThan("0.1.1")); + assertFalse(mavenVersioning.isMoreRecentThan("2.1.1")); + + mavenVersioning.setVersion("1.0.1"); + assertTrue(mavenVersioning.isMoreRecentThan("0.0.0")); + assertTrue(mavenVersioning.isMoreRecentThan("0.5.2")); + assertTrue(mavenVersioning.isMoreRecentThan("1.0.0")); + + assertFalse(mavenVersioning.isMoreRecentThan("2.1.1")); + assertFalse(mavenVersioning.isMoreRecentThan("02.001.0001")); + assertFalse(mavenVersioning.isMoreRecentThan("1.0.1")); + assertFalse(mavenVersioning.isMoreRecentThan("1.0.2")); + assertFalse(mavenVersioning.isMoreRecentThan("1.1.1")); + assertFalse(mavenVersioning.isMoreRecentThan("1.0.10")); + + + mavenVersioning.setVersion("100.0.1"); + assertTrue(mavenVersioning.isMoreRecentThan("0.0.0")); + assertTrue(mavenVersioning.isMoreRecentThan("0.5.2")); + assertTrue(mavenVersioning.isMoreRecentThan("1.0.0")); + + assertFalse(mavenVersioning.isMoreRecentThan("101.1.1")); + assertFalse(mavenVersioning.isMoreRecentThan("100.0.1")); + assertFalse(mavenVersioning.isMoreRecentThan("100.0.2")); + assertFalse(mavenVersioning.isMoreRecentThan("100.1.1")); + + assertFalse(mavenVersioning.isMoreRecentThan("100.0.1.4")); + } + + @Test + public final void testOneDigitVersion() { + MavenLikeVersioning oneDigit = new MavenLikeVersioning(); + oneDigit.setVersion("1"); + assertFalse(oneDigit.isMoreRecentThan("2")); + assertFalse(oneDigit.isMoreRecentThan("2.0")); + assertFalse(oneDigit.isMoreRecentThan("1.0")); + + oneDigit.setVersion("1.0"); + assertTrue(oneDigit.isMoreRecentThan("1")); + + oneDigit.setVersion("1"); + assertFalse(oneDigit.isTheSameVersion("1.1")); + assertFalse(oneDigit.isTheSameVersion("1.0")); + assertFalse(oneDigit.isTheSameVersion("1.0.0")); + + oneDigit.setVersion("2"); + assertTrue(oneDigit.isMoreRecentThan("1")); + assertTrue(oneDigit.isMoreRecentThan("1.0")); + assertTrue(oneDigit.isMoreRecentThan("1.1")); + assertTrue(oneDigit.isMoreRecentThan("0.1")); + assertFalse(oneDigit.isMoreRecentThan("2.0")); + + } + + @Test + public final void testVersionEquals () { + + MavenLikeVersioning heatTemplate = new MavenLikeVersioning(); + assertFalse(heatTemplate.isTheSameVersion("100.0")); + assertTrue(heatTemplate.isTheSameVersion(null)); + heatTemplate.setVersion("100.0.1"); + assertFalse(heatTemplate.isTheSameVersion(null)); + assertFalse(heatTemplate.isTheSameVersion("100.0")); + assertFalse(heatTemplate.isTheSameVersion("100")); + assertFalse(heatTemplate.isTheSameVersion("100.0.1.1")); + assertTrue(heatTemplate.isTheSameVersion("100.0.1")); + assertTrue(heatTemplate.isTheSameVersion("00100.000.0001")); + assertFalse(heatTemplate.isTheSameVersion("0.0.1")); + assertTrue(heatTemplate.isTheSameVersion("100.0.01")); + + } + + @Test + public final void testListSort () { + MavenLikeVersioning test1 = new MavenLikeVersioning(); + test1.setVersion("1.1"); + MavenLikeVersioning test2 = new MavenLikeVersioning(); + test2.setVersion("1.10"); + MavenLikeVersioning test3 = new MavenLikeVersioning(); + test3.setVersion("1.2"); + MavenLikeVersioning test4 = new MavenLikeVersioning(); + test4.setVersion("1.20"); + MavenLikeVersioning test5 = new MavenLikeVersioning(); + test5.setVersion("1.02"); + MavenLikeVersioning test6 = new MavenLikeVersioning(); + test6.setVersion("2.02"); + MavenLikeVersioning test7 = new MavenLikeVersioning(); + test7.setVersion("0.02"); + MavenLikeVersioning test8 = new MavenLikeVersioning(); + test8.setVersion("2.02"); + MavenLikeVersioning test9 = new MavenLikeVersioning(); + test9.setVersion("10.2004"); + MavenLikeVersioning test10 = new MavenLikeVersioning(); + test10.setVersion("2"); + MavenLikeVersioning test11 = new MavenLikeVersioning(); + test11.setVersion("12"); + MavenLikeVersioning test12 = new MavenLikeVersioning(); + test12.setVersion("2.0"); + + List<MavenLikeVersioning> list= new LinkedList<MavenLikeVersioning>(); + list.add(test1); + list.add(test2); + list.add(test3); + list.add(test4); + list.add(test5); + list.add(test6); + list.add(test7); + list.add(test8); + list.add(test9); + list.add(test10); + list.add(test11); + list.add(test12); + + Collections.sort(list,new MavenLikeVersioningComparator()); + //Collections.reverse(list); + assertTrue(list.get(0).getVersion().equals("0.02")); + assertTrue(list.get(1).getVersion().equals("1.1")); + assertTrue(list.get(2).getVersion().equals("1.02") || list.get(3).getVersion().equals("1.02")); + assertTrue(list.get(3).getVersion().equals("1.2") || list.get(2).getVersion().equals("1.2")); + assertTrue(list.get(4).getVersion().equals("1.10")); + assertTrue(list.get(5).getVersion().equals("1.20")); + assertTrue(list.get(6).getVersion().equals("2")); + assertTrue(list.get(7).getVersion().equals("2.0")); + assertTrue(list.get(8).getVersion().equals("2.02")); + assertTrue(list.get(9).getVersion().equals("2.02")); + assertTrue(list.get(10).getVersion().equals("10.2004")); + assertTrue(list.get(11).getVersion().equals("12")); + + } +} + |