diff options
author | Pamela Dragosh <pdragosh@research.att.com> | 2019-03-03 19:01:08 -0500 |
---|---|---|
committer | Pamela Dragosh <pdragosh@research.att.com> | 2019-03-04 17:58:29 -0500 |
commit | a02659636fbfad2c3cb970d93f35e02a892409e5 (patch) | |
tree | 57c8a95b7862a6853e3dbe2ee0bdcfa08ffed708 /applications/monitoring/src/test | |
parent | 4824f8e959a7951600066421af190b79dd86b6d9 (diff) |
Foundation for Monitoring Decisions
This sets the foundation for building the XACML PDP
engine that supports Decisions for onap.Monitoring
policy types.
Mostly stubbed code for now, will most likely get
re-arranged.
Put in the cucumber basics, but no implementation yet.
Need policy/parent to be merged before this will pass.
* Fixed checkstyle license date
Issue-ID: POLICY-1273
Change-Id: Ifb455065316fd3ec0a025b5833b334ee72f65adc
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
Diffstat (limited to 'applications/monitoring/src/test')
4 files changed, 140 insertions, 0 deletions
diff --git a/applications/monitoring/src/test/java/cucumber/RunCucumberTest.java b/applications/monitoring/src/test/java/cucumber/RunCucumberTest.java new file mode 100644 index 00000000..8dfc0b1c --- /dev/null +++ b/applications/monitoring/src/test/java/cucumber/RunCucumberTest.java @@ -0,0 +1,32 @@ +/*- + * ============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 cucumber.api.CucumberOptions; +import cucumber.api.junit.Cucumber; +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 new file mode 100644 index 00000000..6915afdb --- /dev/null +++ b/applications/monitoring/src/test/java/cucumber/Stepdefs.java @@ -0,0 +1,48 @@ +/*- + * ============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 cucumber.api.java.en.Given; +import cucumber.api.java.en.Then; +import cucumber.api.java.en.When; + +public class Stepdefs { + + @Given("TCA Policy is loaded") + public void tca_Policy_is_loaded() { + // Write code here that turns the phrase above into concrete actions + throw new cucumber.api.PendingException(); + } + + @When("A Decision Request is received") + public void a_Decision_Request_is_received() { + // Write code here that turns the phrase above into concrete actions + throw new cucumber.api.PendingException(); + } + + @Then("I should return TCA Policy as JSON") + public void i_should_return_TCA_Policy_as_JSON() { + // Write code here that turns the phrase above into concrete actions + throw new cucumber.api.PendingException(); + } +} diff --git a/applications/monitoring/src/test/resources/cucumber/decisions.feature b/applications/monitoring/src/test/resources/cucumber/decisions.feature new file mode 100644 index 00000000..a23d965b --- /dev/null +++ b/applications/monitoring/src/test/resources/cucumber/decisions.feature @@ -0,0 +1,27 @@ +# +# ============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========================================================= +Feature: Return a decision + Return a decision for a request + + Scenario: Return policy as a JSON + Given TCA Policy is loaded + When A Decision Request is received + Then I should return TCA Policy as JSON
\ No newline at end of file diff --git a/applications/monitoring/src/test/resources/vDNS.policy.input.yaml b/applications/monitoring/src/test/resources/vDNS.policy.input.yaml new file mode 100644 index 00000000..ee149381 --- /dev/null +++ b/applications/monitoring/src/test/resources/vDNS.policy.input.yaml @@ -0,0 +1,33 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +policies: + - + onap.scaleout.tca: + type: onap.policies.monitoring.cdap.tca.hi.lo.app + version: 1.0.0 + metadata: + policy-id: onap.scaleout.tca + properties: + domain: measurementsForVfScaling + metricsPerEventName: + - + eventName: vLoadBalancer + controlLoopSchemaType: VNF + policyScope: "type=configuration" + policyName: "onap.scaleout.tca" + policyVersion: "v0.0.1" + thresholds: + - closedLoopControlName: "CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A" + closedLoopEventStatus: ONSET + version: "1.0.2" + fieldPath: "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated" + thresholdValue: 500 + direction: LESS_OR_EQUAL + severity: MAJOR + - + closedLoopControlName: "CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B" + closedLoopEventStatus: ONSET + version: "1.0.2" + fieldPath: "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated" + thresholdValue: 5000 + direction: GREATER_OR_EQUAL + severity: CRITICAL |