Changes for Checkstyle 8.32
[policy/models.git] / models-tosca / src / test / java / org / onap / policy / models / tosca / simple / concepts / JpaToscaPolicyTypeTest.java
index eb94a5e..34cc504 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ============LICENSE_START=======================================================
- *  Copyright (C) 2019 Nordix Foundation.
+ *  Copyright (C) 2019-2020 Nordix Foundation.
  *  Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -34,6 +34,7 @@ import java.util.List;
 import java.util.Map;
 import org.junit.Test;
 import org.onap.policy.models.base.PfConceptKey;
+import org.onap.policy.models.base.PfKey;
 import org.onap.policy.models.base.PfReferenceKey;
 import org.onap.policy.models.base.PfValidationResult;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
@@ -55,10 +56,10 @@ public class JpaToscaPolicyTypeTest {
         assertNotNull(new JpaToscaPolicyType(new JpaToscaPolicyType()));
 
         assertThatThrownBy(() -> new JpaToscaPolicyType((PfConceptKey) null))
-                        .hasMessage("key is marked @NonNull but is null");
+                .hasMessageMatching("key is marked .*on.*ull but is null");
 
         assertThatThrownBy(() -> new JpaToscaPolicyType((JpaToscaPolicyType) null))
-                        .hasMessage("copyConcept is marked @NonNull but is null");
+                .isInstanceOf(NullPointerException.class);
 
         PfConceptKey ptKey = new PfConceptKey("tdt", VERSION_001);
         JpaToscaPolicyType tpt = new JpaToscaPolicyType(ptKey);
@@ -96,8 +97,7 @@ public class JpaToscaPolicyTypeTest {
         assertEquals(tpt, tdtClone0);
         assertEquals(0, tpt.compareTo(tdtClone0));
 
-        JpaToscaPolicyType tdtClone1 = new JpaToscaPolicyType();
-        tpt.copyTo(tdtClone1);
+        JpaToscaPolicyType tdtClone1 = new JpaToscaPolicyType(tpt);
         assertEquals(tpt, tdtClone1);
         assertEquals(0, tpt.compareTo(tdtClone1));
 
@@ -124,8 +124,6 @@ public class JpaToscaPolicyTypeTest {
         otherDt.setTriggers(triggers);
         assertEquals(0, tpt.compareTo(otherDt));
 
-        assertThatThrownBy(() -> tpt.copyTo(null)).hasMessage("target is marked @NonNull but is null");
-
         assertEquals(6, tpt.getKeys().size());
         assertEquals(1, new JpaToscaPolicyType().getKeys().size());
 
@@ -161,7 +159,8 @@ public class JpaToscaPolicyTypeTest {
         tpt.getMetadata().remove("nullKey");
         assertTrue(tpt.validate(new PfValidationResult()).isValid());
 
-        tpt.setDescription("");;
+        tpt.setDescription("");
+
         assertFalse(tpt.validate(new PfValidationResult()).isValid());
         tpt.setDescription(A_DESCRIPTION);
         assertTrue(tpt.validate(new PfValidationResult()).isValid());
@@ -171,13 +170,13 @@ public class JpaToscaPolicyTypeTest {
         tpt.setDerivedFrom(derivedFromKey);
         assertTrue(tpt.validate(new PfValidationResult()).isValid());
 
-        assertThatThrownBy(() -> tpt.validate(null)).hasMessage("resultIn is marked @NonNull but is null");
+        assertThatThrownBy(() -> tpt.validate(null)).hasMessageMatching("resultIn is marked .*on.*ull but is null");
 
         assertThatThrownBy(() -> new JpaToscaEntityType<ToscaPolicy>((PfConceptKey) null))
-                        .hasMessage("key is marked @NonNull but is null");
+                .hasMessageMatching("key is marked .*on.*ull but is null");
 
         assertThatThrownBy(() -> new JpaToscaEntityType<ToscaPolicy>((JpaToscaEntityType<ToscaPolicy>) null))
-                        .hasMessage("copyConcept is marked @NonNull but is null");
+                .isInstanceOf(NullPointerException.class);
 
         JpaToscaEntityType<ToscaPolicy> tet = new JpaToscaEntityType<>(tpt.getKey());
         assertEquals(-1, tet.compareTo(null));
@@ -188,4 +187,53 @@ public class JpaToscaPolicyTypeTest {
 
         assertNotNull(new JpaToscaEntityType<ToscaPolicyType>(new ToscaPolicyType()));
     }
+
+    @Test
+    public void testGetReferencedDataTypes() {
+        JpaToscaPolicyType pt0 = new JpaToscaPolicyType(new PfConceptKey("pt0", "0.0.1"));
+
+        assertTrue(pt0.getReferencedDataTypes().isEmpty());
+
+        pt0.setProperties(new LinkedHashMap<>());
+        assertTrue(pt0.getReferencedDataTypes().isEmpty());
+
+        JpaToscaProperty prop0 = new JpaToscaProperty(new PfReferenceKey(pt0.getKey(), "prop0"));
+        prop0.setType(new PfConceptKey("string", PfKey.NULL_KEY_VERSION));
+        assertTrue(prop0.validate(new PfValidationResult()).isValid());
+
+        pt0.getProperties().put(prop0.getKey().getLocalName(), prop0);
+        assertTrue(pt0.getReferencedDataTypes().isEmpty());
+
+        JpaToscaProperty prop1 = new JpaToscaProperty(new PfReferenceKey(pt0.getKey(), "prop1"));
+        prop1.setType(new PfConceptKey("the.property.Type0", "0.0.1"));
+        assertTrue(prop1.validate(new PfValidationResult()).isValid());
+
+        pt0.getProperties().put(prop1.getKey().getLocalName(), prop1);
+        assertEquals(1, pt0.getReferencedDataTypes().size());
+
+        JpaToscaProperty prop2 = new JpaToscaProperty(new PfReferenceKey(pt0.getKey(), "prop2"));
+        prop2.setType(new PfConceptKey("the.property.Type0", "0.0.1"));
+        assertTrue(prop2.validate(new PfValidationResult()).isValid());
+
+        pt0.getProperties().put(prop2.getKey().getLocalName(), prop2);
+        assertEquals(1, pt0.getReferencedDataTypes().size());
+
+        JpaToscaProperty prop3 = new JpaToscaProperty(new PfReferenceKey(pt0.getKey(), "prop4"));
+        prop3.setType(new PfConceptKey("the.property.Type1", "0.0.1"));
+        prop3.setEntrySchema(new JpaToscaEntrySchema());
+        prop3.getEntrySchema().setType(new PfConceptKey("the.property.Type3", "0.0.1"));
+        assertTrue(prop3.validate(new PfValidationResult()).isValid());
+
+        pt0.getProperties().put(prop3.getKey().getLocalName(), prop3);
+        assertEquals(3, pt0.getReferencedDataTypes().size());
+
+        JpaToscaProperty prop4 = new JpaToscaProperty(new PfReferenceKey(pt0.getKey(), "prop4"));
+        prop4.setType(new PfConceptKey("the.property.Type1", "0.0.1"));
+        prop4.setEntrySchema(new JpaToscaEntrySchema());
+        prop4.getEntrySchema().setType(new PfConceptKey("the.property.Type2", "0.0.1"));
+        assertTrue(prop4.validate(new PfValidationResult()).isValid());
+
+        pt0.getProperties().put(prop4.getKey().getLocalName(), prop4);
+        assertEquals(3, pt0.getReferencedDataTypes().size());
+    }
 }