aboutsummaryrefslogtreecommitdiffstats
path: root/mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test
diff options
context:
space:
mode:
Diffstat (limited to 'mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test')
-rw-r--r--mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/CatalogTestDatabase.java105
-rw-r--r--mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/HeatTemplateTest.java85
-rw-r--r--mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/MavenVersioningTest.java187
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"));
+
+ }
+}
+