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.assertj.core.api.Assertions.assertThatThrownBy;
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertNotNull;
26 import static org.junit.Assert.assertNull;
27 import static org.junit.Assert.assertTrue;
28 import static org.junit.Assert.fail;
30 import java.util.ArrayList;
32 import org.junit.Test;
33 import org.onap.policy.models.provider.PolicyModelsProvider;
34 import org.onap.policy.models.provider.PolicyModelsProviderFactory;
35 import org.onap.policy.models.provider.PolicyModelsProviderParameters;
36 import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
37 import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
38 import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
41 * Test the dummy models provider implementation.
43 * @author Liam Fallon (liam.fallon@est.tech)
45 public class DummyPolicyModelsProviderTest {
48 public void testProvider() throws Exception {
49 PolicyModelsProviderParameters parameters = new PolicyModelsProviderParameters();
50 parameters.setImplementation(DummyPolicyModelsProviderImpl.class.getCanonicalName());
51 parameters.setDatabaseUrl("jdbc:dummy");
52 parameters.setPersistenceUnit("dummy");
54 PolicyModelsProvider dummyProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
58 ToscaServiceTemplate serviceTemplate = dummyProvider.getPolicies("onap.vcpe.tca", "1.0.0");
59 assertNotNull(serviceTemplate);
60 assertEquals("onap.policies.monitoring.cdap.tca.hi.lo.app",
61 serviceTemplate.getToscaTopologyTemplate().getPolicies().get(0).get("onap.vcpe.tca").getType());
63 dummyProvider.close();
67 public void testProviderMethods() throws Exception {
68 PolicyModelsProviderParameters parameters = new PolicyModelsProviderParameters();
69 parameters.setImplementation(DummyPolicyModelsProviderImpl.class.getCanonicalName());
70 parameters.setDatabaseUrl("jdbc:dummy");
71 parameters.setPersistenceUnit("dummy");
73 PolicyModelsProvider dummyProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
76 assertNotNull(dummyProvider.getPolicyTypes("name", "version"));
77 assertNotNull(dummyProvider.createPolicyTypes(new ToscaServiceTemplate()));
78 assertNotNull(dummyProvider.updatePolicyTypes(new ToscaServiceTemplate()));
79 assertNotNull(dummyProvider.deletePolicyType("name", "version"));
81 assertNotNull(dummyProvider.getPolicies("name", "version"));
82 assertNotNull(dummyProvider.createPolicies(new ToscaServiceTemplate()));
83 assertNotNull(dummyProvider.updatePolicies(new ToscaServiceTemplate()));
84 assertNotNull(dummyProvider.deletePolicy("name", "version"));
86 assertNotNull(dummyProvider.getOperationalPolicy("policy_id"));
87 assertNotNull(dummyProvider.createOperationalPolicy(new LegacyOperationalPolicy()));
88 assertNotNull(dummyProvider.updateOperationalPolicy(new LegacyOperationalPolicy()));
89 assertNotNull(dummyProvider.deleteOperationalPolicy("policy_id"));
91 assertNotNull(dummyProvider.getGuardPolicy("policy_id"));
92 assertNotNull(dummyProvider.createGuardPolicy(new LegacyGuardPolicyInput()));
93 assertNotNull(dummyProvider.updateGuardPolicy(new LegacyGuardPolicyInput()));
94 assertNotNull(dummyProvider.deleteGuardPolicy("policy_id"));
96 assertTrue(dummyProvider.getPdpGroups("name", "version").isEmpty());
97 assertTrue(dummyProvider.createPdpGroups(new ArrayList<>()).isEmpty());
98 assertTrue(dummyProvider.updatePdpGroups(new ArrayList<>()).isEmpty());
99 assertNull(dummyProvider.deletePdpGroup("name", "version"));
102 assertThatThrownBy(() -> {
103 dummyProvider.getOperationalPolicy(null);
104 }).hasMessage("policyId is marked @NonNull but is null");
105 assertThatThrownBy(() -> {
106 dummyProvider.createOperationalPolicy(null);
107 }).hasMessage("legacyOperationalPolicy is marked @NonNull but is null");
108 assertThatThrownBy(() -> {
109 dummyProvider.updateOperationalPolicy(null);
110 }).hasMessage("legacyOperationalPolicy is marked @NonNull but is null");
111 assertThatThrownBy(() -> {
112 dummyProvider.deleteOperationalPolicy(null);
113 }).hasMessage("policyId is marked @NonNull but is null");
115 assertThatThrownBy(() -> {
116 dummyProvider.getGuardPolicy(null);
117 }).hasMessage("policyId is marked @NonNull but is null");
118 assertThatThrownBy(() -> {
119 dummyProvider.createGuardPolicy(null);
120 }).hasMessage("legacyGuardPolicy is marked @NonNull but is null");
121 assertThatThrownBy(() -> {
122 dummyProvider.updateGuardPolicy(null);
123 }).hasMessage("legacyGuardPolicy is marked @NonNull but is null");
124 assertThatThrownBy(() -> {
125 dummyProvider.deleteGuardPolicy(null);
126 }).hasMessage("policyId is marked @NonNull but is null");
128 assertThatThrownBy(() -> {
129 dummyProvider.createPdpGroups(null);
130 }).hasMessage("pdpGroups is marked @NonNull but is null");
131 assertThatThrownBy(() -> {
132 dummyProvider.updatePdpGroups(null);
133 }).hasMessage("pdpGroups is marked @NonNull but is null");
134 assertThatThrownBy(() -> {
135 dummyProvider.deletePdpGroup(null, null);
136 }).hasMessage("name is marked @NonNull but is null");
138 dummyProvider.close();
142 public void testDummyResponse() {
143 DummyPolicyModelsProviderSubImpl resp = null;
146 resp = new DummyPolicyModelsProviderSubImpl(new PolicyModelsProviderParameters());
147 resp.getBadDummyResponse1();
148 fail("test should throw an exception");
149 } catch (Exception npe) {
150 assertEquals("error serializing object", npe.getMessage());
158 resp = new DummyPolicyModelsProviderSubImpl(new PolicyModelsProviderParameters());
159 resp.getBadDummyResponse2();
160 fail("test should throw an exception");
161 } catch (Exception npe) {
162 assertEquals("fileName is marked @NonNull but is null", npe.getMessage());