* ONAP Policy Models
* ================================================================================
* Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2021 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import org.onap.policy.common.utils.coder.Coder;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyIdentifier;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
/**
* Test methods not tested by {@link ModelsTest}.
*/
public class PdpSubGroupTest {
+ private static final String VERSION_300 = "3.0.0";
private static final Coder coder = new StandardCoder();
@Test
orig.setPdpType("my-type");
- final ToscaPolicyIdentifier pol1 = new ToscaPolicyIdentifier();
+ final ToscaConceptIdentifier pol1 = new ToscaConceptIdentifier();
pol1.setName("policy-A");
pol1.setVersion("1.0.0");
- final ToscaPolicyIdentifier pol2 = new ToscaPolicyIdentifier();
+ final ToscaConceptIdentifier pol2 = new ToscaConceptIdentifier();
pol2.setName("policy-B");
pol1.setVersion("2.0.0");
orig.setPolicies(Arrays.asList(pol1, pol2));
props.put("key-B", "value-B");
orig.setProperties(props);
- final ToscaPolicyTypeIdentifier supp1 = new ToscaPolicyTypeIdentifier("supp-A", "1.2");
- final ToscaPolicyTypeIdentifier supp2 = new ToscaPolicyTypeIdentifier("supp-B", "3.4");
+ final ToscaConceptIdentifier supp1 = new ToscaConceptIdentifier("supp-A", "1.2");
+ final ToscaConceptIdentifier supp2 = new ToscaConceptIdentifier("supp-B", "3.4");
orig.setSupportedPolicyTypes(Arrays.asList(supp1, supp2));
assertEquals(orig.toString(), new PdpSubGroup(orig).toString());
}
+ @Test
+ public void testValidatePapRest_GroupUpdateFlow() throws Exception {
+ PdpSubGroup subgrp = new PdpSubGroup();
+ // with supported policy type and policies
+ subgrp.setDesiredInstanceCount(1);
+ subgrp.setPdpType("pdp-type");
+ subgrp.setSupportedPolicyTypes(
+ Arrays.asList(makeIdent("type-X", VERSION_300, ToscaConceptIdentifier.class)));
+ subgrp.setPolicies(Arrays.asList(makeIdent("policy-X", "4.0.0", ToscaConceptIdentifier.class)));
+
+ ValidationResult result = subgrp.validatePapRest(false);
+ assertNotNull(result);
+ assertTrue(result.isValid());
+ assertNull(result.getResult());
+
+ // without supported policy type and policies
+ PdpSubGroup subgrp2 = new PdpSubGroup();
+ subgrp2.setDesiredInstanceCount(1);
+ subgrp2.setPdpType("pdp-type");
+
+ // valid
+ result = subgrp2.validatePapRest(true);
+ assertNotNull(result);
+ assertTrue(result.isValid());
+ assertNull(result.getResult());
+
+ // invalid
+ result = subgrp2.validatePapRest(false);
+ assertNotNull(result);
+ assertFalse(result.isValid());
+ assertNotNull(result.getResult());
+ }
+
@Test
public void testValidatePapRest() throws Exception {
PdpSubGroup subgrp = new PdpSubGroup();
subgrp.setDesiredInstanceCount(1);
subgrp.setPdpType("pdp-type");
- subgrp.setSupportedPolicyTypes(Arrays.asList(makeIdent("type-X", "3.0.0", ToscaPolicyTypeIdentifier.class)));
- subgrp.setPolicies(Arrays.asList(makeIdent("policy-X", "4.0.0", ToscaPolicyIdentifier.class)));
+ subgrp.setSupportedPolicyTypes(
+ Arrays.asList(makeIdent("type-X", VERSION_300, ToscaConceptIdentifier.class)));
+ subgrp.setPolicies(Arrays.asList(makeIdent("policy-X", "4.0.0", ToscaConceptIdentifier.class)));
// valid
- ValidationResult result = subgrp.validatePapRest();
+ ValidationResult result = subgrp.validatePapRest(false);
assertNotNull(result);
assertTrue(result.isValid());
assertNull(result.getResult());
// invalid policy type item
sub2 = new PdpSubGroup(subgrp);
- sub2.getSupportedPolicyTypes().set(0, makeIdent(null, "3.0.0", ToscaPolicyTypeIdentifier.class));
+ sub2.getSupportedPolicyTypes().set(0, makeIdent(null, VERSION_300, ToscaConceptIdentifier.class));
assertInvalid(sub2);
// null policies
// invalid policy item
sub2 = new PdpSubGroup(subgrp);
- sub2.getPolicies().set(0, makeIdent(null, "3.0.0", ToscaPolicyIdentifier.class));
+ sub2.getPolicies().set(0, makeIdent(null, VERSION_300, ToscaConceptIdentifier.class));
assertInvalid(sub2);
}
private void assertInvalid(PdpSubGroup sub2) {
- ValidationResult result = sub2.validatePapRest();
+ ValidationResult result = sub2.validatePapRest(false);
assertNotNull(result);
assertFalse(result.isValid());
assertNotNull(result.getResult());