Fix Sonar Issues models-tosca-simple
[policy/models.git] / models-tosca / src / test / java / org / onap / policy / models / tosca / simple / concepts / JpaToscaPolicyTypeTest.java
index 5a18902..5cca879 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ============LICENSE_START=======================================================
- *  Copyright (C) 2019-2020 Nordix Foundation.
+ *  Copyright (C) 2019-2021 Nordix Foundation.
  *  Modifications Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -37,7 +37,6 @@ 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;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
 
@@ -51,7 +50,7 @@ public class JpaToscaPolicyTypeTest {
     private static final String VERSION_001 = "0.0.1";
 
     @Test
-    public void testPolicyTypePojo() {
+    public void testPolicyTypeNull() {
         assertNotNull(new JpaToscaPolicyType());
         assertNotNull(new JpaToscaPolicyType(new PfConceptKey()));
         assertNotNull(new JpaToscaPolicyType(new JpaToscaPolicyType()));
@@ -61,7 +60,10 @@ public class JpaToscaPolicyTypeTest {
 
         assertThatThrownBy(() -> new JpaToscaPolicyType((JpaToscaPolicyType) null))
                 .isInstanceOf(NullPointerException.class);
+    }
 
+    @Test
+    public void testPolicyTypePojo() {
         PfConceptKey ptKey = new PfConceptKey("tdt", VERSION_001);
         JpaToscaPolicyType tpt = new JpaToscaPolicyType(ptKey);
 
@@ -125,53 +127,70 @@ public class JpaToscaPolicyTypeTest {
         otherDt.setTriggers(triggers);
         assertEquals(0, tpt.compareTo(otherDt));
 
-        assertEquals(6, tpt.getKeys().size());
-        assertEquals(1, new JpaToscaPolicyType().getKeys().size());
-
         new JpaToscaPolicyType().clean();
         tpt.clean();
         assertEquals(tdtClone0, tpt);
+    }
 
-        assertFalse(new JpaToscaPolicyType().validate(new PfValidationResult()).isValid());
-        assertTrue(tpt.validate(new PfValidationResult()).isValid());
+    @Test
+    public void testPolicyTypeValidation() {
+        JpaToscaPolicyType tpt = setUpJpaToscaPolicyType();
+
+        assertEquals(6, tpt.getKeys().size());
+        assertEquals(1, new JpaToscaPolicyType().getKeys().size());
+
+        assertFalse(new JpaToscaPolicyType().validate("").isValid());
+        assertTrue(tpt.validate("").isValid());
 
         tpt.getProperties().put(null, null);
-        assertFalse(tpt.validate(new PfValidationResult()).isValid());
+        assertFalse(tpt.validate("").isValid());
         tpt.getProperties().remove(null);
-        assertTrue(tpt.validate(new PfValidationResult()).isValid());
+        assertTrue(tpt.validate("").isValid());
 
         tpt.getTargets().add(null);
-        assertFalse(tpt.validate(new PfValidationResult()).isValid());
+        assertFalse(tpt.validate("").isValid());
         tpt.getTargets().remove(null);
-        assertTrue(tpt.validate(new PfValidationResult()).isValid());
+        assertTrue(tpt.validate("").isValid());
 
         tpt.getTriggers().add(null);
-        assertFalse(tpt.validate(new PfValidationResult()).isValid());
+        assertFalse(tpt.validate("").isValid());
         tpt.getTriggers().remove(null);
-        assertTrue(tpt.validate(new PfValidationResult()).isValid());
+        assertTrue(tpt.validate("").isValid());
+    }
+
+    @Test
+    public void testPolicyTypeValidation2() {
+        JpaToscaPolicyType tpt = setUpJpaToscaPolicyType();
 
         tpt.getMetadata().put(null, null);
-        assertFalse(tpt.validate(new PfValidationResult()).isValid());
+        assertFalse(tpt.validate("").isValid());
         tpt.getMetadata().remove(null);
-        assertTrue(tpt.validate(new PfValidationResult()).isValid());
+        assertTrue(tpt.validate("").isValid());
 
         tpt.getMetadata().put("nullKey", null);
-        assertFalse(tpt.validate(new PfValidationResult()).isValid());
+        assertFalse(tpt.validate("").isValid());
         tpt.getMetadata().remove("nullKey");
-        assertTrue(tpt.validate(new PfValidationResult()).isValid());
+        assertTrue(tpt.validate("").isValid());
 
         tpt.setDescription("");
 
-        assertFalse(tpt.validate(new PfValidationResult()).isValid());
+        assertFalse(tpt.validate("").isValid());
         tpt.setDescription(A_DESCRIPTION);
-        assertTrue(tpt.validate(new PfValidationResult()).isValid());
+        assertTrue(tpt.validate("").isValid());
 
         tpt.setDerivedFrom(PfConceptKey.getNullKey());
-        assertFalse(tpt.validate(new PfValidationResult()).isValid());
+        assertFalse(tpt.validate("").isValid());
+
+        PfConceptKey derivedFromKey = new PfConceptKey("deriveFrom", VERSION_001);
         tpt.setDerivedFrom(derivedFromKey);
-        assertTrue(tpt.validate(new PfValidationResult()).isValid());
+        assertTrue(tpt.validate("").isValid());
+    }
+
+    @Test
+    public void testPolicyTypeEntity() {
+        JpaToscaPolicyType tpt = setUpJpaToscaPolicyType();
 
-        assertThatThrownBy(() -> tpt.validate(null)).hasMessageMatching("resultIn is marked .*on.*ull but is null");
+        assertThatThrownBy(() -> tpt.validate(null)).hasMessageMatching("fieldName is marked .*on.*ull but is null");
 
         assertThatThrownBy(() -> new JpaToscaEntityType<ToscaPolicy>((PfConceptKey) null))
                 .hasMessageMatching("key is marked .*on.*ull but is null");
@@ -200,41 +219,69 @@ public class JpaToscaPolicyTypeTest {
 
         JpaToscaProperty prop0 = new JpaToscaProperty(new PfReferenceKey(pt0.getKey(), "prop0"));
         prop0.setType(new PfConceptKey("string", PfKey.NULL_KEY_VERSION));
-        assertTrue(prop0.validate(new PfValidationResult()).isValid());
+        assertTrue(prop0.validate("").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());
+        assertTrue(prop1.validate("").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());
+        assertTrue(prop2.validate("").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.setEntrySchema(new JpaToscaSchemaDefinition());
         prop3.getEntrySchema().setType(new PfConceptKey("the.property.Type3", "0.0.1"));
-        assertTrue(prop3.validate(new PfValidationResult()).isValid());
+        assertTrue(prop3.validate("").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.setEntrySchema(new JpaToscaSchemaDefinition());
         prop4.getEntrySchema().setType(new PfConceptKey("the.property.Type2", "0.0.1"));
-        assertTrue(prop4.validate(new PfValidationResult()).isValid());
+        assertTrue(prop4.validate("").isValid());
 
         pt0.getProperties().put(prop4.getKey().getLocalName(), prop4);
         assertEquals(3, pt0.getReferencedDataTypes().size());
     }
+
+    private JpaToscaPolicyType setUpJpaToscaPolicyType() {
+        PfConceptKey ptKey = new PfConceptKey("tdt", VERSION_001);
+        JpaToscaPolicyType tpt = new JpaToscaPolicyType(ptKey);
+
+        PfConceptKey derivedFromKey = new PfConceptKey("deriveFrom", VERSION_001);
+        tpt.setDerivedFrom(derivedFromKey);
+        // Maps and Lists need to be modifiable
+        Map<String, String> metadata = new HashMap<>(Map.of("key", "value"));
+        tpt.setMetadata(metadata);
+
+        tpt.setDescription(A_DESCRIPTION);
+
+        PfConceptKey propTypeKey = new PfConceptKey("propType", VERSION_001);
+        JpaToscaProperty tp = new JpaToscaProperty(new PfReferenceKey(ptKey, "aProp"), propTypeKey);
+        Map<String, JpaToscaProperty> properties = new LinkedHashMap<>(Map.of(tp.getKey().getLocalName(), tp));
+        tpt.setProperties(properties);
+
+        PfConceptKey target = new PfConceptKey("target", VERSION_001);
+        List<PfConceptKey> targets = new ArrayList<>(List.of(target));
+        tpt.setTargets(targets);
+
+        JpaToscaTrigger trigger = new JpaToscaTrigger(new PfReferenceKey(ptKey, "aTrigger"), "EventType", "Action");
+        List<JpaToscaTrigger> triggers = new ArrayList<>(List.of(trigger));
+        tpt.setTriggers(triggers);
+
+        return tpt;
+    }
 }