2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2018 Ericsson. All rights reserved.
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.
16 * ============LICENSE_END=========================================================
19 package org.onap.policy.controlloop.policy;
21 import static org.junit.Assert.assertEquals;
22 import static org.junit.Assert.assertFalse;
23 import static org.junit.Assert.assertTrue;
25 import java.util.ArrayList;
26 import java.util.List;
28 import org.junit.Ignore;
29 import org.junit.Test;
30 import org.onap.policy.aai.Pnf;
31 import org.onap.policy.sdc.Resource;
32 import org.onap.policy.sdc.ResourceType;
33 import org.onap.policy.sdc.Service;
35 public class ControlLoopTest {
37 private String controlLoopName = "control loop 1";
38 private String version = "1.0.1";
39 private String triggerPolicy = FinalResult.FINAL_OPENLOOP.toString();
40 private Integer timeout = 100;
41 private Boolean abatement = false;
44 public void testEqualsSameInstance() {
45 ControlLoop controlLoop1 = new ControlLoop();
46 assertTrue(controlLoop1.equals(controlLoop1));
50 public void testEqualsNull() {
51 ControlLoop controlLoop1 = new ControlLoop();
52 assertFalse(controlLoop1.equals(null));
56 public void testEqualsInstanceOfDiffClass() {
57 ControlLoop controlLoop1 = new ControlLoop();
58 assertFalse(controlLoop1.equals(""));
62 public void testEqualsNoServicesAndResourcesOrTimeout() {
63 final Pnf pnf = new Pnf();
64 pnf.setPnfName("pnf 1");
66 ControlLoop controlLoop1 = new ControlLoop();
67 controlLoop1.setControlLoopName(controlLoopName);
68 controlLoop1.setVersion(version);
69 controlLoop1.setPnf(pnf);
70 controlLoop1.setTrigger_policy(triggerPolicy);
71 controlLoop1.setAbatement(abatement);
73 ControlLoop controlLoop2 = new ControlLoop();
74 controlLoop2.setControlLoopName(controlLoopName);
75 controlLoop2.setVersion(version);
76 controlLoop2.setPnf(pnf);
77 controlLoop2.setTrigger_policy(triggerPolicy);
78 controlLoop2.setAbatement(abatement);
80 assertTrue(controlLoop1.equals(controlLoop2));
84 public void testEquals() {
85 final Pnf pnf = new Pnf();
86 pnf.setPnfName("pnf 1");
88 ControlLoop controlLoop1 = new ControlLoop();
89 controlLoop1.setControlLoopName(controlLoopName);
90 controlLoop1.setVersion(version);
91 Service service1 = new Service("service1");
92 Service service2 = new Service("service2");
93 List<Service> services = new ArrayList<>();
94 services.add(service1);
95 services.add(service2);
96 controlLoop1.setServices(services);
97 Resource resource1 = new Resource("resource1", ResourceType.VF);
98 Resource resource2 = new Resource("resource2", ResourceType.VFC);
99 List<Resource> resources = new ArrayList<>();
100 resources.add(resource1);
101 resources.add(resource2);
102 controlLoop1.setResources(resources);
103 controlLoop1.setPnf(pnf);
104 controlLoop1.setTrigger_policy(triggerPolicy);
105 controlLoop1.setTimeout(timeout);
106 controlLoop1.setAbatement(abatement);
108 ControlLoop controlLoop2 = new ControlLoop();
109 controlLoop2.setControlLoopName(controlLoopName);
110 controlLoop2.setVersion(version);
111 Service controlLoop2_service1 = new Service("service1");
112 Service controlLoop2_service2 = new Service("service2");
113 List<Service> controlLoop2_services = new ArrayList<>();
114 controlLoop2_services.add(controlLoop2_service1);
115 controlLoop2_services.add(controlLoop2_service2);
116 controlLoop2.setServices(controlLoop2_services);
117 Resource controlLoop2_resource1 = new Resource("resource1", ResourceType.VF);
118 Resource controlLoop2_resource2 = new Resource("resource2", ResourceType.VFC);
119 List<Resource> controlLoop2_resources = new ArrayList<>();
120 controlLoop2_resources.add(controlLoop2_resource1);
121 controlLoop2_resources.add(controlLoop2_resource2);
122 controlLoop2.setResources(controlLoop2_resources);
123 controlLoop2.setPnf(pnf);
124 controlLoop2.setTrigger_policy(triggerPolicy);
125 controlLoop2.setTimeout(timeout);
126 controlLoop1.setAbatement(abatement);
128 assertTrue(controlLoop1.equals(controlLoop2));
129 assertEquals(controlLoop1.hashCode(), controlLoop2.hashCode());
134 // I'VE MARKED THIS TEST CASE AS IGNORE BECAUSE THE TEST CASE FAILS
135 // This test case fails because the ControlLoop(ControlLoop controlLoop) constructor.
136 // does not copy the value of pnf and version into the newly created object
137 // PLEASE ADVISE IF THE EXISTING BEHAVIOUR IS CORRECT
138 public void testControlLoop() {
139 final Pnf pnf = new Pnf();
140 pnf.setPnfName("pnf 1");
142 ControlLoop controlLoop1 = new ControlLoop();
143 controlLoop1.setControlLoopName(controlLoopName);
144 controlLoop1.setVersion(version);
145 Service service1 = new Service("service1");
146 Service service2 = new Service("service2");
147 List<Service> services = new ArrayList<>();
148 services.add(service1);
149 services.add(service2);
150 controlLoop1.setServices(services);
151 Resource resource1 = new Resource("resource1", ResourceType.VF);
152 Resource resource2 = new Resource("resource2", ResourceType.VFC);
153 List<Resource> resources = new ArrayList<>();
154 resources.add(resource1);
155 resources.add(resource2);
156 controlLoop1.setResources(resources);
157 controlLoop1.setPnf(pnf);
158 controlLoop1.setTrigger_policy(triggerPolicy);
159 controlLoop1.setAbatement(abatement);
161 ControlLoop controlLoop2 = new ControlLoop(controlLoop1);
163 assertEquals(controlLoop1.getControlLoopName(), controlLoop2.getControlLoopName());
164 assertEquals(controlLoop1.getVersion(), controlLoop2.getVersion());
165 assertEquals(controlLoop1.getServices(), controlLoop2.getServices());
166 assertEquals(controlLoop1.getResources(), controlLoop2.getResources());
167 assertEquals(controlLoop1.getPnf(), controlLoop2.getPnf());
168 assertEquals(controlLoop1.getTrigger_policy(), controlLoop2.getTrigger_policy());
169 assertEquals(controlLoop1.getAbatement(), controlLoop2.getAbatement());
171 assertTrue(controlLoop1.equals(controlLoop2));