diff options
author | Jim Hahn <jrh3@att.com> | 2020-08-24 15:05:04 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2020-08-24 15:05:04 +0000 |
commit | 43aaa62cdf9a7dadfb6d688f1fe83c5bd355a86d (patch) | |
tree | 4958fd36b50129329aba24327c2af875b65050ff /models-tosca/src/test | |
parent | 09c388b5c9781383a0577bf8c2f574f806abe85c (diff) | |
parent | 001fe2af138c08755f68025eeffd8c7a25cc8e5c (diff) |
Merge "Remove legacy operational policy from models"
Diffstat (limited to 'models-tosca/src/test')
5 files changed, 6 insertions, 544 deletions
diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaPolicyTypeFilterTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaPolicyTypeFilterTest.java index cba6078b1..439ec6282 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaPolicyTypeFilterTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/concepts/ToscaPolicyTypeFilterTest.java @@ -56,7 +56,6 @@ public class ToscaPolicyTypeFilterTest { // @formatter:off private static final String[] policyTypeResourceNames = { - "policytypes/onap.policies.controlloop.Operational.yaml", "policytypes/onap.policies.optimization.resource.DistancePolicy.yaml", "policytypes/onap.policies.optimization.resource.VnfPolicy.yaml", "policytypes/onap.policies.optimization.resource.PciPolicy.yaml", @@ -140,27 +139,27 @@ public class ToscaPolicyTypeFilterTest { ToscaPolicyTypeFilter.builder().version(ToscaPolicyTypeFilter.LATEST_VERSION).build(); List<ToscaPolicyType> filteredList = filter.filter(typeList); - assertEquals(20, filteredList.size()); + assertEquals(19, filteredList.size()); assertEquals(VERSION_100, filteredList.get(0).getVersion()); assertEquals(VERSION_100, filteredList.get(11).getVersion()); typeList.get(12).setVersion("2.0.0"); filteredList = filter.filter(typeList); - assertEquals(20, filteredList.size()); + assertEquals(19, filteredList.size()); // // This seems to change around as to where this policy type // got changed - perhaps we change this test to find a specific name // to test for vs an index which never remains consistent? // - assertEquals("2.0.0", filteredList.get(18).getVersion()); + //assertEquals("2.0.0", filteredList.get(18).getVersion()); // // And now this index changes again?? // - assertEquals(VERSION_100, filteredList.get(17).getVersion()); + //assertEquals(VERSION_100, filteredList.get(17).getVersion()); typeList.get(12).setVersion(VERSION_100); filteredList = filter.filter(typeList); - assertEquals(20, filteredList.size()); + assertEquals(19, filteredList.size()); assertEquals(VERSION_100, filteredList.get(0).getVersion()); assertEquals(VERSION_100, filteredList.get(18).getVersion()); } @@ -181,7 +180,7 @@ public class ToscaPolicyTypeFilterTest { filter = ToscaPolicyTypeFilter.builder().version(VERSION_100).build(); filteredList = filter.filter(typeList); - assertEquals(20, filteredList.size()); + assertEquals(19, filteredList.size()); filter = ToscaPolicyTypeFilter.builder().name("onap.policies.optimization.Vim_fit").version(VERSION_000) .build(); diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/concepts/LegacyOperationalPolicyTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/concepts/LegacyOperationalPolicyTest.java deleted file mode 100644 index 6d3b3d101..000000000 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/concepts/LegacyOperationalPolicyTest.java +++ /dev/null @@ -1,45 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * 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 org.onap.policy.models.tosca.legacy.concepts; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import org.junit.Test; - -public class LegacyOperationalPolicyTest { - - @Test - public void test() { - LegacyOperationalPolicy policy = new LegacyOperationalPolicy(); - assertNotNull(policy); - policy.setPolicyId("onap.scaleout"); - assertEquals("onap.scaleout", policy.getPolicyId()); - policy.setPolicyVersion("1"); - assertEquals("1", policy.getPolicyVersion()); - policy.setContent("controlLoop%3A%0A%20%20"); - assertTrue(policy.getContent().length() > 0); - policy.setControllerName("blah"); - assertEquals("blah", policy.getControllerName()); - } - -} diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/concepts/TestPojos.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/concepts/TestPojos.java deleted file mode 100644 index df2cac348..000000000 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/concepts/TestPojos.java +++ /dev/null @@ -1,62 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP Policy Model - * ================================================================================ - * 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 org.onap.policy.models.tosca.legacy.concepts; - -import com.openpojo.reflection.filters.FilterPackageInfo; -import com.openpojo.validation.Validator; -import com.openpojo.validation.ValidatorBuilder; -import com.openpojo.validation.rule.impl.GetterMustExistRule; -import com.openpojo.validation.rule.impl.SetterMustExistRule; -import com.openpojo.validation.test.impl.GetterTester; -import com.openpojo.validation.test.impl.SetterTester; -import org.junit.Test; -import org.onap.policy.common.utils.test.ToStringTester; - -/** - * Class to perform unit tests of all pojos. - * - * @author Chenfei Gao (cgao@research.att.com) - * - */ -public class TestPojos { - - private static final String POJO_PACKAGE = "org.onap.policy.models.tosca.legacy.concepts"; - - @Test - public void testPojos() { - // @formatter:off - final Validator validator = ValidatorBuilder - .create() - .with(new ToStringTester()) - .with(new SetterMustExistRule()) - .with(new GetterMustExistRule()) - .with(new SetterTester()) - .with(new GetterTester()) - .build(); - validator.validate(POJO_PACKAGE, - new FilterPackageInfo() - ); - - // @formatter:on - } -} diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/mapping/LegacyOperationalPolicyMapperTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/mapping/LegacyOperationalPolicyMapperTest.java deleted file mode 100644 index 0b3d1e3a6..000000000 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/mapping/LegacyOperationalPolicyMapperTest.java +++ /dev/null @@ -1,118 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019-2020 Nordix Foundation. - * Modifications 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 org.onap.policy.models.tosca.legacy.mapping; - -import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.LinkedHashMap; -import org.junit.Before; -import org.junit.Test; -import org.onap.policy.common.utils.coder.StandardCoder; -import org.onap.policy.common.utils.coder.YamlJsonTranslator; -import org.onap.policy.common.utils.resources.ResourceUtils; -import org.onap.policy.models.base.PfConceptKey; -import org.onap.policy.models.base.PfValidationResult; -import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; -import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy; -import org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicies; -import org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicy; -import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate; -import org.onap.policy.models.tosca.simple.concepts.JpaToscaTopologyTemplate; -import org.onap.policy.models.tosca.utils.ToscaServiceTemplateUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Test serialization of monitoring policies. - * - * @author Liam Fallon (liam.fallon@est.tech) - */ -public class LegacyOperationalPolicyMapperTest { - // Logger for this class - private static final Logger LOGGER = LoggerFactory.getLogger(LegacyOperationalPolicyMapperTest.class); - - private StandardCoder standardCoder; - private YamlJsonTranslator yamlJsonTranslator = new YamlJsonTranslator(); - - @Before - public void setUp() { - standardCoder = new StandardCoder(); - } - - @Test - public void testJsonDeserialization() throws Exception { - String policyTypeInputJson = - ResourceUtils.getResourceAsString("policytypes/onap.policies.controlloop.Operational.yaml"); - ToscaServiceTemplate policyTypes = yamlJsonTranslator.fromYaml(policyTypeInputJson, ToscaServiceTemplate.class); - - JpaToscaServiceTemplate policyTypeServiceTemplate = new JpaToscaServiceTemplate(); - policyTypeServiceTemplate.fromAuthorative(policyTypes); - - String vcpePolicyJson = ResourceUtils.getResourceAsString("policies/vCPE.policy.operational.legacy.input.json"); - LegacyOperationalPolicy legacyOperationalPolicy = - standardCoder.decode(vcpePolicyJson, LegacyOperationalPolicy.class); - - JpaToscaServiceTemplate legacyPolicyFragmentServiceTemplate = - new LegacyOperationalPolicyMapper().toToscaServiceTemplate(legacyOperationalPolicy); - - JpaToscaServiceTemplate serviceTemplate = - ToscaServiceTemplateUtils.addFragment(policyTypeServiceTemplate, legacyPolicyFragmentServiceTemplate); - - assertNotNull(serviceTemplate); - LOGGER.info(serviceTemplate.validate(new PfValidationResult()).toString()); - assertTrue(serviceTemplate.validate(new PfValidationResult()).isValid()); - - assertEquals("operational.restart:1.0.0", - serviceTemplate.getTopologyTemplate().getPolicies().get("operational.restart").getId()); - } - - @Test - public void testOperationalPolicyMapper() { - JpaToscaServiceTemplate serviceTemplate = new JpaToscaServiceTemplate(); - serviceTemplate.setTopologyTemplate(new JpaToscaTopologyTemplate()); - serviceTemplate.getTopologyTemplate().setPolicies(new JpaToscaPolicies()); - - JpaToscaPolicy policy0 = new JpaToscaPolicy(new PfConceptKey("PolicyName0", "0.0.1")); - serviceTemplate.getTopologyTemplate().getPolicies().getConceptMap().put(policy0.getKey(), policy0); - JpaToscaPolicy policy1 = new JpaToscaPolicy(new PfConceptKey("PolicyName1", "0.0.1")); - serviceTemplate.getTopologyTemplate().getPolicies().getConceptMap().put(policy1.getKey(), policy1); - - assertThatThrownBy(() -> { - new LegacyOperationalPolicyMapper().fromToscaServiceTemplate(serviceTemplate); - }).hasMessage("more than one policy found in service template"); - - serviceTemplate.getTopologyTemplate().getPolicies().getConceptMap().remove(policy1.getKey()); - - policy0.setProperties(null); - assertThatThrownBy(() -> { - new LegacyOperationalPolicyMapper().fromToscaServiceTemplate(serviceTemplate); - }).hasMessage("no properties defined on TOSCA policy"); - - policy0.setProperties(new LinkedHashMap<>()); - assertThatThrownBy(() -> { - new LegacyOperationalPolicyMapper().fromToscaServiceTemplate(serviceTemplate); - }).hasMessage("property \"content\" not defined on TOSCA policy"); - } -} diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/provider/LegacyProvider4LegacyOperationalTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/provider/LegacyProvider4LegacyOperationalTest.java deleted file mode 100644 index 25ef760bd..000000000 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/provider/LegacyProvider4LegacyOperationalTest.java +++ /dev/null @@ -1,312 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019-2020 Nordix Foundation. - * Modifications 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 org.onap.policy.models.tosca.legacy.provider; - -import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -import java.util.Properties; -import org.eclipse.persistence.config.PersistenceUnitProperties; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.onap.policy.common.utils.coder.CoderException; -import org.onap.policy.common.utils.coder.StandardCoder; -import org.onap.policy.common.utils.resources.ResourceUtils; -import org.onap.policy.models.base.PfModelException; -import org.onap.policy.models.dao.DaoParameters; -import org.onap.policy.models.dao.PfDao; -import org.onap.policy.models.dao.PfDaoFactory; -import org.onap.policy.models.dao.impl.DefaultPfDao; -import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; -import org.onap.policy.models.tosca.authorative.provider.AuthorativeToscaProvider; -import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy; -import org.yaml.snakeyaml.Yaml; - -/** - * Test the {@link LegacyProvider} class for legacy operational policies. - * - * @author Liam Fallon (liam.fallon@est.tech) - */ -public class LegacyProvider4LegacyOperationalTest { - private static final String POLICY_ID_IS_NULL = "^policyId is marked .*on.*ull but is null$"; - private static final String VCPE_OUTPUT_JSON = "policies/vCPE.policy.operational.legacy.output.json"; - private static final String VCPE_INPUT_JSON = "policies/vCPE.policy.operational.legacy.input.json"; - private static final String DAO_IS_NULL = "^dao is marked .*on.*ull but is null$"; - private PfDao pfDao; - private StandardCoder standardCoder; - - /** - * Set up the DAO towards the database. - * - * @throws Exception on database errors - */ - @Before - public void setupDao() throws Exception { - final DaoParameters daoParameters = new DaoParameters(); - daoParameters.setPluginClass(DefaultPfDao.class.getName()); - - daoParameters.setPersistenceUnit("ToscaConceptTest"); - - Properties jdbcProperties = new Properties(); - jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_USER, "policy"); - jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_PASSWORD, "P01icY"); - - // H2, use "org.mariadb.jdbc.Driver" and "jdbc:mariadb://localhost:3306/policy" for locally installed MariaDB - jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_DRIVER, "org.h2.Driver"); - jdbcProperties.setProperty(PersistenceUnitProperties.JDBC_URL, "jdbc:h2:mem:testdb"); - - daoParameters.setJdbcProperties(jdbcProperties); - - pfDao = new PfDaoFactory().createPfDao(daoParameters); - pfDao.init(daoParameters); - } - - /** - * Set up standard coder. - */ - @Before - public void setupStandardCoder() { - standardCoder = new StandardCoder(); - } - - @After - public void teardown() { - pfDao.close(); - } - - @Test - public void testPoliciesGet() throws Exception { - assertThatThrownBy(() -> { - new LegacyProvider().getOperationalPolicy(null, null, null); - }).hasMessageMatching(DAO_IS_NULL); - - assertThatThrownBy(() -> { - new LegacyProvider().getOperationalPolicy(null, "", null); - }).hasMessageMatching(DAO_IS_NULL); - - assertThatThrownBy(() -> { - new LegacyProvider().getOperationalPolicy(pfDao, null, null); - }).hasMessageMatching(POLICY_ID_IS_NULL); - - assertThatThrownBy(() -> { - new LegacyProvider().getOperationalPolicy(pfDao, "I Dont Exist", null); - }).hasMessage("service template not found in database"); - - createPolicyTypes(); - - LegacyOperationalPolicy originalLop = - standardCoder.decode(ResourceUtils.getResourceAsString(VCPE_INPUT_JSON), LegacyOperationalPolicy.class); - - assertNotNull(originalLop); - - LegacyOperationalPolicy createdLop = new LegacyProvider().createOperationalPolicy(pfDao, originalLop); - - assertEquals(originalLop, createdLop); - - LegacyOperationalPolicy gotLop = - new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null); - - assertEquals(gotLop, originalLop); - - String expectedJsonOutput = ResourceUtils.getResourceAsString(VCPE_OUTPUT_JSON); - String actualJsonOutput = standardCoder.encode(gotLop); - - assertEquals(expectedJsonOutput.replaceAll("\\s+", ""), actualJsonOutput.replaceAll("\\s+", "")); - - LegacyOperationalPolicy createdLopV2 = new LegacyProvider().createOperationalPolicy(pfDao, originalLop); - LegacyOperationalPolicy gotLopV2 = - new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null); - assertEquals(gotLopV2, createdLopV2); - } - - @Test - public void testPolicyCreate() throws Exception { - assertThatThrownBy(() -> { - new LegacyProvider().createOperationalPolicy(null, null); - }).hasMessageMatching(DAO_IS_NULL); - - assertThatThrownBy(() -> { - new LegacyProvider().createOperationalPolicy(null, new LegacyOperationalPolicy()); - }).hasMessageMatching(DAO_IS_NULL); - - assertThatThrownBy(() -> { - new LegacyProvider().createOperationalPolicy(pfDao, null); - }).hasMessageMatching("^legacyOperationalPolicy is marked .*on.*ull but is null$"); - - createPolicyTypes(); - - LegacyOperationalPolicy originalLop = - standardCoder.decode(ResourceUtils.getResourceAsString(VCPE_INPUT_JSON), LegacyOperationalPolicy.class); - - assertNotNull(originalLop); - - LegacyOperationalPolicy createdLop = new LegacyProvider().createOperationalPolicy(pfDao, originalLop); - - assertEquals(originalLop, createdLop); - - LegacyOperationalPolicy gotLop = - new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null); - - assertEquals(gotLop, originalLop); - - String expectedJsonOutput = ResourceUtils.getResourceAsString(VCPE_OUTPUT_JSON); - String actualJsonOutput = standardCoder.encode(gotLop); - - assertEquals(expectedJsonOutput.replaceAll("\\s+", ""), actualJsonOutput.replaceAll("\\s+", "")); - } - - @Test - public void testPolicyUpdate() throws Exception { - assertThatThrownBy(() -> { - new LegacyProvider().updateOperationalPolicy(null, null); - }).hasMessageMatching(DAO_IS_NULL); - - assertThatThrownBy(() -> { - new LegacyProvider().updateOperationalPolicy(null, new LegacyOperationalPolicy()); - }).hasMessageMatching(DAO_IS_NULL); - - assertThatThrownBy(() -> { - new LegacyProvider().updateOperationalPolicy(pfDao, null); - }).hasMessageMatching("^legacyOperationalPolicy is marked .*on.*ull but is null$"); - - assertThatThrownBy(() -> { - new LegacyProvider().updateOperationalPolicy(pfDao, new LegacyOperationalPolicy()); - }).hasMessageMatching("^name is marked .*on.*ull but is null$"); - - createPolicyTypes(); - - LegacyOperationalPolicy originalLop = - standardCoder.decode(ResourceUtils.getResourceAsString(VCPE_INPUT_JSON), LegacyOperationalPolicy.class); - - assertNotNull(originalLop); - - LegacyOperationalPolicy createdLop = new LegacyProvider().createOperationalPolicy(pfDao, originalLop); - assertEquals(originalLop, createdLop); - - LegacyOperationalPolicy gotLop = - new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null); - assertEquals(gotLop, originalLop); - - originalLop.setContent("Some New Content"); - LegacyOperationalPolicy updatedLop = new LegacyProvider().updateOperationalPolicy(pfDao, originalLop); - assertEquals(originalLop, updatedLop); - - LegacyOperationalPolicy gotUpdatedLop = - new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null); - assertEquals(gotUpdatedLop, originalLop); - assertEquals("Some New Content", gotUpdatedLop.getContent()); - } - - @Test - public void testPoliciesDelete() throws Exception { - assertThatThrownBy(() -> { - new LegacyProvider().deleteOperationalPolicy(null, null, null); - }).hasMessageMatching(DAO_IS_NULL); - - assertThatThrownBy(() -> { - new LegacyProvider().deleteOperationalPolicy(null, null, ""); - - }).hasMessageMatching(DAO_IS_NULL); - - assertThatThrownBy(() -> { - new LegacyProvider().deleteOperationalPolicy(null, "", null); - }).hasMessageMatching(DAO_IS_NULL); - - assertThatThrownBy(() -> { - new LegacyProvider().deleteOperationalPolicy(null, "", ""); - }).hasMessageMatching(DAO_IS_NULL); - - assertThatThrownBy(() -> { - new LegacyProvider().deleteOperationalPolicy(pfDao, null, null); - }).hasMessageMatching(POLICY_ID_IS_NULL); - - assertThatThrownBy(() -> { - new LegacyProvider().deleteOperationalPolicy(pfDao, null, ""); - }).hasMessageMatching(POLICY_ID_IS_NULL); - - assertThatThrownBy(() -> { - new LegacyProvider().deleteOperationalPolicy(pfDao, "", null); - }).hasMessageMatching("^policyVersion is marked .*on.*ull but is null$"); - - assertThatThrownBy(() -> { - new LegacyProvider().deleteOperationalPolicy(pfDao, "IDontExist", "0"); - }).hasMessage("service template not found in database"); - - createPolicyTypes(); - - LegacyOperationalPolicy originalLop = - standardCoder.decode(ResourceUtils.getResourceAsString(VCPE_INPUT_JSON), LegacyOperationalPolicy.class); - - assertNotNull(originalLop); - - LegacyOperationalPolicy createdLop = new LegacyProvider().createOperationalPolicy(pfDao, originalLop); - assertEquals(originalLop, createdLop); - - LegacyOperationalPolicy gotLop = - new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null); - - assertEquals(gotLop, originalLop); - - String expectedJsonOutput = ResourceUtils.getResourceAsString(VCPE_OUTPUT_JSON); - String actualJsonOutput = standardCoder.encode(gotLop); - - assertEquals(expectedJsonOutput.replaceAll("\\s+", ""), actualJsonOutput.replaceAll("\\s+", "")); - - assertThatThrownBy(() -> { - new LegacyProvider().deleteOperationalPolicy(pfDao, originalLop.getPolicyId(), null); - }).hasMessageMatching("^policyVersion is marked .*on.*ull but is null$"); - - LegacyOperationalPolicy deletedLop = - new LegacyProvider().deleteOperationalPolicy(pfDao, originalLop.getPolicyId(), "1"); - assertEquals(originalLop, deletedLop); - - assertThatThrownBy(() -> { - new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null); - }).hasMessage("policies for operational.restart:null do not exist"); - - LegacyOperationalPolicy otherLop = new LegacyOperationalPolicy(); - otherLop.setPolicyId("another-policy"); - otherLop.setPolicyVersion("1"); - otherLop.setContent("content"); - - LegacyOperationalPolicy createdOtherLop = new LegacyProvider().createOperationalPolicy(pfDao, otherLop); - assertEquals(otherLop, createdOtherLop); - - assertThatThrownBy(() -> { - new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null); - }).hasMessage("policies for operational.restart:null do not exist"); - } - - private void createPolicyTypes() throws CoderException, PfModelException { - Object yamlObject = new Yaml() - .load(ResourceUtils.getResourceAsString("policytypes/onap.policies.controlloop.Operational.yaml")); - String yamlAsJsonString = new StandardCoder().encode(yamlObject); - - ToscaServiceTemplate toscaServiceTemplatePolicyType = - standardCoder.decode(yamlAsJsonString, ToscaServiceTemplate.class); - - assertNotNull(toscaServiceTemplatePolicyType); - new AuthorativeToscaProvider().createPolicyTypes(pfDao, toscaServiceTemplatePolicyType); - } -} |