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=========================================================
18 package org.onap.policy.controlloop.policy;
20 import static org.junit.Assert.assertEquals;
21 import static org.junit.Assert.assertFalse;
22 import static org.junit.Assert.assertTrue;
24 import java.util.ArrayList;
25 import java.util.List;
26 import org.junit.Ignore;
27 import org.junit.Test;
28 import org.onap.policy.aai.PNF;
29 import org.onap.policy.sdc.Resource;
30 import org.onap.policy.sdc.ResourceType;
31 import org.onap.policy.sdc.Service;
33 public class ControlLoopTest {
35 private String controlLoopName = "control loop 1";
36 private String version = "1.0.1";
37 private String triggerPolicy = FinalResult.FINAL_OPENLOOP.toString();
38 private Integer timeout = 100;
39 private Boolean abatement = false;
42 public void testEqualsSameInstance() {
43 ControlLoop controlLoop1 = new ControlLoop();
44 assertTrue(controlLoop1.equals(controlLoop1));
48 public void testEqualsNull() {
49 ControlLoop controlLoop1 = new ControlLoop();
50 assertFalse(controlLoop1.equals(null));
53 public void testEqualsInstanceOfDiffClass() {
54 ControlLoop controlLoop1 = new ControlLoop();
55 assertFalse(controlLoop1.equals(""));
59 public void testEqualsNoServicesAndResourcesOrTimeout() {
60 final PNF pnf = new PNF();
61 pnf.setPNFName("pnf 1");
63 ControlLoop controlLoop1 = new ControlLoop();
64 controlLoop1.setControlLoopName(controlLoopName);
65 controlLoop1.setVersion(version);
66 controlLoop1.setPnf(pnf);
67 controlLoop1.setTrigger_policy(triggerPolicy);
68 controlLoop1.setAbatement(abatement);
70 ControlLoop controlLoop2 = new ControlLoop();
71 controlLoop2.setControlLoopName(controlLoopName);
72 controlLoop2.setVersion(version);
73 controlLoop2.setPnf(pnf);
74 controlLoop2.setTrigger_policy(triggerPolicy);
75 controlLoop2.setAbatement(abatement);
77 assertTrue(controlLoop1.equals(controlLoop2));
81 public void testEquals() {
82 final PNF pnf = new PNF();
83 pnf.setPNFName("pnf 1");
85 ControlLoop controlLoop1 = new ControlLoop();
86 controlLoop1.setControlLoopName(controlLoopName);
87 controlLoop1.setVersion(version);
88 Service service1 = new Service("service1");
89 Service service2 = new Service("service2");
90 List<Service> services = new ArrayList<>();
91 services.add(service1);
92 services.add(service2);
93 controlLoop1.setServices(services);
94 Resource resource1 = new Resource("resource1", ResourceType.VF);
95 Resource resource2 = new Resource("resource2", ResourceType.VFC);
96 List<Resource> resources = new ArrayList<>();
97 resources.add(resource1);
98 resources.add(resource2);
99 controlLoop1.setResources(resources);
100 controlLoop1.setPnf(pnf);
101 controlLoop1.setTrigger_policy(triggerPolicy);
102 controlLoop1.setTimeout(timeout);
103 controlLoop1.setAbatement(abatement);
105 ControlLoop controlLoop2 = new ControlLoop();
106 controlLoop2.setControlLoopName(controlLoopName);
107 controlLoop2.setVersion(version);
108 Service controlLoop2_service1 = new Service("service1");
109 Service controlLoop2_service2 = new Service("service2");
110 List<Service> controlLoop2_services = new ArrayList<>();
111 controlLoop2_services.add(controlLoop2_service1);
112 controlLoop2_services.add(controlLoop2_service2);
113 controlLoop2.setServices(controlLoop2_services);
114 Resource controlLoop2_resource1 = new Resource("resource1", ResourceType.VF);
115 Resource controlLoop2_resource2 = new Resource("resource2", ResourceType.VFC);
116 List<Resource> controlLoop2_resources = new ArrayList<>();
117 controlLoop2_resources.add(controlLoop2_resource1);
118 controlLoop2_resources.add(controlLoop2_resource2);
119 controlLoop2.setResources(controlLoop2_resources);
120 controlLoop2.setPnf(pnf);
121 controlLoop2.setTrigger_policy(triggerPolicy);
122 controlLoop2.setTimeout(timeout);
123 controlLoop1.setAbatement(abatement);
125 assertTrue(controlLoop1.equals(controlLoop2));
126 assertEquals(controlLoop1.hashCode(), controlLoop2.hashCode());
131 // I'VE MARKED THIS TEST CASE AS IGNORE BECAUSE THE TEST CASE FAILS
132 // This test case fails because the ControlLoop(ControlLoop controlLoop) constructor.
133 // does not copy the value of pnf and version into the newly created object
134 // PLEASE ADVISE IF THE EXISTING BEHAVIOUR IS CORRECT
135 public void testControlLoop() {
136 final PNF pnf = new PNF();
137 pnf.setPNFName("pnf 1");
139 ControlLoop controlLoop1 = new ControlLoop();
140 controlLoop1.setControlLoopName(controlLoopName);
141 controlLoop1.setVersion(version);
142 Service service1 = new Service("service1");
143 Service service2 = new Service("service2");
144 List<Service> services = new ArrayList<>();
145 services.add(service1);
146 services.add(service2);
147 controlLoop1.setServices(services);
148 Resource resource1 = new Resource("resource1", ResourceType.VF);
149 Resource resource2 = new Resource("resource2", ResourceType.VFC);
150 List<Resource> resources = new ArrayList<>();
151 resources.add(resource1);
152 resources.add(resource2);
153 controlLoop1.setResources(resources);
154 controlLoop1.setPnf(pnf);
155 controlLoop1.setTrigger_policy(triggerPolicy);
156 controlLoop1.setAbatement(abatement);
158 ControlLoop controlLoop2 = new ControlLoop(controlLoop1);
160 assertEquals(controlLoop1.getControlLoopName(), controlLoop2.getControlLoopName());
161 assertEquals(controlLoop1.getVersion(), controlLoop2.getVersion());
162 assertEquals(controlLoop1.getServices(), controlLoop2.getServices());
163 assertEquals(controlLoop1.getResources(), controlLoop2.getResources());
164 assertEquals(controlLoop1.getPnf(), controlLoop2.getPnf());
165 assertEquals(controlLoop1.getTrigger_policy(), controlLoop2.getTrigger_policy());
166 assertEquals(controlLoop1.getAbatement(), controlLoop2.getAbatement());
168 assertTrue(controlLoop1.equals(controlLoop2));