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.base.PfConceptKey;
30 import org.onap.policy.models.pdp.concepts.PdpGroups;
31 import org.onap.policy.models.provider.PolicyModelsProvider;
32 import org.onap.policy.models.provider.PolicyModelsProviderFactory;
33 import org.onap.policy.models.provider.PolicyModelsProviderParameters;
34 import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
35 import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
36 import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
39 * Test the dummy models provider implementation.
41 * @author Liam Fallon (liam.fallon@est.tech)
43 public class DummyPolicyModelsProviderTest {
46 public void testProvider() throws Exception {
47 PolicyModelsProviderParameters parameters = new PolicyModelsProviderParameters();
48 parameters.setImplementation(DummyPolicyModelsProviderImpl.class.getCanonicalName());
49 parameters.setDatabaseUrl("jdbc:dummy");
50 parameters.setPersistenceUnit("dummy");
52 PolicyModelsProvider dummyProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
56 ToscaServiceTemplate serviceTemplate = dummyProvider.getPolicies(new PfConceptKey());
57 assertNotNull(serviceTemplate);
58 assertEquals("onap.vcpe.tca:1.0.0",
59 serviceTemplate.getTopologyTemplate().getPolicies().get("onap.vcpe.tca").getId());
61 dummyProvider.close();
65 public void testProviderMethods() throws Exception {
66 PolicyModelsProviderParameters parameters = new PolicyModelsProviderParameters();
67 parameters.setImplementation(DummyPolicyModelsProviderImpl.class.getCanonicalName());
68 parameters.setDatabaseUrl("jdbc:dummy");
69 parameters.setPersistenceUnit("dummy");
71 PolicyModelsProvider dummyProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
74 assertNotNull(dummyProvider.getPolicyTypes(new PfConceptKey()));
75 assertNotNull(dummyProvider.createPolicyTypes(new ToscaServiceTemplate()));
76 assertNotNull(dummyProvider.updatePolicyTypes(new ToscaServiceTemplate()));
77 assertNotNull(dummyProvider.deletePolicyTypes(new PfConceptKey()));
79 assertNotNull(dummyProvider.getPolicies(new PfConceptKey()));
80 assertNotNull(dummyProvider.createPolicies(new ToscaServiceTemplate()));
81 assertNotNull(dummyProvider.updatePolicies(new ToscaServiceTemplate()));
82 assertNotNull(dummyProvider.deletePolicies(new PfConceptKey()));
84 assertNotNull(dummyProvider.getOperationalPolicy("policy_id"));
85 assertNotNull(dummyProvider.createOperationalPolicy(new LegacyOperationalPolicy()));
86 assertNotNull(dummyProvider.updateOperationalPolicy(new LegacyOperationalPolicy()));
87 assertNotNull(dummyProvider.deleteOperationalPolicy("policy_id"));
89 assertNotNull(dummyProvider.getGuardPolicy("policy_id"));
90 assertNotNull(dummyProvider.createGuardPolicy(new LegacyGuardPolicyInput()));
91 assertNotNull(dummyProvider.updateGuardPolicy(new LegacyGuardPolicyInput()));
92 assertNotNull(dummyProvider.deleteGuardPolicy("policy_id"));
94 assertNotNull(dummyProvider.getPdpGroups("filter"));
95 assertNotNull(dummyProvider.createPdpGroups(new PdpGroups()));
96 assertNotNull(dummyProvider.updatePdpGroups(new PdpGroups()));
97 assertNotNull(dummyProvider.deletePdpGroups("filter"));
99 assertThatThrownBy(() -> {
100 dummyProvider.getPolicyTypes(null);
101 }).hasMessage("policyTypeKey is marked @NonNull but is null");
102 assertThatThrownBy(() -> {
103 dummyProvider.createPolicyTypes(null);
104 }).hasMessage("serviceTemplate is marked @NonNull but is null");
105 assertThatThrownBy(() -> {
106 dummyProvider.updatePolicyTypes(null);
107 }).hasMessage("serviceTemplate is marked @NonNull but is null");
108 assertThatThrownBy(() -> {
109 dummyProvider.deletePolicyTypes(null);
110 }).hasMessage("policyTypeKey is marked @NonNull but is null");
112 assertThatThrownBy(() -> {
113 dummyProvider.getPolicies(null);
114 }).hasMessage("policyKey is marked @NonNull but is null");
115 assertThatThrownBy(() -> {
116 dummyProvider.createPolicies(null);
117 }).hasMessage("serviceTemplate is marked @NonNull but is null");
118 assertThatThrownBy(() -> {
119 dummyProvider.updatePolicies(null);
120 }).hasMessage("serviceTemplate is marked @NonNull but is null");
121 assertThatThrownBy(() -> {
122 dummyProvider.deletePolicies(null);
123 }).hasMessage("policyKey is marked @NonNull but is null");
125 assertThatThrownBy(() -> {
126 dummyProvider.getOperationalPolicy(null);
127 }).hasMessage("policyId is marked @NonNull but is null");
128 assertThatThrownBy(() -> {
129 dummyProvider.createOperationalPolicy(null);
130 }).hasMessage("legacyOperationalPolicy is marked @NonNull but is null");
131 assertThatThrownBy(() -> {
132 dummyProvider.updateOperationalPolicy(null);
133 }).hasMessage("legacyOperationalPolicy is marked @NonNull but is null");
134 assertThatThrownBy(() -> {
135 dummyProvider.deleteOperationalPolicy(null);
136 }).hasMessage("policyId is marked @NonNull but is null");
138 assertThatThrownBy(() -> {
139 dummyProvider.getGuardPolicy(null);
140 }).hasMessage("policyId is marked @NonNull but is null");
141 assertThatThrownBy(() -> {
142 dummyProvider.createGuardPolicy(null);
143 }).hasMessage("legacyGuardPolicy is marked @NonNull but is null");
144 assertThatThrownBy(() -> {
145 dummyProvider.updateGuardPolicy(null);
146 }).hasMessage("legacyGuardPolicy is marked @NonNull but is null");
147 assertThatThrownBy(() -> {
148 dummyProvider.deleteGuardPolicy(null);
149 }).hasMessage("policyId is marked @NonNull but is null");
151 assertThatThrownBy(() -> {
152 dummyProvider.getPdpGroups(null);
153 }).hasMessage("pdpGroupFilter is marked @NonNull but is null");
154 assertThatThrownBy(() -> {
155 dummyProvider.createPdpGroups(null);
156 }).hasMessage("pdpGroups is marked @NonNull but is null");
157 assertThatThrownBy(() -> {
158 dummyProvider.updatePdpGroups(null);
159 }).hasMessage("pdpGroups is marked @NonNull but is null");
160 assertThatThrownBy(() -> {
161 dummyProvider.deletePdpGroups(null);
162 }).hasMessage("pdpGroupFilter is marked @NonNull but is null");
164 dummyProvider.close();
168 public void testDummyResponse() {
169 DummyPolicyModelsProviderSubImpl resp = null;
172 resp = new DummyPolicyModelsProviderSubImpl(new PolicyModelsProviderParameters());
173 resp.getBadDummyResponse1();
174 fail("test should throw an exception");
175 } catch (Exception npe) {
176 assertEquals("error serializing object", npe.getMessage());
184 resp = new DummyPolicyModelsProviderSubImpl(new PolicyModelsProviderParameters());
185 resp.getBadDummyResponse2();
186 fail("test should throw an exception");
187 } catch (Exception npe) {
188 assertEquals("fileName is marked @NonNull but is null", npe.getMessage());