diff options
author | rameshiyer27 <ramesh.murugan.iyer@est.tech> | 2022-02-23 19:07:28 +0000 |
---|---|---|
committer | rameshiyer27 <ramesh.murugan.iyer@est.tech> | 2022-02-23 19:43:20 +0000 |
commit | d6f916f52c57b0ca00a6d7c48910a3462e724793 (patch) | |
tree | 8d690afb701de7e893b33106acb2b71413ad72e5 /services/services-engine/src/test/java/org | |
parent | f0fd964e343fe5a9cc2044d417fadf6cdd1ef0d1 (diff) |
Add support for retrieving apex-policyModel from metadata
Apex policyModel had been provided under policy properties for apex-pdp.
Additional support included to retrieve the policyModel from metadata if PAP supplied it
as metadataSet.
Issue-ID: POLICY-3834
Signed-off-by: zrrmmua <ramesh.murugan.iyer@est.tech>
Change-Id: Ic810d78cf01c507c5b4d167f28ae6f7729132238
Diffstat (limited to 'services/services-engine/src/test/java/org')
-rw-r--r-- | services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/ApexParametersTest.java | 48 |
1 files changed, 47 insertions, 1 deletions
diff --git a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/ApexParametersTest.java b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/ApexParametersTest.java index a0169d7e3..dd76374d8 100644 --- a/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/ApexParametersTest.java +++ b/services/services-engine/src/test/java/org/onap/policy/apex/service/engine/parameters/ApexParametersTest.java @@ -1,7 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2018 Ericsson. All rights reserved. - * Modifications Copyright (C) 2020 Nordix Foundation. + * Modifications Copyright (C) 2020,2022 Nordix Foundation. * Modifications Copyright (C) 2020 Bell Canada. All rights reserved. * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ @@ -23,6 +23,7 @@ package org.onap.policy.apex.service.engine.parameters; +import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -79,6 +80,51 @@ public class ApexParametersTest { } @Test + public void testPolicyModelFromMetadata() throws ParameterException { + // Policy Models provided only in metadata. + final String[] args = {"-p", "src/test/resources/parameters/policyModelFromMetadata.json"}; + final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args); + + ApexParameters parameters = new ApexParameterHandler().getParameters(arguments); + + assertThat(parameters.getEngineServiceParameters().getPolicyModel()).isNotEmpty(); + assertThat(parameters.getEngineServiceParameters().getPolicyModel()) + .contains("{\"key\":{\"name\":\"dummy key1 provided in metadata\",\"version\":\"0.0.1\"},\"keyInformation\"" + + ":{\"key\":{\"name\":\"dummy key2 provided in metadata\",\"version\":\"0.0.1\"}}," + + "\"threshold\":3.15,\"state\":\"passive\"}"); + } + + @Test + public void testPolicyModelFromProperties() throws ParameterException { + // Policy models provided in properties under EngineServiceParameters for backward compatibility + final String[] args = {"-p", "src/test/resources/parameters/policyModelFromProperties.json"}; + final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args); + + ApexParameters parameters = new ApexParameterHandler().getParameters(arguments); + + assertThat(parameters.getEngineServiceParameters().getPolicyModel()).isNotEmpty(); + assertThat(parameters.getEngineServiceParameters().getPolicyModel()) + .contains("{\"key\":{\"name\":\"dummy key1 provided in properties\",\"version\":\"0.0.1\"}," + + "\"keyInformation\":{\"key\":{\"name\":\"dummy key2 provided in properties\"," + + "\"version\":\"0.0.1\"}},\"threshold\":3.15,\"state\":\"passive\"}"); + } + + @Test + public void testPolicyModelFromPropertiesAndMetadata() throws ParameterException { + // Policy models provided in both properties and in metadata. policyModels in metadata takes precedence + final String[] args = {"-p", "src/test/resources/parameters/policyModelMultiple.json"}; + final ApexCommandLineArguments arguments = new ApexCommandLineArguments(args); + + ApexParameters parameters = new ApexParameterHandler().getParameters(arguments); + + assertThat(parameters.getEngineServiceParameters().getPolicyModel()).isNotEmpty(); + assertThat(parameters.getEngineServiceParameters().getPolicyModel()) + .contains("{\"key\":{\"name\":\"dummy key1 provided in metadata\",\"version\":\"0.0.1\"}," + + "\"keyInformation\":{\"key\":{\"name\":\"dummy key2 provided in metadata\"," + + "\"version\":\"0.0.1\"}},\"threshold\":3.15,\"state\":\"passive\"}"); + } + + @Test public void testGettersSetters() { ApexParameters pars = new ApexParameters(); assertNotNull(pars); |