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.fail;
29 import org.junit.Test;
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.authorative.concepts.ToscaServiceTemplate;
35 import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
36 import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
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("onap.vcpe.tca", "1.0.0");
57 assertNotNull(serviceTemplate);
58 assertEquals("onap.policies.monitoring.cdap.tca.hi.lo.app",
59 serviceTemplate.getToscaTopologyTemplate().getPolicies().get(0).get("onap.vcpe.tca").getType());
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("name", "version"));
75 assertNotNull(dummyProvider.createPolicyTypes(new ToscaServiceTemplate()));
76 assertNotNull(dummyProvider.updatePolicyTypes(new ToscaServiceTemplate()));
77 assertNotNull(dummyProvider.deletePolicyType("name", "version"));
79 assertNotNull(dummyProvider.getPolicies("name", "version"));
80 assertNotNull(dummyProvider.createPolicies(new ToscaServiceTemplate()));
81 assertNotNull(dummyProvider.updatePolicies(new ToscaServiceTemplate()));
82 assertNotNull(dummyProvider.deletePolicy("name", "version"));
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 assertNull(dummyProvider.getPdpGroups("name", "version"));
95 assertNull(dummyProvider.createPdpGroups(new PdpGroups()));
96 assertNull(dummyProvider.updatePdpGroups(new PdpGroups()));
97 assertNull(dummyProvider.deletePdpGroup("name", "version"));
100 assertThatThrownBy(() -> {
101 dummyProvider.getOperationalPolicy(null);
102 }).hasMessage("policyId is marked @NonNull but is null");
103 assertThatThrownBy(() -> {
104 dummyProvider.createOperationalPolicy(null);
105 }).hasMessage("legacyOperationalPolicy is marked @NonNull but is null");
106 assertThatThrownBy(() -> {
107 dummyProvider.updateOperationalPolicy(null);
108 }).hasMessage("legacyOperationalPolicy is marked @NonNull but is null");
109 assertThatThrownBy(() -> {
110 dummyProvider.deleteOperationalPolicy(null);
111 }).hasMessage("policyId is marked @NonNull but is null");
113 assertThatThrownBy(() -> {
114 dummyProvider.getGuardPolicy(null);
115 }).hasMessage("policyId is marked @NonNull but is null");
116 assertThatThrownBy(() -> {
117 dummyProvider.createGuardPolicy(null);
118 }).hasMessage("legacyGuardPolicy is marked @NonNull but is null");
119 assertThatThrownBy(() -> {
120 dummyProvider.updateGuardPolicy(null);
121 }).hasMessage("legacyGuardPolicy is marked @NonNull but is null");
122 assertThatThrownBy(() -> {
123 dummyProvider.deleteGuardPolicy(null);
124 }).hasMessage("policyId is marked @NonNull but is null");
126 assertThatThrownBy(() -> {
127 dummyProvider.createPdpGroups(null);
128 }).hasMessage("pdpGroups is marked @NonNull but is null");
129 assertThatThrownBy(() -> {
130 dummyProvider.updatePdpGroups(null);
131 }).hasMessage("pdpGroups is marked @NonNull but is null");
132 assertThatThrownBy(() -> {
133 dummyProvider.deletePdpGroup(null, null);
134 }).hasMessage("name is marked @NonNull but is null");
136 dummyProvider.close();
140 public void testDummyResponse() {
141 DummyPolicyModelsProviderSubImpl resp = null;
144 resp = new DummyPolicyModelsProviderSubImpl(new PolicyModelsProviderParameters());
145 resp.getBadDummyResponse1();
146 fail("test should throw an exception");
147 } catch (Exception npe) {
148 assertEquals("error serializing object", npe.getMessage());
156 resp = new DummyPolicyModelsProviderSubImpl(new PolicyModelsProviderParameters());
157 resp.getBadDummyResponse2();
158 fail("test should throw an exception");
159 } catch (Exception npe) {
160 assertEquals("fileName is marked @NonNull but is null", npe.getMessage());