* ============LICENSE_START=======================================================
* ONAP Policy Models
* ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
+ * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019-2020 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 static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
* Test methods not tested by {@link ModelsTest}.
*/
public class PdpGroupTest {
+ private static final String VERSION = "1.2.3";
private static final String NAME = "my-name";
private static final String PDP_TYPE1 = "type-1";
private static final String PDP_TYPE2 = "type-2";
// verify with null values
assertEquals("PdpGroup(name=null, description=null, pdpGroupState=null, " + "properties=null, pdpSubgroups=[])",
- new PdpGroup(orig).toString());
+ new PdpGroup(orig).toString());
// verify with all values
orig.setDescription("my-descript");
orig.setName(NAME);
- orig.setVersion("1.2.3");
+ orig.setVersion(VERSION);
orig.setDescription("my-description");
orig.setPdpGroupState(PdpState.SAFE);
orig.setProperties(props);
assertEquals("PdpGroup(name=my-name, description=my-description, "
- + "pdpGroupState=SAFE, properties={key-A=value-A, key-B=value-B}, "
- + "pdpSubgroups=[PdpSubGroup(pdpType=null, supportedPolicyTypes=[], policies=[], "
- + "currentInstanceCount=10, desiredInstanceCount=0, properties=null, pdpInstances=[]), "
- + "PdpSubGroup(pdpType=null, supportedPolicyTypes=[], policies=[], currentInstanceCount=11, "
- + "desiredInstanceCount=0, properties=null, pdpInstances=[])])", new PdpGroup(orig).toString());
+ + "pdpGroupState=SAFE, properties={key-A=value-A, key-B=value-B}, "
+ + "pdpSubgroups=[PdpSubGroup(pdpType=null, supportedPolicyTypes=[], policies=[], "
+ + "currentInstanceCount=10, desiredInstanceCount=0, properties=null, pdpInstances=[]), "
+ + "PdpSubGroup(pdpType=null, supportedPolicyTypes=[], policies=[], currentInstanceCount=11, "
+ + "desiredInstanceCount=0, properties=null, pdpInstances=[])])", new PdpGroup(orig).toString());
}
@Test
assertEquals(hash, group.hashCode());
group.setDescription("B");
- assertTrue(hash != group.hashCode());
+ assertNotEquals(hash, group.hashCode());
}
@Test
public void testCompareTo() {
PdpGroup pdpGroup0 = new PdpGroup();
pdpGroup0.setName("Name0");
- pdpGroup0.setVersion("1.2.3");
+ pdpGroup0.setVersion(VERSION);
PdpGroup pdpGroup1 = new PdpGroup();
pdpGroup1.setName("Name0");
- pdpGroup1.setVersion("1.2.3");
+ pdpGroup1.setVersion(VERSION);
assertEquals(0, pdpGroup0.compareTo(pdpGroup1));
assertEquals(1, mapList.get(0).size());
}
+ @Test
+ public void testValidatePapRest_GroupUpdateFlow() {
+ PdpGroup group = new PdpGroup();
+ group.setName(NAME);
+ // with supported policy type and policies
+ PdpSubGroup subgroup1 = new PdpSubGroup();
+ subgroup1.setDesiredInstanceCount(1);
+ subgroup1.setPdpType(PDP_TYPE1);
+ subgroup1.setSupportedPolicyTypes(Arrays.asList(new ToscaPolicyTypeIdentifier("a-type-name", "3.2.1")));
+ subgroup1.setPolicies(Collections.emptyList());
+ group.setPdpSubgroups(Arrays.asList(subgroup1));
+
+ ValidationResult result = group.validatePapRest(true);
+ assertNotNull(result);
+ assertTrue(result.isValid());
+ assertNull(result.getResult());
+
+ // without supported policy type and policies
+ PdpSubGroup subgroup2 = new PdpSubGroup();
+ subgroup2.setDesiredInstanceCount(1);
+ subgroup2.setPdpType(PDP_TYPE1);
+ group.setPdpSubgroups(Arrays.asList(subgroup2));
+
+ // valid
+ result = group.validatePapRest(true);
+ assertNotNull(result);
+ assertTrue(result.isValid());
+ assertNull(result.getResult());
+
+ // invalid
+ result = group.validatePapRest(false);
+ assertNotNull(result);
+ assertFalse(result.isValid());
+ assertNotNull(result.getResult());
+ }
+
@Test
public void testValidatePapRest() {
PdpGroup group = new PdpGroup();
group.setPdpSubgroups(Arrays.asList(subgroup1, subgroup2, subgroup3));
// valid
- ValidationResult result = group.validatePapRest();
+ ValidationResult result = group.validatePapRest(false);
assertNotNull(result);
assertTrue(result.isValid());
assertNull(result.getResult());
group2.setPdpSubgroups(null);
assertInvalid(group2);
+ // empty subgroup list
+ group2 = new PdpGroup(group);
+ group2.setPdpSubgroups(Collections.emptyList());
+ assertInvalid(group2);
+
// null subgroup
group2 = new PdpGroup(group);
group2.setPdpSubgroups(Arrays.asList(subgroup1, null));
}
private void assertInvalid(PdpGroup group) {
- ValidationResult result = group.validatePapRest();
+ ValidationResult result = group.validatePapRest(false);
assertNotNull(result);
assertFalse(result.isValid());
assertNotNull(result.getResult());