aboutsummaryrefslogtreecommitdiffstats
path: root/applications/monitoring
diff options
context:
space:
mode:
Diffstat (limited to 'applications/monitoring')
-rw-r--r--applications/monitoring/pom.xml2
-rw-r--r--applications/monitoring/src/test/java/cucumber/RunCucumberTest.java32
-rw-r--r--applications/monitoring/src/test/java/cucumber/Stepdefs.java223
-rw-r--r--applications/monitoring/src/test/java/org/onap/policy/xacml/pdp/application/monitoring/MonitoringPdpApplicationTest.java60
4 files changed, 31 insertions, 286 deletions
diff --git a/applications/monitoring/pom.xml b/applications/monitoring/pom.xml
index 91f44cae..beedf1b1 100644
--- a/applications/monitoring/pom.xml
+++ b/applications/monitoring/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.onap.policy.xacml-pdp.applications</groupId>
<artifactId>applications</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>4.0.1-SNAPSHOT</version>
</parent>
<artifactId>xacml-monitoring</artifactId>
diff --git a/applications/monitoring/src/test/java/cucumber/RunCucumberTest.java b/applications/monitoring/src/test/java/cucumber/RunCucumberTest.java
deleted file mode 100644
index f0b9d7f5..00000000
--- a/applications/monitoring/src/test/java/cucumber/RunCucumberTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP
- * ================================================================================
- * Copyright (C) 2019 AT&T 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package cucumber;
-
-import io.cucumber.junit.Cucumber;
-import io.cucumber.junit.CucumberOptions;
-import org.junit.runner.RunWith;
-
-@RunWith(Cucumber.class)
-@CucumberOptions()
-public class RunCucumberTest {
-} \ No newline at end of file
diff --git a/applications/monitoring/src/test/java/cucumber/Stepdefs.java b/applications/monitoring/src/test/java/cucumber/Stepdefs.java
deleted file mode 100644
index 0a1d333a..00000000
--- a/applications/monitoring/src/test/java/cucumber/Stepdefs.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP
- * ================================================================================
- * Copyright (C) 2019-2020 AT&T 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package cucumber;
-
-import com.att.research.xacml.std.annotations.XACMLAction;
-import com.att.research.xacml.std.annotations.XACMLRequest;
-import com.att.research.xacml.std.annotations.XACMLResource;
-import com.att.research.xacml.std.annotations.XACMLSubject;
-import io.cucumber.java.en.Given;
-import io.cucumber.java.en.Then;
-import io.cucumber.java.en.When;
-import org.junit.ClassRule;
-import org.junit.rules.TemporaryFolder;
-
-public class Stepdefs {
-
- /*
-
- private static final Logger logger = LoggerFactory.getLogger(Stepdefs.class);
-
- public static OnapXacmlPdpEngine onapPdpEngine;
- public static Properties properties;
- public static Map<String, Object> tcaPolicy;
- public static Request request;
- public static File pathProperties;
- public static File pathRootPolicy;
-
- /**
- * Temporary folder where we will store newly created policies.
- */
- @ClassRule
- public TemporaryFolder policyFolder = new TemporaryFolder();
-
- /**
- * This is a simple annotation class to simulate
- * requests coming in.
- */
- @XACMLRequest(ReturnPolicyIdList = true)
- public class MyXacmlRequest {
-
- @XACMLSubject(includeInResults = true)
- String onapName = "DCAE";
-
- @XACMLResource(includeInResults = true)
- String resource = "onap.policies.Monitoring";
-
- @XACMLAction()
- String action = "configure";
- }
-
- /**
- * Initialization.
- */
- @Given("Initialization")
- public void initialization() {
- /*
- //
- // Everything initializes upon startup
- //
- assertThatCode(() -> {
- //
- // Assume XACML REST Controller loads PDP engine
- //
- onapPdpEngine = new OnapXacmlPdpEngine();
- //
- // Come up with defaults
- //
- File path = Paths.get("src/test/resources").toFile();
- /*
- // try (InputStream is = new FileInputStream("src/test/resources/xacml.properties")) {
- // properties = new Properties();
- // properties.load(is);
- // onapPdpEngine.initializeEngine(properties);
-// }
- onapPdpEngine.initialize(path.toPath());
- //
- // Store the properties in new path
- //
- // JUNIT IS CRASHING - THE TEMP FOLDER NOT CREATED -->
- //pathProperties = policyFolder.newFile("xacml.properties");
- //
- // Store the root policies
- //
- for (String rootPolicyId : XACMLProperties.getRootPolicyIDs(properties)) {
- logger.debug("Root policy id: " + rootPolicyId);
- }
-
- }).doesNotThrowAnyException();
- */
- }
-
- /**
- * Initialization.
- */
- @When("Decision Requested")
- public void decision_Requested() {
- /*
- //
- // Simulate a request coming in from Xacml REST server
- //
- assertThatCode(() -> {
- request = RequestParser.parseRequest(new MyXacmlRequest());
- }).doesNotThrowAnyException();
- */
- }
-
- /**
- * Initialization.
- */
- @Then("Decision Permit {int} Obligations")
- public void decision_Permit_Obligations(Integer int1) {
- /*
- Response response = onapPdpEngine.decision(request);
- for (Result result : response.getResults()) {
- logger.debug(result.getDecision().toString());
- assertEquals(Decision.PERMIT, result.getDecision());
- assertThat(result.getObligations().size()).isEqualTo(int1);
- }
- */
- }
-
- /**
- * Initialization.
- */
- @When("The application gets new Tosca Policy")
- public void the_application_gets_new_Tosca_Policy() {
- /*
- //
- // The Xacml PDP REST controller Would receive this from the PAP
- //
- // And then parse it looking for Policy Types
- //
- assertThatCode(() -> {
- try (InputStream is = new FileInputStream("src/test/resources/vDNS.policy.input.yaml")) {
- Yaml yaml = new Yaml();
- tcaPolicy = yaml.load(is);
- //
- // Do we test iterating and determining if supported?
- //
-
- }
- }).doesNotThrowAnyException();
- */
- }
-
- /**
- * Initialization.
- */
- @Then("Load Policy")
- public void load_Policy() {
- /*
- assertThatCode(() -> {
- //
- // Load the policies
- //
- List<PolicyType> convertedPolicies = onapPdpEngine.convertPolicies(tcaPolicy);
- //
- // Store these in temporary folder
- //
- int id = 1;
- List<Path> newReferencedPolicies = new ArrayList<>();
- for (PolicyType convertedPolicy : convertedPolicies) {
- //
- // I don't think we should use the policy id as the filename - there could
- // possibly be duplicates. eg. Not guaranteed to be unique.
- //
- File file = policyFolder.newFile("policy." + id + convertedPolicy.getPolicyId() + ".xml");
- logger.info("Creating Policy {}", file.getAbsolutePath());
- Path path = XACMLPolicyWriter.writePolicyFile(file.toPath(), convertedPolicy);
- //
- // Add it to our list
- //
- newReferencedPolicies.add(path);
- }
- //
- // Now updated the properties
- //
- Path[] args = new Path[newReferencedPolicies.size()];
- newReferencedPolicies.toArray(args);
- XACMLProperties.setXacmlReferencedProperties(properties, args);
- //
- // Reload the PDP engine
- //
- onapPdpEngine.initializeEngine(properties);
- }).doesNotThrowAnyException();
- */
- }
-
- /**
- * Initialization.
- */
- @Then("Save Configuration")
- public void save_Configuration() {
- /*
- assertThatCode(() -> {
- //
- // Save the configuration
- //
- onapPdpEngine.storeXacmlProperties(pathProperties.getAbsolutePath());
- }).doesNotThrowAnyException();
- */
- }
-}
diff --git a/applications/monitoring/src/test/java/org/onap/policy/xacml/pdp/application/monitoring/MonitoringPdpApplicationTest.java b/applications/monitoring/src/test/java/org/onap/policy/xacml/pdp/application/monitoring/MonitoringPdpApplicationTest.java
index b4a5579e..9debb6b1 100644
--- a/applications/monitoring/src/test/java/org/onap/policy/xacml/pdp/application/monitoring/MonitoringPdpApplicationTest.java
+++ b/applications/monitoring/src/test/java/org/onap/policy/xacml/pdp/application/monitoring/MonitoringPdpApplicationTest.java
@@ -3,7 +3,7 @@
* ONAP
* ================================================================================
* Copyright (C) 2019-2022 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2021 Nordix Foundation.
+ * Modifications Copyright (C) 2021, 2024 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -27,18 +27,18 @@ import static org.assertj.core.api.Assertions.assertThat;
import com.att.research.xacml.api.Response;
import java.io.File;
+import java.nio.file.Path;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.ServiceLoader;
import org.apache.commons.lang3.tuple.Pair;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.junit.runners.MethodSorters;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.MethodOrderer;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestMethodOrder;
+import org.junit.jupiter.api.io.TempDir;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.resources.TextFileUtils;
@@ -53,8 +53,8 @@ import org.onap.policy.pdp.xacml.xacmltest.TestUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class MonitoringPdpApplicationTest {
+@TestMethodOrder(MethodOrderer.MethodName.class)
+class MonitoringPdpApplicationTest {
private static final Logger LOGGER = LoggerFactory.getLogger(MonitoringPdpApplicationTest.class);
private static final Properties properties = new Properties();
@@ -64,40 +64,40 @@ public class MonitoringPdpApplicationTest {
private static final StandardCoder gson = new StandardCoder();
- @ClassRule
- public static final TemporaryFolder policyFolder = new TemporaryFolder();
+ @TempDir
+ static Path policyFolder;
/**
* Copies the xacml.properties and policies files into
* temporary folder and loads the service provider saving
* instance of provider off for other tests to use.
*/
- @BeforeClass
- public static void setup() throws Exception {
+ @BeforeAll
+ static void setup() throws Exception {
//
// Load Single Decision Request
//
requestSinglePolicy = gson.decode(
- TextFileUtils
- .getTextFileAsString("../../main/src/test/resources/decisions/decision.single.input.json"),
- DecisionRequest.class);
+ TextFileUtils
+ .getTextFileAsString("../../main/src/test/resources/decisions/decision.single.input.json"),
+ DecisionRequest.class);
// Load Single Decision Request
//
requestPolicyType = gson.decode(
- TextFileUtils
+ TextFileUtils
.getTextFileAsString("../../main/src/test/resources/decisions/decision.policytype.input.json"),
- DecisionRequest.class);
+ DecisionRequest.class);
//
- // Setup our temporary folder
+ // Set up our temporary folder
//
- XacmlPolicyUtils.FileCreator myCreator = policyFolder::newFile;
+ XacmlPolicyUtils.FileCreator myCreator = (String filename) -> policyFolder.resolve(filename).toFile();
File propertiesFile = XacmlPolicyUtils.copyXacmlPropertiesContents("src/test/resources/xacml.properties",
properties, myCreator);
//
// Load XacmlApplicationServiceProvider service
//
ServiceLoader<XacmlApplicationServiceProvider> applicationLoader =
- ServiceLoader.load(XacmlApplicationServiceProvider.class);
+ ServiceLoader.load(XacmlApplicationServiceProvider.class);
//
// Look for our class instance and save it
//
@@ -127,7 +127,7 @@ public class MonitoringPdpApplicationTest {
}
@Test
- public void test1Basics() {
+ void test1Basics() {
//
// Make sure there's an application name
//
@@ -137,17 +137,17 @@ public class MonitoringPdpApplicationTest {
// can support the correct policy types.
//
assertThat(service.canSupportPolicyType(
- new ToscaConceptIdentifier("onap.policies.monitoring.tcagen2", "1.0.0"))).isTrue();
+ new ToscaConceptIdentifier("onap.policies.monitoring.tcagen2", "1.0.0"))).isTrue();
assertThat(service.canSupportPolicyType(
new ToscaConceptIdentifier("onap.policies.monitoring.tcagen2", "2.0.0"))).isTrue();
assertThat(service.canSupportPolicyType(
- new ToscaConceptIdentifier(
+ new ToscaConceptIdentifier(
"onap.policies.monitoring.foobar", "1.0.1"))).isTrue();
assertThat(service.canSupportPolicyType(
new ToscaConceptIdentifier(
"onap.policies.monitoring.foobar", "2.0.1"))).isTrue();
assertThat(service.canSupportPolicyType(
- new ToscaConceptIdentifier("onap.foobar", "1.0.0"))).isFalse();
+ new ToscaConceptIdentifier("onap.foobar", "1.0.0"))).isFalse();
//
// Ensure it supports decisions
//
@@ -155,7 +155,7 @@ public class MonitoringPdpApplicationTest {
}
@Test
- public void test2NoPolicies() {
+ void test2NoPolicies() {
//
// Ask for a decision
//
@@ -189,28 +189,28 @@ public class MonitoringPdpApplicationTest {
}
@Test
- public void tes3AddvDnsPolicy() throws CoderException, XacmlApplicationException {
+ void tes3AddvDnsPolicy() throws CoderException, XacmlApplicationException {
testAddPolicy("src/test/resources/vDNS.policy.input.yaml",
"onap.policies.monitoring.cdap.tca.hi.lo.app",
"onap.scaleout.tca");
}
@Test
- public void tes4AddvFirewall1Policy() throws CoderException, XacmlApplicationException {
+ void tes4AddvFirewall1Policy() throws CoderException, XacmlApplicationException {
testAddPolicy("policies/vFirewall.policy.monitoring.input.tosca.yaml",
"onap.policies.monitoring.tcagen2",
"onap.vfirewall.tca");
}
@Test
- public void tes5AddvFirewall2Policy() throws CoderException, XacmlApplicationException {
+ void tes5AddvFirewall2Policy() throws CoderException, XacmlApplicationException {
testAddPolicy("policies/vFirewall.policy.monitoring.input.tosca.v2.yaml",
"onap.policies.monitoring.tcagen2",
"onap.vfirewall.tca");
}
@SuppressWarnings("unchecked")
- public void testAddPolicy(String policyResource, String policyType, String policyId)
+ void testAddPolicy(String policyResource, String policyType, String policyId)
throws CoderException, XacmlApplicationException {
//
// Now load the vDNS Policy - make sure