aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/forwarding-plugins/src
diff options
context:
space:
mode:
authorramverma <ram.krishna.verma@est.tech>2019-07-17 11:03:26 +0000
committerramverma <ram.krishna.verma@est.tech>2019-07-17 11:03:26 +0000
commitcf748512392e5d3257de629dc57fb353dc073c92 (patch)
tree8e81a773d1f9556669b344d5f31dd139999ef2f6 /plugins/forwarding-plugins/src
parent5f032e0363703239f30dff29914dc41dd3abca48 (diff)
Changing policy/distribution to use policy/models
1) Changed policy distribution framework to use entities from policy/models 2) Changed all the test cases. 3) Commented few test cases which will be fixed along with code fixes. 4) Will be removing the old policy entities once all the pieces are ready. Change-Id: I1fd7b975b2e072c0b24e429903c9ca4796173929 Issue-ID: POLICY-1888 Signed-off-by: ramverma <ram.krishna.verma@est.tech>
Diffstat (limited to 'plugins/forwarding-plugins/src')
-rw-r--r--plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarder.java32
-rw-r--r--plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarder.java51
-rw-r--r--plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyAdapter.java18
-rw-r--r--plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyForwarder.java65
-rw-r--r--plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/AbstractXacmlPdpPolicyAdapter.java22
-rw-r--r--plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/XacmlPdpOptimizationPolicyAdapter.java31
-rw-r--r--plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarderTest.java45
-rw-r--r--plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarderTest.java62
-rw-r--r--plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/engine/XacmlPdpPolicyForwarderTest.java126
-rw-r--r--plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/testclasses/DummyDecoder.java10
10 files changed, 210 insertions, 252 deletions
diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarder.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarder.java
index 8b8528fb..996b887d 100644
--- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarder.java
+++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarder.java
@@ -31,10 +31,8 @@ import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
import org.onap.policy.common.parameters.ParameterService;
import org.onap.policy.distribution.forwarding.PolicyForwarder;
import org.onap.policy.distribution.forwarding.PolicyForwardingException;
-import org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyForwarder;
-import org.onap.policy.distribution.model.Policy;
-import org.onap.policy.distribution.model.PolicyAsString;
-
+import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,7 +44,7 @@ import org.slf4j.LoggerFactory;
*/
public class ApexPdpPolicyForwarder implements PolicyForwarder {
- private static final Logger LOGGER = LoggerFactory.getLogger(XacmlPdpPolicyForwarder.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(ApexPdpPolicyForwarder.class);
private static final String POLICY_TYPE = "APEX";
private ApexPdpPolicyForwarderParameterGroup apexForwarderParameters;
@@ -67,7 +65,7 @@ public class ApexPdpPolicyForwarder implements PolicyForwarder {
* {@inheritDoc}.
*/
@Override
- public void forward(final Collection<Policy> policies) throws PolicyForwardingException {
+ public void forward(final Collection<ToscaEntity> policies) throws PolicyForwardingException {
if (policies.isEmpty()) {
final String message = "No apex policy to be forwarded to an apex engine";
LOGGER.debug(message);
@@ -77,12 +75,18 @@ public class ApexPdpPolicyForwarder implements PolicyForwarder {
LOGGER.debug(message);
throw new PolicyForwardingException(message);
} else {
- final Policy policy = (Policy) policies.toArray()[0];
- if (policy.getClass().isAssignableFrom(PolicyAsString.class)
- && policy.getPolicyType().equalsIgnoreCase(POLICY_TYPE)) {
- forwardPolicy((PolicyAsString) policy);
+ final ToscaEntity policy = (ToscaEntity) policies.toArray()[0];
+ if (policy instanceof ToscaPolicy) {
+ final ToscaPolicy toscaPolicy = (ToscaPolicy) policy;
+ if (POLICY_TYPE.equalsIgnoreCase(toscaPolicy.getType())) {
+ forwardPolicy(toscaPolicy);
+ } else {
+ final String message = "Ignoring the policy as it is not an apex-pdp policy";
+ LOGGER.debug(message);
+ throw new PolicyForwardingException(message);
+ }
} else {
- final String message = "Ignoring the policy as it is not an apex-pdp policy";
+ final String message = "Ignoring the policy as it is not of type ToscaPolicy";
LOGGER.debug(message);
throw new PolicyForwardingException(message);
}
@@ -95,11 +99,11 @@ public class ApexPdpPolicyForwarder implements PolicyForwarder {
* @param apexPolicy the apex policy
* @throws PolicyForwardingException if any exception occurs while forwarding policy
*/
- private void forwardPolicy(final PolicyAsString apexPolicy) throws PolicyForwardingException {
+ private void forwardPolicy(final ToscaPolicy apexPolicy) throws PolicyForwardingException {
try {
engineServiceFacade.init();
- final InputStream policyInputStream = IOUtils.toInputStream(apexPolicy.getPolicy(), "UTF-8");
- engineServiceFacade.deployModel(apexPolicy.getPolicyName(), policyInputStream,
+ final InputStream policyInputStream = IOUtils.toInputStream(apexPolicy.toString(), "UTF-8");
+ engineServiceFacade.deployModel(apexPolicy.getName(), policyInputStream,
apexForwarderParameters.isIgnoreConflicts(), apexForwarderParameters.isForceUpdate());
LOGGER.debug("Sucessfully forwarded the policy to apex-pdp egine at {}:{}",
diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarder.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarder.java
index 51700005..55735662 100644
--- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarder.java
+++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarder.java
@@ -21,8 +21,8 @@
package org.onap.policy.distribution.forwarding.file;
import java.io.BufferedWriter;
-import java.io.FileWriter;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.InvalidPathException;
import java.nio.file.Path;
@@ -32,15 +32,14 @@ import java.util.Collection;
import org.onap.policy.common.parameters.ParameterService;
import org.onap.policy.distribution.forwarding.PolicyForwarder;
import org.onap.policy.distribution.forwarding.PolicyForwardingException;
-import org.onap.policy.distribution.model.OptimizationPolicy;
-import org.onap.policy.distribution.model.Policy;
-
+import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * This class provides an implementation of {@link PolicyForwarder} interface for forwarding the given policies to
- * a file directory.
+ * This class provides an implementation of {@link PolicyForwarder} interface for forwarding the given policies to a
+ * file directory.
*/
public class FilePolicyForwarder implements PolicyForwarder {
@@ -54,7 +53,7 @@ public class FilePolicyForwarder implements PolicyForwarder {
public void configure(final String parameterGroupName) {
fileForwarderParameters = ParameterService.get(parameterGroupName);
try {
- Path path = Paths.get(fileForwarderParameters.getPath());
+ final Path path = Paths.get(fileForwarderParameters.getPath());
if (!path.toFile().exists()) {
Files.createDirectories(path);
}
@@ -67,13 +66,13 @@ public class FilePolicyForwarder implements PolicyForwarder {
* {@inheritDoc}.
*/
@Override
- public void forward(final Collection<Policy> policies) throws PolicyForwardingException {
- for (Policy policy : policies) {
- if (policy instanceof OptimizationPolicy) {
- forwardPolicy((OptimizationPolicy) policy);
+ public void forward(final Collection<ToscaEntity> policies) throws PolicyForwardingException {
+ for (final ToscaEntity policy : policies) {
+ if (policy instanceof ToscaPolicy) {
+ forwardPolicy((ToscaPolicy) policy);
} else {
- final String message = "Cannot forward policy " + policy
- + ". Unsupported policy type " + policy.getClass().getSimpleName();
+ final String message = "Cannot forward policy " + policy + ". Unsupported policy type "
+ + policy.getClass().getSimpleName();
LOGGER.error(message);
throw new PolicyForwardingException(message);
}
@@ -86,30 +85,14 @@ public class FilePolicyForwarder implements PolicyForwarder {
* @param pol the policy
* @throws PolicyForwardingException if any exception occurs while forwarding policy
*/
- private void forwardPolicy(final OptimizationPolicy pol) throws PolicyForwardingException {
- final String name = pol.getPolicyName();
- Path path = Paths.get(fileForwarderParameters.getPath(), name);
- try (BufferedWriter writer = new BufferedWriter(new FileWriter(path.toString()))) {
+ private void forwardPolicy(final ToscaPolicy pol) throws PolicyForwardingException {
+ final String name = pol.getName();
+ final Path path = Paths.get(fileForwarderParameters.getPath(), name);
+ try (BufferedWriter writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8)) {
writer.write("policyName: " + name);
if (fileForwarderParameters.isVerbose()) {
writer.newLine();
- writer.write("policyType: " + pol.getPolicyType());
- writer.newLine();
- writer.write("policyDescription: " + pol.getPolicyDescription());
- writer.newLine();
- writer.write("onapName: " + pol.getOnapName());
- writer.newLine();
- writer.write("configBodyType: " + pol.getConfigBodyType());
- writer.newLine();
- writer.write("configBody: " + pol.getConfigBody());
- writer.newLine();
- writer.write("timetolive: " + pol.getTimetolive().toString());
- writer.newLine();
- writer.write("guard: " + pol.getGuard());
- writer.newLine();
- writer.write("riskLevel: " + pol.getRiskLevel());
- writer.newLine();
- writer.write("riskType: " + pol.getRiskType());
+ writer.write("policy: " + pol.toString());
}
LOGGER.debug("Sucessfully forwarded the policy to store into file {}.", path);
} catch (final InvalidPathException | IOException exp) {
diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyAdapter.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyAdapter.java
index c50eac12..613a406f 100644
--- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyAdapter.java
+++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyAdapter.java
@@ -5,15 +5,15 @@
* 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=========================================================
*/
@@ -22,30 +22,30 @@ package org.onap.policy.distribution.forwarding.xacml.pdp;
import org.onap.policy.api.PolicyParameters;
import org.onap.policy.api.PushPolicyParameters;
-import org.onap.policy.distribution.model.Policy;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
/**
- * Adapts {@link Policy} objects to objects compatible with the XACML PDP API.
+ * Adapts {@link ToscaPolicy} objects to objects compatible with the XACML PDP API.
*/
-public interface XacmlPdpPolicyAdapter<T extends Policy> {
+public interface XacmlPdpPolicyAdapter<T extends ToscaPolicy> {
/**
* Get the policy.
- *
+ *
* @return the policy
*/
T getPolicy();
/**
* Get as a {@link PolicyParameters} object.
- *
+ *
* @returna {@link PolicyParameters} object
*/
PolicyParameters getAsPolicyParameters();
/**
* Get as a {@link PushPolicyParameters} object.
- *
+ *
* @returna {@link PushPolicyParameters} object
*/
PushPolicyParameters getAsPushPolicyParameters(final String pdpGroups);
diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyForwarder.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyForwarder.java
index 196818b5..8eeeda7e 100644
--- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyForwarder.java
+++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/XacmlPdpPolicyForwarder.java
@@ -24,9 +24,11 @@ package org.onap.policy.distribution.forwarding.xacml.pdp;
import java.util.Collection;
import java.util.Collections;
+
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+
import org.onap.policy.api.PolicyParameters;
import org.onap.policy.api.PushPolicyParameters;
import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
@@ -37,8 +39,8 @@ import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance;
import org.onap.policy.common.parameters.ParameterService;
import org.onap.policy.distribution.forwarding.PolicyForwarder;
import org.onap.policy.distribution.forwarding.xacml.pdp.adapters.XacmlPdpOptimizationPolicyAdapter;
-import org.onap.policy.distribution.model.OptimizationPolicy;
-import org.onap.policy.distribution.model.Policy;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
@@ -55,53 +57,53 @@ public class XacmlPdpPolicyForwarder implements PolicyForwarder {
@Override
- public void forward(final Collection<Policy> policies) {
- for (Policy policy : policies) {
+ public void forward(final Collection<ToscaEntity> policies) {
+ for (final ToscaEntity policy : policies) {
forward(policy);
}
}
- private void forward(Policy policy) {
- XacmlPdpPolicyAdapter<?> policyAdapter = getXacmlPdpPolicyAdapter(policy);
+ private void forward(final ToscaEntity policy) {
+ final XacmlPdpPolicyAdapter<?> policyAdapter = getXacmlPdpPolicyAdapter(policy);
if (policyAdapter == null) {
- LOGGER.error("Cannot forward policy {}. Unsupported policy type {}",
- policy, policy.getClass().getSimpleName());
+ LOGGER.error("Cannot forward policy {}. Unsupported policy type {}", policy,
+ policy.getClass().getSimpleName());
return;
}
- boolean policyCreated = createPolicy(policyAdapter);
+ final boolean policyCreated = createPolicy(policyAdapter);
if (policyCreated) {
pushPolicy(policyAdapter);
}
}
- private XacmlPdpPolicyAdapter<?> getXacmlPdpPolicyAdapter(Policy policy) {
- if (policy instanceof OptimizationPolicy) {
- return new XacmlPdpOptimizationPolicyAdapter((OptimizationPolicy) policy);
+ private XacmlPdpPolicyAdapter<?> getXacmlPdpPolicyAdapter(final ToscaEntity policy) {
+ if (policy instanceof ToscaPolicy) {
+ return new XacmlPdpOptimizationPolicyAdapter((ToscaPolicy) policy);
}
return null;
}
- private boolean createPolicy(XacmlPdpPolicyAdapter<?> policyAdapter) {
- PolicyParameters policyParameters = policyAdapter.getAsPolicyParameters();
- Entity<PolicyParameters> entity = Entity.entity(policyParameters, MediaType.APPLICATION_JSON);
+ private boolean createPolicy(final XacmlPdpPolicyAdapter<?> policyAdapter) {
+ final PolicyParameters policyParameters = policyAdapter.getAsPolicyParameters();
+ final Entity<PolicyParameters> entity = Entity.entity(policyParameters, MediaType.APPLICATION_JSON);
- return invokeHttpClient(entity, "createPolicy", policyAdapter.getPolicy().getPolicyName());
+ return invokeHttpClient(entity, "createPolicy", policyAdapter.getPolicy().getName());
}
- private boolean pushPolicy(XacmlPdpPolicyAdapter<?> policyAdapter) {
- PushPolicyParameters pushPolicyParameters =
+ private boolean pushPolicy(final XacmlPdpPolicyAdapter<?> policyAdapter) {
+ final PushPolicyParameters pushPolicyParameters =
policyAdapter.getAsPushPolicyParameters(configurationParameters.getPdpGroup());
- Entity<PushPolicyParameters> entity = Entity.entity(pushPolicyParameters, MediaType.APPLICATION_JSON);
+ final Entity<PushPolicyParameters> entity = Entity.entity(pushPolicyParameters, MediaType.APPLICATION_JSON);
- return invokeHttpClient(entity, "pushPolicy", policyAdapter.getPolicy().getPolicyName());
+ return invokeHttpClient(entity, "pushPolicy", policyAdapter.getPolicy().getName());
}
private boolean invokeHttpClient(final Entity<?> entity, final String method, final String policyName) {
try {
- Response response = getHttpClient().put(method, entity,
+ final Response response = getHttpClient().put(method, entity,
Collections.singletonMap("ClientAuth", configurationParameters.getClientAuth()));
if (response.getStatus() != HttpStatus.OK.value()) {
@@ -110,7 +112,7 @@ public class XacmlPdpPolicyForwarder implements PolicyForwarder {
method, policyName, response.getStatus(), response.getStatusInfo());
return false;
}
- } catch (HttpClientConfigException exception) {
+ } catch (final HttpClientConfigException exception) {
LOGGER.error("Invocation of method " + method + " failed for policy " + policyName
+ " due to error opening Http client", exception);
return false;
@@ -119,19 +121,20 @@ public class XacmlPdpPolicyForwarder implements PolicyForwarder {
}
private HttpClient getHttpClient() throws HttpClientConfigException {
- boolean useHttps = configurationParameters.isUseHttps();
- String hostname = configurationParameters.getHostname();
- int port = configurationParameters.getPort();
- String userName = configurationParameters.getUserName();
- String password = configurationParameters.getPassword();
- boolean managed = configurationParameters.isManaged();
- BusTopicParams params = BusTopicParams.builder().clientName("SDC Dist").useHttps(useHttps).hostname(hostname)
- .port(port).userName(userName).password(password).basePath(BASE_PATH).managed(managed).build();
+ final boolean useHttps = configurationParameters.isUseHttps();
+ final String hostname = configurationParameters.getHostname();
+ final int port = configurationParameters.getPort();
+ final String userName = configurationParameters.getUserName();
+ final String password = configurationParameters.getPassword();
+ final boolean managed = configurationParameters.isManaged();
+ final BusTopicParams params =
+ BusTopicParams.builder().clientName("SDC Dist").useHttps(useHttps).hostname(hostname).port(port)
+ .userName(userName).password(password).basePath(BASE_PATH).managed(managed).build();
return getHttpClientFactory().build(params);
}
@Override
- public void configure(String parameterGroupName) {
+ public void configure(final String parameterGroupName) {
configurationParameters = ParameterService.get(parameterGroupName);
}
diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/AbstractXacmlPdpPolicyAdapter.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/AbstractXacmlPdpPolicyAdapter.java
index c1365166..f978d3a9 100644
--- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/AbstractXacmlPdpPolicyAdapter.java
+++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/AbstractXacmlPdpPolicyAdapter.java
@@ -5,15 +5,15 @@
* 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=========================================================
*/
@@ -22,18 +22,18 @@ package org.onap.policy.distribution.forwarding.xacml.pdp.adapters;
import org.onap.policy.api.PushPolicyParameters;
import org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyAdapter;
-import org.onap.policy.distribution.model.Policy;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
/**
* Base class for {@link XacmlPdpPolicyAdapter} implementations.
- *
+ *
* @param <T> the type of policy the adapter handles
*/
-public abstract class AbstractXacmlPdpPolicyAdapter<T extends Policy> implements XacmlPdpPolicyAdapter<T> {
+public abstract class AbstractXacmlPdpPolicyAdapter<T extends ToscaPolicy> implements XacmlPdpPolicyAdapter<T> {
private T policy;
- protected AbstractXacmlPdpPolicyAdapter(T policy) {
+ protected AbstractXacmlPdpPolicyAdapter(final T policy) {
this.policy = policy;
}
@@ -43,10 +43,10 @@ public abstract class AbstractXacmlPdpPolicyAdapter<T extends Policy> implements
}
@Override
- public PushPolicyParameters getAsPushPolicyParameters(String pdpGroups) {
- PushPolicyParameters pushPolicyParameters = new PushPolicyParameters();
- pushPolicyParameters.setPolicyName(policy.getPolicyName());
- pushPolicyParameters.setPolicyType(policy.getPolicyType());
+ public PushPolicyParameters getAsPushPolicyParameters(final String pdpGroups) {
+ final PushPolicyParameters pushPolicyParameters = new PushPolicyParameters();
+ pushPolicyParameters.setPolicyName(policy.getName());
+ pushPolicyParameters.setPolicyType(policy.getType());
pushPolicyParameters.setPdpGroup(pdpGroups);
return pushPolicyParameters;
}
diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/XacmlPdpOptimizationPolicyAdapter.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/XacmlPdpOptimizationPolicyAdapter.java
index 1ec654fa..c9633b15 100644
--- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/XacmlPdpOptimizationPolicyAdapter.java
+++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/xacml/pdp/adapters/XacmlPdpOptimizationPolicyAdapter.java
@@ -5,49 +5,42 @@
* 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 org.onap.policy.distribution.forwarding.xacml.pdp.adapters;
-import org.onap.policy.api.PolicyConfigType;
import org.onap.policy.api.PolicyParameters;
-import org.onap.policy.distribution.model.OptimizationPolicy;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
/**
- * Adapts {@link OptimizationPolicy} objects to objects compatible with the XACML PDP API.
+ * Adapts {@link ToscaPolicy} objects to objects compatible with the XACML PDP API.
*/
-public class XacmlPdpOptimizationPolicyAdapter extends AbstractXacmlPdpPolicyAdapter<OptimizationPolicy> {
+public class XacmlPdpOptimizationPolicyAdapter extends AbstractXacmlPdpPolicyAdapter<ToscaPolicy> {
/**
- * Create an instance to adapt the given {@link OptimizationPolicy}.
- *
- * @param optimizationPolicy the {@link OptimizationPolicy} to be adapted
+ * Create an instance to adapt the given {@link ToscaPolicy}.
+ *
+ * @param optimizationPolicy the {@link ToscaPolicy} to be adapted
*/
- public XacmlPdpOptimizationPolicyAdapter(final OptimizationPolicy optimizationPolicy) {
+ public XacmlPdpOptimizationPolicyAdapter(final ToscaPolicy optimizationPolicy) {
super(optimizationPolicy);
}
@Override
public PolicyParameters getAsPolicyParameters() {
- PolicyParameters policyParameters = new PolicyParameters();
- policyParameters.setPolicyName(getPolicy().getPolicyName());
- policyParameters.setPolicyDescription(getPolicy().getPolicyDescription());
- policyParameters.setPolicyConfigType(PolicyConfigType.valueOf(getPolicy().getPolicyConfigType()));
- policyParameters.setOnapName(getPolicy().getOnapName());
- policyParameters.setRiskLevel(getPolicy().getRiskLevel());
- policyParameters.setConfigBody(getPolicy().getConfigBody());
- policyParameters.setRiskType(getPolicy().getRiskType());
+ final PolicyParameters policyParameters = new PolicyParameters();
+ policyParameters.setPolicyName(getPolicy().getName());
return policyParameters;
}
diff --git a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarderTest.java b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarderTest.java
index a4d1b9fd..cae94f18 100644
--- a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarderTest.java
+++ b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/apex/pdp/ApexPdpPolicyForwarderTest.java
@@ -45,8 +45,8 @@ import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
import org.onap.policy.common.parameters.ParameterGroup;
import org.onap.policy.common.parameters.ParameterService;
import org.onap.policy.distribution.forwarding.PolicyForwardingException;
-import org.onap.policy.distribution.model.Policy;
-import org.onap.policy.distribution.model.PolicyAsString;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
/**
* Class to perform unit test of {@link ApexPdpPolicyForwarder}.
@@ -89,7 +89,7 @@ public class ApexPdpPolicyForwarderTest {
public void testForwardPolicy() throws ApexException, FileNotFoundException, IOException, PolicyForwardingException,
NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
- final Collection<Policy> policies = new ArrayList<>();
+ final Collection<ToscaEntity> policies = new ArrayList<>();
final ApexPdpPolicyForwarder forwarder = new ApexPdpPolicyForwarder();
forwarder.configure(GROUP_NAME);
@@ -97,8 +97,7 @@ public class ApexPdpPolicyForwarderTest {
forwarderField.setAccessible(true);
forwarderField.set(forwarder, engineServiceFacade);
- final PolicyAsString policy = new PolicyAsString("policy", "APEX", "Sample Policy of apex");
- policies.add(policy);
+ createPolicy(policies, "policy", "APEX", "Sample Policy of apex");
try {
forwarder.forward(policies);
@@ -115,7 +114,7 @@ public class ApexPdpPolicyForwarderTest {
throws ApexException, FileNotFoundException, IOException, PolicyForwardingException, NoSuchFieldException,
SecurityException, IllegalArgumentException, IllegalAccessException {
- final Collection<Policy> policies = new ArrayList<>();
+ final Collection<ToscaEntity> policies = new ArrayList<>();
final ApexPdpPolicyForwarder forwarder = new ApexPdpPolicyForwarder();
forwarder.configure(GROUP_NAME);
@@ -126,8 +125,7 @@ public class ApexPdpPolicyForwarderTest {
decodersField.setAccessible(true);
decodersField.set(forwarder, engineServiceFacade);
- final PolicyAsString policy1 = new PolicyAsString("policy1", "APEX", "Sample Policy of apex");
- policies.add(policy1);
+ createPolicy(policies, "policy1", "APEX", "Sample Policy of apex");
try {
forwarder.forward(policies);
@@ -143,7 +141,7 @@ public class ApexPdpPolicyForwarderTest {
throws ApexException, FileNotFoundException, IOException, PolicyForwardingException, NoSuchFieldException,
SecurityException, IllegalArgumentException, IllegalAccessException {
- final Collection<Policy> policies = new ArrayList<>();
+ final Collection<ToscaEntity> policies = new ArrayList<>();
final ApexPdpPolicyForwarder forwarder = new ApexPdpPolicyForwarder();
forwarder.configure(GROUP_NAME);
@@ -151,11 +149,8 @@ public class ApexPdpPolicyForwarderTest {
forwarderField.setAccessible(true);
forwarderField.set(forwarder, engineServiceFacade);
- final PolicyAsString policy1 = new PolicyAsString("policy1", "APEX", "Sample Policy of apex");
- policies.add(policy1);
-
- final PolicyAsString policy2 = new PolicyAsString("policy2", "APEX", "Sample Policy of apex");
- policies.add(policy2);
+ createPolicy(policies, "policy1", "APEX", "Sample Policy of apex");
+ createPolicy(policies, "policy2", "APEX", "Sample Policy of apex");
try {
forwarder.forward(policies);
@@ -170,7 +165,7 @@ public class ApexPdpPolicyForwarderTest {
throws ApexException, FileNotFoundException, IOException, PolicyForwardingException, NoSuchFieldException,
SecurityException, IllegalArgumentException, IllegalAccessException {
- final Collection<Policy> policies = new ArrayList<>();
+ final Collection<ToscaEntity> policies = new ArrayList<>();
final ApexPdpPolicyForwarder forwarder = new ApexPdpPolicyForwarder();
forwarder.configure(GROUP_NAME);
@@ -178,27 +173,31 @@ public class ApexPdpPolicyForwarderTest {
forwarderField.setAccessible(true);
forwarderField.set(forwarder, engineServiceFacade);
- final Policy policy = new UnsupportedPolicy();
+ final ToscaEntity policy = new UnsupportedPolicy();
policies.add(policy);
try {
forwarder.forward(policies);
fail("Test must throw an exception");
} catch (final Exception exp) {
- assertTrue(exp.getMessage().contains("Ignoring the policy as it is not an apex-pdp policy"));
+ assertTrue(exp.getMessage().contains("Ignoring the policy as it is not of type ToscaPolicy"));
}
}
- class UnsupportedPolicy implements Policy {
+ class UnsupportedPolicy extends ToscaEntity {
@Override
- public String getPolicyName() {
+ public String getName() {
return "unsupported";
}
+ }
- @Override
- public String getPolicyType() {
- return "unsupported";
- }
+ private void createPolicy(final Collection<ToscaEntity> policies, final String name, final String type,
+ final String description) {
+ final ToscaPolicy policy = new ToscaPolicy();
+ policy.setName(name);
+ policy.setType(type);
+ policy.setDescription(description);
+ policies.add(policy);
}
}
diff --git a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarderTest.java b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarderTest.java
index e474f693..5c87a86c 100644
--- a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarderTest.java
+++ b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/file/FilePolicyForwarderTest.java
@@ -30,7 +30,7 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Date;
+
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.ClassRule;
@@ -41,8 +41,8 @@ import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;
import org.onap.policy.common.parameters.ParameterGroup;
import org.onap.policy.common.parameters.ParameterService;
-import org.onap.policy.distribution.model.OptimizationPolicy;
-import org.onap.policy.distribution.model.Policy;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
/**
* Class to perform unit test of {@link FilePolicyForwarder}.
@@ -78,26 +78,15 @@ public class FilePolicyForwarderTest {
@Test
public void testForwardPolicy() {
- final Collection<Policy> policies = new ArrayList<>();
- final OptimizationPolicy policy = new OptimizationPolicy();
-
- policy.setPolicyName("test");
- policy.setPolicyDescription("test");
- policy.setOnapName("");
- policy.setConfigBody("");
- policy.setConfigBodyType("");
- policy.setTimetolive(new Date());
- policy.setGuard("");
- policy.setRiskLevel("");
- policy.setRiskType("");
- policies.add(policy);
+ final Collection<ToscaEntity> policies = new ArrayList<>();
+ final ToscaPolicy policy = createPolicy(policies, "test", "test");
final FilePolicyForwarder forwarder = new FilePolicyForwarder();
forwarder.configure(GROUP_NAME);
try {
forwarder.forward(policies);
- Path path = Paths.get(tempFolder.getRoot().getAbsolutePath().toString(), policy.getPolicyName());
+ final Path path = Paths.get(tempFolder.getRoot().getAbsolutePath().toString(), policy.getName());
assertTrue(Files.exists(path));
} catch (final Exception exp) {
fail("Test must not throw an exception");
@@ -107,20 +96,11 @@ public class FilePolicyForwarderTest {
@Test
@SuppressWarnings("unchecked")
public void testForwardPolicyError() {
- final Collection<Policy> policies = new ArrayList<>();
- OptimizationPolicy policy = new OptimizationPolicy();
- policy.setPolicyName("test");
- policy.setPolicyDescription("test");
- policy.setOnapName("");
- policy.setConfigBody("");
- policy.setConfigBodyType("");
- policy.setTimetolive(new Date());
- policy.setGuard("");
- policy.setRiskLevel("");
- policy.setRiskType("");
-
- OptimizationPolicy spy = Mockito.spy(policy);
- Mockito.when(spy.getRiskType()).thenThrow(IOException.class);
+ final Collection<ToscaEntity> policies = new ArrayList<>();
+ final ToscaPolicy policy = createPolicy(policies, "test", "test");
+
+ final ToscaPolicy spy = Mockito.spy(policy);
+ Mockito.when(spy.toString()).thenThrow(IOException.class);
policies.add(spy);
final FilePolicyForwarder forwarder = new FilePolicyForwarder();
@@ -136,11 +116,11 @@ public class FilePolicyForwarderTest {
@Test
public void testForwardUnsupportedPolicy() {
- final Collection<Policy> policies = new ArrayList<>();
+ final Collection<ToscaEntity> policies = new ArrayList<>();
final FilePolicyForwarder forwarder = new FilePolicyForwarder();
forwarder.configure(GROUP_NAME);
- final Policy policy = new UnsupportedPolicy();
+ final ToscaEntity policy = new UnsupportedPolicy();
policies.add(policy);
try {
@@ -151,16 +131,20 @@ public class FilePolicyForwarderTest {
}
}
- class UnsupportedPolicy implements Policy {
+ class UnsupportedPolicy extends ToscaEntity {
@Override
- public String getPolicyName() {
+ public String getName() {
return "unsupported";
}
+ }
- @Override
- public String getPolicyType() {
- return "unsupported";
- }
+ private ToscaPolicy createPolicy(final Collection<ToscaEntity> policies, final String name,
+ final String description) {
+ final ToscaPolicy policy = new ToscaPolicy();
+ policy.setName("test");
+ policy.setDescription("test");
+ policies.add(policy);
+ return policy;
}
}
diff --git a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/engine/XacmlPdpPolicyForwarderTest.java b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/engine/XacmlPdpPolicyForwarderTest.java
index 43fac718..9b495866 100644
--- a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/engine/XacmlPdpPolicyForwarderTest.java
+++ b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/engine/XacmlPdpPolicyForwarderTest.java
@@ -32,8 +32,10 @@ import static org.mockito.Mockito.when;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
+
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.Response;
+
import org.hamcrest.BaseMatcher;
import org.hamcrest.Description;
import org.junit.BeforeClass;
@@ -48,8 +50,8 @@ import org.onap.policy.common.parameters.ParameterGroup;
import org.onap.policy.common.parameters.ParameterService;
import org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyForwarder;
import org.onap.policy.distribution.forwarding.xacml.pdp.XacmlPdpPolicyForwarderParameterGroup.XacmlPdpPolicyForwarderParameterGroupBuilder;
-import org.onap.policy.distribution.model.OptimizationPolicy;
-import org.onap.policy.distribution.model.Policy;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
public class XacmlPdpPolicyForwarderTest {
@@ -66,7 +68,7 @@ public class XacmlPdpPolicyForwarderTest {
*/
@BeforeClass
public static void setUp() {
- ParameterGroup parameterGroup = new XacmlPdpPolicyForwarderParameterGroupBuilder()
+ final ParameterGroup parameterGroup = new XacmlPdpPolicyForwarderParameterGroupBuilder()
.setUseHttps(BUS_TOPIC_PARAMS.isUseHttps()).setHostname(BUS_TOPIC_PARAMS.getHostname())
.setPort(BUS_TOPIC_PARAMS.getPort()).setUserName(BUS_TOPIC_PARAMS.getUserName())
.setPassword(BUS_TOPIC_PARAMS.getPassword()).setClientAuth(CLIENT_AUTH_VALUE)
@@ -78,29 +80,25 @@ public class XacmlPdpPolicyForwarderTest {
@Test
public void testForwardPolicy() throws Exception {
- HttpClient httpClientMock = mock(HttpClient.class);
+ final HttpClient httpClientMock = mock(HttpClient.class);
headers.put(CLIENT_AUTH, CLIENT_AUTH_VALUE);
when(httpClientMock.put(eq("createPolicy"), anyObject(), eq(headers))).thenReturn(Response.ok().build());
when(httpClientMock.put(eq("pushPolicy"), anyObject(), eq(headers))).thenReturn(Response.ok().build());
- HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class);
+ final HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class);
when(httpClientFactoryMock.build(argThat(matcher))).thenReturn(httpClientMock);
- XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock);
+ final XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock);
forwarder.configure("xacmlPdpConfiguration");
- Collection<Policy> policies = new ArrayList<>();
+ final Collection<ToscaEntity> policies = new ArrayList<>();
- OptimizationPolicy policy1 = new OptimizationPolicy();
- policy1.setPolicyName("policy1");
- policies.add(policy1);
+ final ToscaPolicy policy1 = createPolicy(policies, "policy1", "optimization");
- Policy policy2 = new UnsupportedPolicy();
+ final ToscaEntity policy2 = new UnsupportedPolicy();
policies.add(policy2);
- OptimizationPolicy policy3 = new OptimizationPolicy();
- policy3.setPolicyName("policy3");
- policies.add(policy3);
+ final ToscaPolicy policy3 = createPolicy(policies, "policy3", "optimization");
forwarder.forward(policies);
@@ -117,21 +115,19 @@ public class XacmlPdpPolicyForwarderTest {
@Test
public void testForwardPolicy_CreateFailsPushNotInvoked() throws Exception {
- HttpClient httpClientMock = mock(HttpClient.class);
+ final HttpClient httpClientMock = mock(HttpClient.class);
headers.put(CLIENT_AUTH, CLIENT_AUTH_VALUE);
when(httpClientMock.put(eq("createPolicy"), anyObject(), eq(headers))).thenReturn(Response.status(400).build());
when(httpClientMock.put(eq("pushPolicy"), anyObject(), eq(headers))).thenReturn(Response.ok().build());
- HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class);
+ final HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class);
when(httpClientFactoryMock.build(argThat(matcher))).thenReturn(httpClientMock);
- XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock);
+ final XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock);
forwarder.configure("xacmlPdpConfiguration");
- Collection<Policy> policies = new ArrayList<>();
- OptimizationPolicy policy = new OptimizationPolicy();
- policy.setPolicyName("policy");
- policies.add(policy);
+ final Collection<ToscaEntity> policies = new ArrayList<>();
+ final ToscaPolicy policy = createPolicy(policies, "policy", "optimization");
forwarder.forward(policies);
verify(httpClientMock).put(eq("createPolicy"), argThat(new PolicyParametersEntityMatcher(policy)), eq(headers));
@@ -141,21 +137,19 @@ public class XacmlPdpPolicyForwarderTest {
@Test
public void testForwardPolicy_PushFails() throws Exception {
- HttpClient httpClientMock = mock(HttpClient.class);
+ final HttpClient httpClientMock = mock(HttpClient.class);
headers.put(CLIENT_AUTH, CLIENT_AUTH_VALUE);
when(httpClientMock.put(eq("createPolicy"), anyObject(), eq(headers))).thenReturn(Response.ok().build());
when(httpClientMock.put(eq("pushPolicy"), anyObject(), eq(headers))).thenReturn(Response.status(400).build());
- HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class);
+ final HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class);
when(httpClientFactoryMock.build(argThat(matcher))).thenReturn(httpClientMock);
- XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock);
+ final XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock);
forwarder.configure("xacmlPdpConfiguration");
- Collection<Policy> policies = new ArrayList<>();
- OptimizationPolicy policy = new OptimizationPolicy();
- policy.setPolicyName("policy");
- policies.add(policy);
+ final Collection<ToscaEntity> policies = new ArrayList<>();
+ final ToscaPolicy policy = createPolicy(policies, "policy", "optimization");
forwarder.forward(policies);
verify(httpClientMock).put(eq("createPolicy"), argThat(new PolicyParametersEntityMatcher(policy)), eq(headers));
@@ -166,21 +160,19 @@ public class XacmlPdpPolicyForwarderTest {
@Test
public void testForwardPolicy_HttpClientInitFailureForPolicyCreate() throws Exception {
- HttpClient httpClientMock = mock(HttpClient.class);
+ final HttpClient httpClientMock = mock(HttpClient.class);
headers.put(CLIENT_AUTH, CLIENT_AUTH_VALUE);
when(httpClientMock.put(eq("createPolicy"), anyObject(), eq(headers))).thenReturn(Response.ok().build());
when(httpClientMock.put(eq("pushPolicy"), anyObject(), eq(headers))).thenReturn(Response.status(400).build());
- HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class);
+ final HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class);
when(httpClientFactoryMock.build(argThat(matcher))).thenThrow(new HttpClientConfigException());
- XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock);
+ final XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock);
forwarder.configure("xacmlPdpConfiguration");
- Collection<Policy> policies = new ArrayList<>();
- OptimizationPolicy policy = new OptimizationPolicy();
- policy.setPolicyName("policy");
- policies.add(policy);
+ final Collection<ToscaEntity> policies = new ArrayList<>();
+ final ToscaPolicy policy = createPolicy(policies, "policy", "optimization");
forwarder.forward(policies);
verify(httpClientMock, times(0)).put(eq("createPolicy"), anyObject(), anyObject());
@@ -190,22 +182,20 @@ public class XacmlPdpPolicyForwarderTest {
@Test
public void testForwardPolicy_HttpClientInitFailureForPolicyPush() throws Exception {
- HttpClient httpClientMock = mock(HttpClient.class);
+ final HttpClient httpClientMock = mock(HttpClient.class);
headers.put(CLIENT_AUTH, CLIENT_AUTH_VALUE);
when(httpClientMock.put(eq("createPolicy"), anyObject(), eq(headers))).thenReturn(Response.ok().build());
when(httpClientMock.put(eq("pushPolicy"), anyObject(), eq(headers))).thenReturn(Response.status(400).build());
- HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class);
+ final HttpClientFactory httpClientFactoryMock = mock(HttpClientFactory.class);
when(httpClientFactoryMock.build(argThat(matcher))).thenReturn(httpClientMock)
.thenThrow(new HttpClientConfigException());
- XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock);
+ final XacmlPdpPolicyForwarder forwarder = new MyXacmlPdpPolicyForwarder(httpClientFactoryMock);
forwarder.configure("xacmlPdpConfiguration");
- Collection<Policy> policies = new ArrayList<>();
- OptimizationPolicy policy = new OptimizationPolicy();
- policy.setPolicyName("policy");
- policies.add(policy);
+ final Collection<ToscaEntity> policies = new ArrayList<>();
+ final ToscaPolicy policy = createPolicy(policies, "policy", "optimization");
forwarder.forward(policies);
verify(httpClientMock).put(eq("createPolicy"), argThat(new PolicyParametersEntityMatcher(policy)), eq(headers));
@@ -221,9 +211,9 @@ public class XacmlPdpPolicyForwarderTest {
}
@Override
- public boolean matches(Object arg0) {
+ public boolean matches(final Object arg0) {
if (arg0 instanceof BusTopicParams) {
- BusTopicParams toCompareTo = (BusTopicParams) arg0;
+ final BusTopicParams toCompareTo = (BusTopicParams) arg0;
return toCompareTo.isUseHttps() == busTopicParams.isUseHttps()
&& toCompareTo.getHostname().equals(busTopicParams.getHostname())
&& toCompareTo.getPort() == busTopicParams.getPort()
@@ -235,65 +225,59 @@ public class XacmlPdpPolicyForwarderTest {
}
@Override
- public void describeTo(Description arg0) {}
+ public void describeTo(final Description arg0) {}
}
class PolicyParametersEntityMatcher extends BaseMatcher<Entity<PolicyParameters>> {
- private OptimizationPolicy policy;
+ private ToscaPolicy policy;
- PolicyParametersEntityMatcher(final OptimizationPolicy policy) {
+ PolicyParametersEntityMatcher(final ToscaPolicy policy) {
this.policy = policy;
}
@SuppressWarnings("unchecked")
@Override
- public boolean matches(Object arg0) {
+ public boolean matches(final Object arg0) {
if (arg0 instanceof Entity) {
- PolicyParameters toCompareTo = ((Entity<PolicyParameters>) arg0).getEntity();
- return toCompareTo.getPolicyName().equals(policy.getPolicyName())
- && toCompareTo.getPolicyConfigType().toString().equals(policy.getPolicyConfigType());
+ final PolicyParameters toCompareTo = ((Entity<PolicyParameters>) arg0).getEntity();
+ return toCompareTo.getPolicyName().equals(policy.getName());
}
return false;
}
@Override
- public void describeTo(Description arg0) {}
+ public void describeTo(final Description arg0) {}
}
class PushPolicyParametersEntityMatcher extends BaseMatcher<Entity<PushPolicyParameters>> {
- private Policy policy;
+ private ToscaPolicy policy;
- PushPolicyParametersEntityMatcher(final Policy policy) {
+ PushPolicyParametersEntityMatcher(final ToscaPolicy policy) {
this.policy = policy;
}
@SuppressWarnings("unchecked")
@Override
- public boolean matches(Object arg0) {
+ public boolean matches(final Object arg0) {
if (arg0 instanceof Entity) {
- PushPolicyParameters toCompareTo = ((Entity<PushPolicyParameters>) arg0).getEntity();
- return toCompareTo.getPolicyName().equals(policy.getPolicyName())
- && toCompareTo.getPolicyType().equals(policy.getPolicyType())
+ final PushPolicyParameters toCompareTo = ((Entity<PushPolicyParameters>) arg0).getEntity();
+ return toCompareTo.getPolicyName().equals(policy.getName())
+ && toCompareTo.getPolicyType().equals(policy.getType())
&& toCompareTo.getPdpGroup().equals(PDP_GROUP_VALUE);
}
return false;
}
@Override
- public void describeTo(Description arg0) {}
+ public void describeTo(final Description arg0) {}
}
- class UnsupportedPolicy implements Policy {
-
- @Override
- public String getPolicyName() {
- return "unsupported";
- }
+ class UnsupportedPolicy extends ToscaEntity {
@Override
- public String getPolicyType() {
+ public String getName() {
return "unsupported";
}
}
@@ -301,7 +285,7 @@ public class XacmlPdpPolicyForwarderTest {
private class MyXacmlPdpPolicyForwarder extends XacmlPdpPolicyForwarder {
private HttpClientFactory factory;
- public MyXacmlPdpPolicyForwarder(HttpClientFactory httpClientFactory) {
+ public MyXacmlPdpPolicyForwarder(final HttpClientFactory httpClientFactory) {
this.factory = httpClientFactory;
}
@@ -310,4 +294,12 @@ public class XacmlPdpPolicyForwarderTest {
return this.factory;
}
}
+
+ private ToscaPolicy createPolicy(final Collection<ToscaEntity> policies, final String name, final String type) {
+ final ToscaPolicy policy1 = new ToscaPolicy();
+ policy1.setName(name);
+ policy1.setType(type);
+ policies.add(policy1);
+ return policy1;
+ }
}
diff --git a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/testclasses/DummyDecoder.java b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/testclasses/DummyDecoder.java
index c90917b8..4cd7e24c 100644
--- a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/testclasses/DummyDecoder.java
+++ b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/xacml/pdp/testclasses/DummyDecoder.java
@@ -22,27 +22,27 @@ package org.onap.policy.distribution.forwarding.xacml.pdp.testclasses;
import java.util.Collection;
-import org.onap.policy.distribution.model.Policy;
import org.onap.policy.distribution.model.PolicyInput;
import org.onap.policy.distribution.reception.decoding.PolicyDecoder;
import org.onap.policy.distribution.reception.decoding.PolicyDecodingException;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaEntity;
/**
* Class to create a dummy decoder for test cases.
*
* @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
*/
-public class DummyDecoder implements PolicyDecoder<PolicyInput, Policy> {
+public class DummyDecoder implements PolicyDecoder<PolicyInput, ToscaEntity> {
private boolean canHandleValue;
- private Collection<Policy> policesToReturn;
+ private Collection<ToscaEntity> policesToReturn;
public DummyDecoder() {
this.canHandleValue = false;
this.policesToReturn = null;
}
- public DummyDecoder(final boolean canHandleValue, final Collection<Policy> policesToReturn) {
+ public DummyDecoder(final boolean canHandleValue, final Collection<ToscaEntity> policesToReturn) {
this.canHandleValue = canHandleValue;
this.policesToReturn = policesToReturn;
}
@@ -53,7 +53,7 @@ public class DummyDecoder implements PolicyDecoder<PolicyInput, Policy> {
}
@Override
- public Collection<Policy> decode(final PolicyInput input) throws PolicyDecodingException {
+ public Collection<ToscaEntity> decode(final PolicyInput input) throws PolicyDecodingException {
return policesToReturn;
}