aboutsummaryrefslogtreecommitdiffstats
path: root/models-tosca/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'models-tosca/src/test')
-rw-r--r--models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestPojos.java24
-rw-r--r--models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicy.java49
-rw-r--r--models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicyIdentifier.java62
-rw-r--r--models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicyIdentifierOptVersion.java71
-rw-r--r--models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicyTypeIdentifier.java63
-rw-r--r--models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaIdentifierTestBase.java81
-rw-r--r--models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java27
7 files changed, 351 insertions, 26 deletions
diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestPojos.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestPojos.java
index 7c813a625..15240665d 100644
--- a/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestPojos.java
+++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestPojos.java
@@ -22,6 +22,7 @@
package org.onap.policy.models.tosca.authorative.concepts;
+import com.openpojo.reflection.filters.FilterClassName;
import com.openpojo.reflection.filters.FilterPackageInfo;
import com.openpojo.validation.Validator;
import com.openpojo.validation.ValidatorBuilder;
@@ -44,9 +45,24 @@ public class TestPojos {
@Test
public void testPojos() {
- final Validator validator = ValidatorBuilder.create().with(new ToStringTester())
- .with(new SetterMustExistRule()).with(new GetterMustExistRule()).with(new SetterTester())
- .with(new GetterTester()).build();
- validator.validate(POJO_PACKAGE, new FilterPackageInfo());
+ // @formatter:off
+ final Validator validator = ValidatorBuilder
+ .create()
+ .with(new ToStringTester())
+ .with(new SetterMustExistRule())
+ .with(new GetterMustExistRule())
+ .with(new SetterTester())
+ .with(new GetterTester())
+ .build();
+ validator.validate(POJO_PACKAGE,
+ new FilterPackageInfo(),
+ new FilterClassName(
+ org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyFilter.class.getName()),
+ new FilterClassName(
+ org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeFilter.class.getName()),
+ new FilterClassName(
+ ToscaIdentifierTestBase.class.getName())
+ );
+ // @formatter:on
}
}
diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicy.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicy.java
new file mode 100644
index 000000000..881a69d07
--- /dev/null
+++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicy.java
@@ -0,0 +1,49 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP Policy Models
+ * ================================================================================
+ * Copyright (C) 2019 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.policy.models.tosca.authorative.concepts;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+/**
+ * Tests methods not tested by {@link TestPojos}.
+ */
+public class TestToscaPolicy {
+
+ @Test
+ public void testGetIdentifier_testGetTypeIdentifier() {
+ ToscaPolicy policy = new ToscaPolicy();
+
+ policy.setName("my_name");
+ policy.setVersion("1.2.3");
+ policy.setType("my_type");
+ policy.setTypeVersion("3.2.1");
+
+ ToscaPolicyIdentifier ident = policy.getIdentifier();
+ assertEquals("my_name", ident.getName());
+ assertEquals("1.2.3", ident.getVersion());
+
+ ToscaPolicyTypeIdentifier type = policy.getTypeIdentifier();
+ assertEquals("my_type", type.getName());
+ assertEquals("3.2.1", type.getVersion());
+ }
+}
diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicyIdentifier.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicyIdentifier.java
new file mode 100644
index 000000000..0dc9eb13c
--- /dev/null
+++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicyIdentifier.java
@@ -0,0 +1,62 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP Policy Models
+ * ================================================================================
+ * Copyright (C) 2019 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.policy.models.tosca.authorative.concepts;
+
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+/**
+ * Test the other constructors, as {@link TestPojos} tests the other methods.
+ */
+public class TestToscaPolicyIdentifier extends ToscaIdentifierTestBase<ToscaPolicyIdentifier> {
+ private static final String NAME = "my-name";
+ private static final String VERSION = "1.2.3";
+
+ public TestToscaPolicyIdentifier() {
+ super(ToscaPolicyIdentifier.class);
+ }
+
+ @Test
+ public void testAllArgsConstructor() {
+ assertThatThrownBy(() -> new ToscaPolicyIdentifier(null, VERSION)).isInstanceOf(NullPointerException.class);
+ assertThatThrownBy(() -> new ToscaPolicyIdentifier(NAME, null)).isInstanceOf(NullPointerException.class);
+
+ ToscaPolicyIdentifier orig = new ToscaPolicyIdentifier(NAME, VERSION);
+ assertEquals(NAME, orig.getName());
+ assertEquals(VERSION, orig.getVersion());
+ }
+
+ @Test
+ public void testCopyConstructor() {
+ assertThatThrownBy(() -> new ToscaPolicyIdentifier(null)).isInstanceOf(NullPointerException.class);
+
+ ToscaPolicyIdentifier orig = new ToscaPolicyIdentifier();
+
+ // verify with null values
+ assertEquals(orig.toString(), new ToscaPolicyIdentifier(orig).toString());
+
+ // verify with all values
+ orig = new ToscaPolicyIdentifier(NAME, VERSION);
+ assertEquals(orig.toString(), new ToscaPolicyIdentifier(orig).toString());
+ }
+}
diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicyIdentifierOptVersion.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicyIdentifierOptVersion.java
new file mode 100644
index 000000000..999dca565
--- /dev/null
+++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicyIdentifierOptVersion.java
@@ -0,0 +1,71 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP Policy Models
+ * ================================================================================
+ * Copyright (C) 2019 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.policy.models.tosca.authorative.concepts;
+
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+/**
+ * Test the other constructors, as {@link TestPojos} tests the other methods.
+ */
+public class TestToscaPolicyIdentifierOptVersion extends ToscaIdentifierTestBase<ToscaPolicyIdentifierOptVersion> {
+ private static final String NAME = "my-name";
+ private static final String VERSION = "1.2.3";
+
+ public TestToscaPolicyIdentifierOptVersion() {
+ super(ToscaPolicyIdentifierOptVersion.class);
+ }
+
+ @Test
+ public void testAllArgsConstructor_testIsNullVersion() {
+ assertThatThrownBy(() -> new ToscaPolicyIdentifierOptVersion(null, VERSION))
+ .isInstanceOf(NullPointerException.class);
+
+ // with null version
+ ToscaPolicyIdentifierOptVersion orig = new ToscaPolicyIdentifierOptVersion(NAME, null);
+ assertEquals(NAME, orig.getName());
+ assertEquals(null, orig.getVersion());
+ assertTrue(orig.isNullVersion());
+
+ orig = new ToscaPolicyIdentifierOptVersion(NAME, VERSION);
+ assertEquals(NAME, orig.getName());
+ assertEquals(VERSION, orig.getVersion());
+ assertFalse(orig.isNullVersion());
+ }
+
+ @Test
+ public void testCopyConstructor() throws Exception {
+ assertThatThrownBy(() -> new ToscaPolicyIdentifierOptVersion(null)).isInstanceOf(NullPointerException.class);
+
+ ToscaPolicyIdentifierOptVersion orig = new ToscaPolicyIdentifierOptVersion();
+
+ // verify with null values
+ assertEquals(orig.toString(), new ToscaPolicyIdentifierOptVersion(orig).toString());
+
+ // verify with all values
+ orig = makeIdent(NAME, VERSION);
+ assertEquals(orig.toString(), new ToscaPolicyIdentifierOptVersion(orig).toString());
+ }
+}
diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicyTypeIdentifier.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicyTypeIdentifier.java
new file mode 100644
index 000000000..778d60c09
--- /dev/null
+++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/TestToscaPolicyTypeIdentifier.java
@@ -0,0 +1,63 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP Policy Models
+ * ================================================================================
+ * Copyright (C) 2019 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.policy.models.tosca.authorative.concepts;
+
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+/**
+ * Test the other constructors, as {@link TestPojos} tests the other methods.
+ */
+public class TestToscaPolicyTypeIdentifier extends ToscaIdentifierTestBase<ToscaPolicyTypeIdentifier> {
+ private static final String NAME = "my-name";
+ private static final String VERSION = "1.2.3";
+
+ public TestToscaPolicyTypeIdentifier() {
+ super(ToscaPolicyTypeIdentifier.class);
+ }
+
+ @Test
+ public void testAllArgsConstructor() {
+ assertThatThrownBy(() -> new ToscaPolicyTypeIdentifier(null, VERSION)).isInstanceOf(NullPointerException.class);
+ assertThatThrownBy(() -> new ToscaPolicyTypeIdentifier(NAME, null)).isInstanceOf(NullPointerException.class);
+
+ ToscaPolicyTypeIdentifier orig = new ToscaPolicyTypeIdentifier(NAME, VERSION);
+ assertEquals(NAME, orig.getName());
+ assertEquals(VERSION, orig.getVersion());
+ }
+
+ @Test
+ public void testCopyConstructor() {
+ assertThatThrownBy(() -> new ToscaPolicyTypeIdentifier(null)).isInstanceOf(NullPointerException.class);
+
+ ToscaPolicyTypeIdentifier orig = new ToscaPolicyTypeIdentifier();
+
+ // verify with null values
+ assertEquals(orig.toString(), new ToscaPolicyTypeIdentifier(orig).toString());
+
+ // verify with all values
+ orig = new ToscaPolicyTypeIdentifier(NAME, VERSION);
+ assertEquals(orig.toString(), new ToscaPolicyTypeIdentifier(orig).toString());
+ }
+
+}
diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaIdentifierTestBase.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaIdentifierTestBase.java
new file mode 100644
index 000000000..5c935394b
--- /dev/null
+++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaIdentifierTestBase.java
@@ -0,0 +1,81 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP Policy Models
+ * ================================================================================
+ * Copyright (C) 2019 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.policy.models.tosca.authorative.concepts;
+
+import org.onap.policy.common.utils.coder.Coder;
+import org.onap.policy.common.utils.coder.CoderException;
+import org.onap.policy.common.utils.coder.StandardCoder;
+
+/**
+ * Super class to test identity keys.
+ *
+ * @param <T> type of key being tested
+ */
+public class ToscaIdentifierTestBase<T> {
+
+ private static final Coder coder = new StandardCoder();
+
+ private final Class<T> clazz;
+
+
+ /**
+ * Constructs the object.
+ * @param clazz the type of class being tested
+ */
+ public ToscaIdentifierTestBase(Class<T> clazz) {
+ this.clazz = clazz;
+ }
+
+ /**
+ * Makes an identifier. Uses JSON which does no error checking.
+ *
+ * @param name name to put into the identifier
+ * @param version version to put into the identifier
+ * @return a new identifier
+ * @throws CoderException if the JSON cannot be decoded
+ */
+ public T makeIdent(String name, String version) throws CoderException {
+ StringBuilder bldr = new StringBuilder();
+ bldr.append("{");
+
+ if (name != null) {
+ bldr.append("'name':'");
+ bldr.append(name);
+ bldr.append("'");
+ }
+
+ if (version != null) {
+ if (name != null) {
+ bldr.append(',');
+ }
+
+ bldr.append("'version':'");
+ bldr.append(version);
+ bldr.append("'");
+ }
+
+ bldr.append("}");
+
+ String json = bldr.toString().replace('\'', '"');
+
+ return coder.decode(json, clazz);
+ }
+}
diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java
index 0d486e3ea..dca34b08e 100644
--- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java
+++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java
@@ -22,6 +22,7 @@ package org.onap.policy.models.tosca.simple.provider;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.sql.Connection;
@@ -93,26 +94,12 @@ public class SimpleToscaProviderTest {
@Test
public void testPoliciesGet() throws Exception {
try {
- new SimpleToscaProvider().getPolicies(null, null);
+ new SimpleToscaProvider().getPolicies(null, null, null);
fail("test should throw an exception here");
} catch (Exception exc) {
assertEquals("dao is marked @NonNull but is null", exc.getMessage());
}
- try {
- new SimpleToscaProvider().getPolicies(null, new PfConceptKey());
- fail("test should throw an exception here");
- } catch (Exception exc) {
- assertEquals("dao is marked @NonNull but is null", exc.getMessage());
- }
-
- try {
- new SimpleToscaProvider().getPolicies(pfDao, null);
- fail("test should throw an exception here");
- } catch (Exception exc) {
- assertEquals("policyKey is marked @NonNull but is null", exc.getMessage());
- }
-
ToscaServiceTemplate toscaServiceTemplate = standardCoder.decode(
ResourceUtils.getResourceAsString("policies/vCPE.policy.monitoring.input.tosca.json"),
ToscaServiceTemplate.class);
@@ -129,7 +116,7 @@ public class SimpleToscaProviderTest {
PfConceptKey policyKey = new PfConceptKey("onap.restart.tca:1.0.0");
JpaToscaServiceTemplate gotServiceTemplate =
- new SimpleToscaProvider().getPolicies(pfDao, new PfConceptKey(policyKey));
+ new SimpleToscaProvider().getPolicies(pfDao, policyKey.getName(), policyKey.getVersion());
assertEquals(originalServiceTemplate.getTopologyTemplate().getPolicies().get(policyKey),
gotServiceTemplate.getTopologyTemplate().getPolicies().get(policyKey));
@@ -254,12 +241,8 @@ public class SimpleToscaProviderTest {
assertEquals(originalServiceTemplate.getTopologyTemplate().getPolicies().get(policyKey),
deletedServiceTemplate.getTopologyTemplate().getPolicies().get(policyKey));
- try {
- new SimpleToscaProvider().getPolicies(pfDao, new PfConceptKey(policyKey));
- fail("test should throw an exception here");
- } catch (Exception exc) {
- assertEquals("policy not found: onap.restart.tca:1.0.0", exc.getMessage());
- }
+ assertTrue(new SimpleToscaProvider().getPolicies(pfDao, policyKey.getName(), policyKey.getVersion())
+ .getTopologyTemplate().getPolicies().getConceptMap().isEmpty());
}
@Test