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.fail;
28 import org.junit.Test;
29 import org.onap.policy.models.pdp.concepts.PdpGroups;
30 import org.onap.policy.models.provider.PolicyModelsProvider;
31 import org.onap.policy.models.provider.PolicyModelsProviderFactory;
32 import org.onap.policy.models.provider.PolicyModelsProviderParameters;
33 import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
34 import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
35 import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
38 * Test the dummy models provider implementation.
40 * @author Liam Fallon (liam.fallon@est.tech)
42 public class DummyPolicyModelsProviderTest {
45 public void testProvider() throws Exception {
46 PolicyModelsProviderParameters parameters = new PolicyModelsProviderParameters();
47 parameters.setImplementation(DummyPolicyModelsProviderImpl.class.getCanonicalName());
48 parameters.setDatabaseUrl("jdbc:dummy");
49 parameters.setPersistenceUnit("dummy");
51 PolicyModelsProvider dummyProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
55 ToscaServiceTemplate serviceTemplate = dummyProvider.getPolicies("onap.vcpe.tca", "1.0.0");
56 assertNotNull(serviceTemplate);
57 assertEquals("onap.policies.monitoring.cdap.tca.hi.lo.app",
58 serviceTemplate.getToscaTopologyTemplate().getPolicies().get(0).get("onap.vcpe.tca").getType());
60 dummyProvider.close();
64 public void testProviderMethods() throws Exception {
65 PolicyModelsProviderParameters parameters = new PolicyModelsProviderParameters();
66 parameters.setImplementation(DummyPolicyModelsProviderImpl.class.getCanonicalName());
67 parameters.setDatabaseUrl("jdbc:dummy");
68 parameters.setPersistenceUnit("dummy");
70 PolicyModelsProvider dummyProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
73 assertNotNull(dummyProvider.getPolicyTypes("name", "version"));
74 assertNotNull(dummyProvider.createPolicyTypes(new ToscaServiceTemplate()));
75 assertNotNull(dummyProvider.updatePolicyTypes(new ToscaServiceTemplate()));
76 assertNotNull(dummyProvider.deletePolicyTypes("name", "version"));
78 assertNotNull(dummyProvider.getPolicies("name", "version"));
79 assertNotNull(dummyProvider.createPolicies(new ToscaServiceTemplate()));
80 assertNotNull(dummyProvider.updatePolicies(new ToscaServiceTemplate()));
81 assertNotNull(dummyProvider.deletePolicies("name", "version"));
83 assertNotNull(dummyProvider.getOperationalPolicy("policy_id"));
84 assertNotNull(dummyProvider.createOperationalPolicy(new LegacyOperationalPolicy()));
85 assertNotNull(dummyProvider.updateOperationalPolicy(new LegacyOperationalPolicy()));
86 assertNotNull(dummyProvider.deleteOperationalPolicy("policy_id"));
88 assertNotNull(dummyProvider.getGuardPolicy("policy_id"));
89 assertNotNull(dummyProvider.createGuardPolicy(new LegacyGuardPolicyInput()));
90 assertNotNull(dummyProvider.updateGuardPolicy(new LegacyGuardPolicyInput()));
91 assertNotNull(dummyProvider.deleteGuardPolicy("policy_id"));
93 assertNotNull(dummyProvider.getPdpGroups("filter"));
94 assertNotNull(dummyProvider.createPdpGroups(new PdpGroups()));
95 assertNotNull(dummyProvider.updatePdpGroups(new PdpGroups()));
96 assertNotNull(dummyProvider.deletePdpGroups("filter"));
98 assertThatThrownBy(() -> {
99 dummyProvider.getPolicyTypes(null, null);
100 }).hasMessage("name is marked @NonNull but is null");
101 assertThatThrownBy(() -> {
102 dummyProvider.createPolicyTypes(null);
103 }).hasMessage("serviceTemplate is marked @NonNull but is null");
104 assertThatThrownBy(() -> {
105 dummyProvider.updatePolicyTypes(null);
106 }).hasMessage("serviceTemplate is marked @NonNull but is null");
107 assertThatThrownBy(() -> {
108 dummyProvider.deletePolicyTypes(null, null);
109 }).hasMessage("name is marked @NonNull but is null");
111 assertThatThrownBy(() -> {
112 dummyProvider.getPolicies(null, null);
113 }).hasMessage("name is marked @NonNull but is null");
114 assertThatThrownBy(() -> {
115 dummyProvider.createPolicies(null);
116 }).hasMessage("serviceTemplate is marked @NonNull but is null");
117 assertThatThrownBy(() -> {
118 dummyProvider.updatePolicies(null);
119 }).hasMessage("serviceTemplate is marked @NonNull but is null");
120 assertThatThrownBy(() -> {
121 dummyProvider.deletePolicies(null, null);
122 }).hasMessage("name is marked @NonNull but is null");
124 assertThatThrownBy(() -> {
125 dummyProvider.getOperationalPolicy(null);
126 }).hasMessage("policyId is marked @NonNull but is null");
127 assertThatThrownBy(() -> {
128 dummyProvider.createOperationalPolicy(null);
129 }).hasMessage("legacyOperationalPolicy is marked @NonNull but is null");
130 assertThatThrownBy(() -> {
131 dummyProvider.updateOperationalPolicy(null);
132 }).hasMessage("legacyOperationalPolicy is marked @NonNull but is null");
133 assertThatThrownBy(() -> {
134 dummyProvider.deleteOperationalPolicy(null);
135 }).hasMessage("policyId is marked @NonNull but is null");
137 assertThatThrownBy(() -> {
138 dummyProvider.getGuardPolicy(null);
139 }).hasMessage("policyId is marked @NonNull but is null");
140 assertThatThrownBy(() -> {
141 dummyProvider.createGuardPolicy(null);
142 }).hasMessage("legacyGuardPolicy is marked @NonNull but is null");
143 assertThatThrownBy(() -> {
144 dummyProvider.updateGuardPolicy(null);
145 }).hasMessage("legacyGuardPolicy is marked @NonNull but is null");
146 assertThatThrownBy(() -> {
147 dummyProvider.deleteGuardPolicy(null);
148 }).hasMessage("policyId is marked @NonNull but is null");
150 assertThatThrownBy(() -> {
151 dummyProvider.getPdpGroups(null);
152 }).hasMessage("pdpGroupFilter is marked @NonNull but is null");
153 assertThatThrownBy(() -> {
154 dummyProvider.createPdpGroups(null);
155 }).hasMessage("pdpGroups is marked @NonNull but is null");
156 assertThatThrownBy(() -> {
157 dummyProvider.updatePdpGroups(null);
158 }).hasMessage("pdpGroups is marked @NonNull but is null");
159 assertThatThrownBy(() -> {
160 dummyProvider.deletePdpGroups(null);
161 }).hasMessage("pdpGroupFilter is marked @NonNull but is null");
163 dummyProvider.close();
167 public void testDummyResponse() {
168 DummyPolicyModelsProviderSubImpl resp = null;
171 resp = new DummyPolicyModelsProviderSubImpl(new PolicyModelsProviderParameters());
172 resp.getBadDummyResponse1();
173 fail("test should throw an exception");
174 } catch (Exception npe) {
175 assertEquals("error serializing object", npe.getMessage());
183 resp = new DummyPolicyModelsProviderSubImpl(new PolicyModelsProviderParameters());
184 resp.getBadDummyResponse2();
185 fail("test should throw an exception");
186 } catch (Exception npe) {
187 assertEquals("fileName is marked @NonNull but is null", npe.getMessage());