aboutsummaryrefslogtreecommitdiffstats
path: root/test/mocks/pnfsimulator/src/main/java/org/onap/pnfsimulator/simulator/validation/ParamsValidator.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/mocks/pnfsimulator/src/main/java/org/onap/pnfsimulator/simulator/validation/ParamsValidator.java')
-rw-r--r--test/mocks/pnfsimulator/src/main/java/org/onap/pnfsimulator/simulator/validation/ParamsValidator.java70
1 files changed, 55 insertions, 15 deletions
diff --git a/test/mocks/pnfsimulator/src/main/java/org/onap/pnfsimulator/simulator/validation/ParamsValidator.java b/test/mocks/pnfsimulator/src/main/java/org/onap/pnfsimulator/simulator/validation/ParamsValidator.java
index 6cdb781f1..3c8459473 100644
--- a/test/mocks/pnfsimulator/src/main/java/org/onap/pnfsimulator/simulator/validation/ParamsValidator.java
+++ b/test/mocks/pnfsimulator/src/main/java/org/onap/pnfsimulator/simulator/validation/ParamsValidator.java
@@ -1,3 +1,23 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.onap.integration
+ * ================================================================================
+ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
package org.onap.pnfsimulator.simulator.validation;
import static org.onap.pnfsimulator.message.MessageConstants.MESSAGE_INTERVAL;
@@ -6,13 +26,15 @@ import static org.onap.pnfsimulator.message.MessageConstants.PNF_OAM_IPV6_ADDRES
import static org.onap.pnfsimulator.message.MessageConstants.PNF_SERIAL_NUMBER;
import static org.onap.pnfsimulator.message.MessageConstants.PNF_VENDOR_NAME;
import static org.onap.pnfsimulator.message.MessageConstants.TEST_DURATION;
+import static org.onap.pnfsimulator.message.MessageConstants.VES_SERVER_URL;
import com.google.common.collect.ImmutableMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import java.util.function.Predicate;
+import java.util.function.BiPredicate;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
@@ -20,33 +42,50 @@ import org.json.JSONObject;
public class ParamsValidator {
private final static String MISSING_PARAMS_MESSAGE = "Following mandatory params are missing:\n";
- private final Map<String, Predicate<String>> validators = ImmutableMap
- .<String, Predicate<String>>builder()
+
+ private final Map<String, BiPredicate<String, JSONObject>> simulatorParamsValidators = ImmutableMap
+ .<String, BiPredicate<String, JSONObject>>builder()
+ .put(VES_SERVER_URL, this::isDefined)
.put(TEST_DURATION, this::isNumeric)
.put(MESSAGE_INTERVAL, this::isNumeric)
+ .build();
+
+ private final Map<String, BiPredicate<String, JSONObject>> messageParamsValidators = ImmutableMap
+ .<String, BiPredicate<String, JSONObject>>builder()
.put(PNF_SERIAL_NUMBER, this::isDefined)
.put(PNF_VENDOR_NAME, this::isDefined)
.put(PNF_OAM_IPV4_ADDRESS, this::isDefined)
.put(PNF_OAM_IPV6_ADDRESS, this::isDefined)
.build();
- private JSONObject subject;
+ private JSONObject simulatorParams;
+ private JSONObject messageParams;
- private ParamsValidator(JSONObject paramsObject) {
- subject = paramsObject;
+ private ParamsValidator(JSONObject simulatorParams, JSONObject messageParams) {
+ this.simulatorParams = simulatorParams;
+ this.messageParams = messageParams;
}
- public static ParamsValidator forObject(JSONObject configObject) {
- return new ParamsValidator(configObject);
+ public static ParamsValidator forParams(JSONObject simulatorParams, JSONObject messageParams) {
+ return new ParamsValidator(simulatorParams, messageParams);
}
public void validate() throws ValidationException {
- List<String> missingParams = validators
+ Stream<String> missingSimulatorParams = simulatorParamsValidators
.entrySet()
.stream()
- .filter(entry -> !entry.getValue().test(entry.getKey()))
- .map(Entry::getKey)
+ .filter(entry -> !entry.getValue().test(entry.getKey(), simulatorParams))
+ .map(Entry::getKey);
+
+ Stream<String> missingMessageParams = messageParamsValidators
+ .entrySet()
+ .stream()
+ .filter(entry -> !entry.getValue().test(entry.getKey(), messageParams))
+ .map(Entry::getKey);
+
+ List<String> missingParams = Stream
+ .concat(missingMessageParams, missingSimulatorParams)
.collect(Collectors.toList());
resolveMissingIP(missingParams);
@@ -63,12 +102,13 @@ public class ParamsValidator {
.collect(Collectors.joining("\n"));
}
- private boolean isNumeric(String param) {
- return isDefined(param) && StringUtils.isNumeric(subject.getString(param));
+ private boolean isNumeric(String param, JSONObject container) {
+ return isDefined(param, container) && StringUtils.isNumeric(container.getString(param));
}
- private boolean isDefined(String param) {
- return subject.has(param) && !subject.getString(param).isEmpty();
+ private boolean isDefined(String param, JSONObject container) {
+
+ return container.has(param) && !container.getString(param).isEmpty();
}
private void resolveMissingIP(List<String> missingParams) {