import java.util.ArrayList;
import java.util.List;
-
import org.onap.policy.apex.services.onappf.ApexStarterConstants;
import org.onap.policy.apex.services.onappf.parameters.PdpStatusParameters;
import org.onap.policy.apex.services.onappf.parameters.ToscaPolicyTypeIdentifierParameters;
public PdpStatus createPdpStatusFromParameters(final String instanceId,
final PdpStatusParameters pdpStatusParameters) {
final PdpStatus pdpStatus = new PdpStatus();
+ pdpStatus.setPdpGroup(pdpStatusParameters.getPdpGroup());
pdpStatus.setPdpType(pdpStatusParameters.getPdpType());
pdpStatus.setState(PdpState.PASSIVE);
pdpStatus.setHealthy(PdpHealthStatus.HEALTHY);
package org.onap.policy.apex.services.onappf.parameters;
import java.util.List;
-
import lombok.Getter;
-
import org.onap.policy.common.parameters.ParameterGroupImpl;
import org.onap.policy.common.parameters.annotations.Min;
import org.onap.policy.common.parameters.annotations.NotBlank;
private String pdpType;
private String description;
private List<ToscaPolicyTypeIdentifierParameters> supportedPolicyTypes;
+ private String pdpGroup;
public PdpStatusParameters() {
super(PdpStatusParameters.class.getSimpleName());
"https": true
},
"pdpStatusParameters":{
+ "pdpGroup": "defaultGroup",
"timeIntervalMs": 120000,
"pdpType":"apex",
"description":"Pdp Heartbeat",
public static final String PDP_NAME = "apex-pdp";
public static final String VERSION = "0.0.1";
public static final String PDP_TYPE = "apex";
+ public static final String PDP_GROUP = "defaultGroup";
public static final String DESCRIPTION = "Pdp status for HealthCheck";
public static final String POLICY_NAME = "onap.controllloop.operational.apex.BBS";
public static final String POLICY_VERSION = "0.0.1";
public Map<String, Object> getPdpStatusParametersMap(final boolean isEmpty) {
final Map<String, Object> map = new TreeMap<>();
if (!isEmpty) {
+ map.put("pdpGroup", PDP_GROUP);
map.put("timeIntervalMs", TIME_INTERVAL);
map.put("pdpName", PDP_NAME);
map.put("version", VERSION);
package org.onap.policy.apex.services.onappf.parameters;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import java.util.Map;
import org.junit.Test;
-import org.onap.policy.apex.services.onappf.parameters.PdpStatusParameters;
import org.onap.policy.common.parameters.GroupValidationResult;
/**
assertEquals(CommonTestData.PDP_TYPE, pdpStatusParameters.getPdpType());
assertEquals(CommonTestData.DESCRIPTION, pdpStatusParameters.getDescription());
assertEquals(CommonTestData.SUPPORTED_POLICY_TYPES, pdpStatusParameters.getSupportedPolicyTypes());
+ assertEquals(CommonTestData.PDP_GROUP, pdpStatusParameters.getPdpGroup());
}
@Test
assertNull(result.getResult());
assertTrue(result.isValid());
}
+
+ @Test
+ public void testPdpStatusParameters_nullPdpGroup() throws Exception {
+ Map<String, Object> pdpStatusParametersMap = testData.getPdpStatusParametersMap(false);
+ pdpStatusParametersMap.remove("pdpGroup");
+ final PdpStatusParameters pdpStatusParameters =
+ testData.toObject(pdpStatusParametersMap, PdpStatusParameters.class);
+ final GroupValidationResult validationResult = pdpStatusParameters.validate();
+ assertFalse(validationResult.isValid());
+ assertTrue(validationResult.getResult()
+ .contains("field \"pdpGroup\" type \"java.lang.String\" value \"null\" INVALID"));
+ }
+
+ @Test
+ public void testPdpStatusParameters_emptyPdpGroup() throws Exception {
+ Map<String, Object> pdpStatusParametersMap = testData.getPdpStatusParametersMap(false);
+ pdpStatusParametersMap.put("pdpGroup", "");
+ final PdpStatusParameters pdpStatusParameters =
+ testData.toObject(pdpStatusParametersMap, PdpStatusParameters.class);
+ final GroupValidationResult validationResult = pdpStatusParameters.validate();
+ assertFalse(validationResult.isValid());
+ assertTrue(validationResult.getResult()
+ .contains("field \"pdpGroup\" type \"java.lang.String\" value \"\" INVALID, must be a non-blank string"));
+ }
}
"https": true
},
"pdpStatusParameters":{
+ "pdpGroup": "defaultGroup",
"timeIntervalMs": 120000,
"pdpType":"apex",
"description":"Pdp Heartbeat",
"https": true
},
"pdpStatusParameters":{
+ "pdpGroup": "defaultGroup",
"timeIntervalMs": 120000,
"pdpType":"apex",
"description":"Pdp Heartbeat",
"https": true
},
"pdpStatusParameters":{
+ "pdpGroup": "defaultGroup",
"timeIntervalMs": 120000,
"pdpType":"apex",
"description":"Pdp Heartbeat",
"https": true
},
"pdpStatusParameters":{
+ "pdpGroup": "defaultGroup",
"timeIntervalMs": 120000,
"pdpType":"apex",
"description":"Pdp Heartbeat",