2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2019 Nordix Foundation.
4 * ================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 * SPDX-License-Identifier: Apache-2.0
18 * ============LICENSE_END=========================================================
21 package org.onap.policy.models.provider.impl;
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertNotNull;
25 import static org.junit.Assert.assertNull;
26 import static org.junit.Assert.assertTrue;
27 import static org.junit.Assert.fail;
29 import java.util.ArrayList;
31 import org.junit.Test;
32 import org.onap.policy.models.pdp.concepts.Pdp;
33 import org.onap.policy.models.pdp.concepts.PdpGroupFilter;
34 import org.onap.policy.models.pdp.concepts.PdpStatistics;
35 import org.onap.policy.models.pdp.concepts.PdpSubGroup;
36 import org.onap.policy.models.provider.PolicyModelsProvider;
37 import org.onap.policy.models.provider.PolicyModelsProviderFactory;
38 import org.onap.policy.models.provider.PolicyModelsProviderParameters;
39 import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyFilter;
40 import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeFilter;
41 import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
42 import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
43 import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
46 * Test the dummy models provider implementation.
48 * @author Liam Fallon (liam.fallon@est.tech)
50 public class DummyPolicyModelsProviderTest {
53 public void testProvider() throws Exception {
54 PolicyModelsProviderParameters parameters = new PolicyModelsProviderParameters();
55 parameters.setImplementation(DummyPolicyModelsProviderImpl.class.getCanonicalName());
56 parameters.setDatabaseUrl("jdbc:dummy");
57 parameters.setPersistenceUnit("dummy");
59 PolicyModelsProvider dummyProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
63 ToscaServiceTemplate serviceTemplate = dummyProvider.getPolicies("onap.vcpe.tca", "1.0.0");
64 assertNotNull(serviceTemplate);
65 assertEquals("onap.policies.monitoring.cdap.tca.hi.lo.app",
66 serviceTemplate.getToscaTopologyTemplate().getPolicies().get(0).get("onap.vcpe.tca").getType());
68 dummyProvider.close();
72 public void testProviderMethods() throws Exception {
73 PolicyModelsProviderParameters parameters = new PolicyModelsProviderParameters();
74 parameters.setImplementation(DummyPolicyModelsProviderImpl.class.getCanonicalName());
75 parameters.setDatabaseUrl("jdbc:dummy");
76 parameters.setPersistenceUnit("dummy");
78 PolicyModelsProvider dummyProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
81 assertNotNull(dummyProvider.getPolicyTypes("name", "version"));
82 assertNotNull(dummyProvider.getFilteredPolicyTypes(ToscaPolicyTypeFilter.builder().build()));
83 assertNotNull(dummyProvider.getPolicyTypeList("name", "version"));
84 assertNotNull(dummyProvider.getFilteredPolicyTypeList(ToscaPolicyTypeFilter.builder().build()));
85 assertNotNull(dummyProvider.createPolicyTypes(new ToscaServiceTemplate()));
86 assertNotNull(dummyProvider.updatePolicyTypes(new ToscaServiceTemplate()));
87 assertNotNull(dummyProvider.deletePolicyType("name", "version"));
89 assertNotNull(dummyProvider.getPolicies("name", "version"));
90 assertNotNull(dummyProvider.getFilteredPolicies(ToscaPolicyFilter.builder().build()));
91 assertNotNull(dummyProvider.getPolicyList("name", "version"));
92 assertNotNull(dummyProvider.getFilteredPolicyList(ToscaPolicyFilter.builder().build()));
93 assertNotNull(dummyProvider.createPolicies(new ToscaServiceTemplate()));
94 assertNotNull(dummyProvider.updatePolicies(new ToscaServiceTemplate()));
95 assertNotNull(dummyProvider.deletePolicy("name", "version"));
97 assertNotNull(dummyProvider.getOperationalPolicy("policy_id", "1"));
98 assertNotNull(dummyProvider.createOperationalPolicy(new LegacyOperationalPolicy()));
99 assertNotNull(dummyProvider.updateOperationalPolicy(new LegacyOperationalPolicy()));
100 assertNotNull(dummyProvider.deleteOperationalPolicy("policy_id", "1"));
102 assertNotNull(dummyProvider.getGuardPolicy("policy_id", "1"));
103 assertNotNull(dummyProvider.createGuardPolicy(new LegacyGuardPolicyInput()));
104 assertNotNull(dummyProvider.updateGuardPolicy(new LegacyGuardPolicyInput()));
105 assertNotNull(dummyProvider.deleteGuardPolicy("policy_id", "1"));
107 assertTrue(dummyProvider.getPdpGroups("name").isEmpty());
108 assertTrue(dummyProvider.getFilteredPdpGroups(PdpGroupFilter.builder().build()).isEmpty());
109 assertTrue(dummyProvider.createPdpGroups(new ArrayList<>()).isEmpty());
110 assertTrue(dummyProvider.updatePdpGroups(new ArrayList<>()).isEmpty());
111 assertNull(dummyProvider.deletePdpGroup("name"));
113 dummyProvider.updatePdpSubGroup("name", new PdpSubGroup());
114 dummyProvider.updatePdp("name", "type", new Pdp());
115 dummyProvider.updatePdpStatistics("name", "type", "type-0", new PdpStatistics());
116 assertTrue(dummyProvider.getPdpStatistics("name").isEmpty());
118 dummyProvider.close();
122 public void testDummyResponse() {
123 DummyPolicyModelsProviderSubImpl resp = null;
126 resp = new DummyPolicyModelsProviderSubImpl(new PolicyModelsProviderParameters());
127 resp.getBadDummyResponse1();
128 fail("test should throw an exception");
129 } catch (Exception npe) {
130 assertEquals("error serializing object", npe.getMessage());
138 resp = new DummyPolicyModelsProviderSubImpl(new PolicyModelsProviderParameters());
139 resp.getBadDummyResponse2();
140 fail("test should throw an exception");
141 } catch (Exception npe) {
142 assertEquals("error serializing object", npe.getMessage());