2 * Copyright © 2018 Orange, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.transportpce.servicehandler;
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertNotNull;
12 import static org.junit.Assert.assertNull;
13 import static org.junit.Assert.assertTrue;
14 import static org.opendaylight.transportpce.servicehandler.utils.ConstraintsUtils.buildHardConstraintWithCoRouting;
15 import static org.opendaylight.transportpce.servicehandler.utils.ConstraintsUtils.buildHardConstraintWithGeneral;
16 import static org.opendaylight.transportpce.servicehandler.utils.ConstraintsUtils.buildHardConstraintWithNullGeneral;
17 import static org.opendaylight.transportpce.servicehandler.utils.ConstraintsUtils.buildSoftConstraintWithCoRouting;
18 import static org.opendaylight.transportpce.servicehandler.utils.ConstraintsUtils.buildSoftConstraintWithGeneral;
20 import org.junit.Test;
21 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.constraints.co.routing.or.general.CoRouting;
22 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.constraints.co.routing.or.general.General;
23 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.routing.constraints.HardConstraints;
24 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.routing.constraints.SoftConstraints;
27 * Class to test downgrading and updating Constraints .
29 * @author Ahmed Helmy ( ahmad.helmy@orange.com )
32 public class DowngradeConstraintsTest {
37 public void testUpdateSoftConstraintsBothCoRouting() {
38 HardConstraints initialHardConstraints = buildHardConstraintWithCoRouting();
39 SoftConstraints initialSoftConstraints = buildSoftConstraintWithCoRouting();
40 SoftConstraints generatedSoftConstraints = DowngradeConstraints.updateSoftConstraints(
41 initialHardConstraints, initialSoftConstraints);
44 generatedSoftConstraints.getCustomerCode().get(0),
45 initialHardConstraints.getCustomerCode().get(0));
47 ((CoRouting)generatedSoftConstraints.getCoRoutingOrGeneral())
48 .getCoRouting().getExistingService().get(0),
49 ((CoRouting)initialHardConstraints.getCoRoutingOrGeneral())
50 .getCoRouting().getExistingService().get(0));
54 public void testUpdateSoftConstraintsBothGeneral() {
55 HardConstraints initialHardConstraints = buildHardConstraintWithGeneral();
56 SoftConstraints initialSoftConstraints = buildSoftConstraintWithGeneral();
57 SoftConstraints generatedSoftConstraints = DowngradeConstraints.updateSoftConstraints(
58 initialHardConstraints, initialSoftConstraints);
61 generatedSoftConstraints.getCustomerCode().get(0),
62 initialHardConstraints.getCustomerCode().get(0));
64 ((General)generatedSoftConstraints.getCoRoutingOrGeneral())
65 .getDiversity().getExistingService().get(0),
66 ((General)initialHardConstraints.getCoRoutingOrGeneral())
67 .getDiversity().getExistingService().get(0));
70 ((General)generatedSoftConstraints.getCoRoutingOrGeneral())
71 .getExclude().getSupportingServiceName().get(0),
72 ((General)initialHardConstraints.getCoRoutingOrGeneral())
73 .getExclude().getSupportingServiceName().get(0));
75 ((General)generatedSoftConstraints.getCoRoutingOrGeneral())
76 .getExclude().getNodeId(),
77 ((General)initialHardConstraints.getCoRoutingOrGeneral())
78 .getExclude().getNodeId());
80 ((General)generatedSoftConstraints.getCoRoutingOrGeneral())
81 .getInclude().getSupportingServiceName().get(0),
82 ((General)initialHardConstraints.getCoRoutingOrGeneral())
83 .getInclude().getSupportingServiceName().get(0));
86 ((General)generatedSoftConstraints.getCoRoutingOrGeneral())
87 .getInclude().getNodeId(),
88 ((General)initialHardConstraints.getCoRoutingOrGeneral())
89 .getInclude().getNodeId());
93 public void testUpdateSoftConstraintsHardGeneralAndSoftCoRouting() {
94 HardConstraints initialHardConstraints = buildHardConstraintWithGeneral();
95 SoftConstraints initialSoftConstraints = buildSoftConstraintWithCoRouting();
98 SoftConstraints generatedSoftConstraints = DowngradeConstraints.updateSoftConstraints(
99 initialHardConstraints, initialSoftConstraints);
102 generatedSoftConstraints.getCustomerCode().get(0),
103 initialHardConstraints.getCustomerCode().get(0));
105 generatedSoftConstraints.getCoRoutingOrGeneral() instanceof General);
112 public void testUpdateSoftConstraintsHardCoRoutingAndSoftCoGeneral() {
113 HardConstraints initialHardConstraints = buildHardConstraintWithCoRouting();
114 SoftConstraints initialSoftConstraints = buildSoftConstraintWithGeneral();
117 SoftConstraints generatedSoftConstraints = DowngradeConstraints.updateSoftConstraints(
118 initialHardConstraints, initialSoftConstraints);
121 generatedSoftConstraints.getCustomerCode().get(0),
122 initialHardConstraints.getCustomerCode().get(0));
124 generatedSoftConstraints.getCoRoutingOrGeneral() instanceof CoRouting);
129 public void testDowngradeHardConstraintsWithHardGeneralConstraintsSuccess() {
130 HardConstraints initialHardConstraints =
131 buildHardConstraintWithGeneral();
134 HardConstraints generatedHardConstraints =
135 DowngradeConstraints.downgradeHardConstraints(initialHardConstraints);
137 assertTrue(generatedHardConstraints.getCoRoutingOrGeneral() instanceof General);
139 assertNotNull((General)generatedHardConstraints.getCoRoutingOrGeneral());
142 ((General) generatedHardConstraints.getCoRoutingOrGeneral()).getLatency().getMaxLatency(),
143 ((General) initialHardConstraints.getCoRoutingOrGeneral()).getLatency().getMaxLatency());
148 public void testDowngradeHardConstraintsWithNullGeneralHardConstraints() {
149 HardConstraints initialHardConstraints =
150 buildHardConstraintWithNullGeneral();
152 HardConstraints generatedHardConstraints =
153 DowngradeConstraints.downgradeHardConstraints(initialHardConstraints);
155 assertNull(generatedHardConstraints.getCoRoutingOrGeneral());
160 public void testDowngradeHardConstraintsWithHardCoRoutingConstraints() {
161 HardConstraints initialHardConstraints =
162 buildHardConstraintWithCoRouting();
164 HardConstraints generatedHardConstraints =
165 DowngradeConstraints.downgradeHardConstraints(initialHardConstraints);
167 assertNull(generatedHardConstraints.getCoRoutingOrGeneral());
173 public void testConvertToSoftConstraintsFromGeneralHardSuccess() {
174 HardConstraints initialHardConstraints = buildHardConstraintWithGeneral();
177 SoftConstraints generatedSoftConstraints =
178 DowngradeConstraints.convertToSoftConstraints(initialHardConstraints);
181 generatedSoftConstraints.getCustomerCode().get(0),
182 initialHardConstraints.getCustomerCode().get(0));
184 generatedSoftConstraints.getCoRoutingOrGeneral() instanceof General);
187 ((General)generatedSoftConstraints.getCoRoutingOrGeneral())
188 .getDiversity().getExistingService().get(0),
189 ((General)initialHardConstraints.getCoRoutingOrGeneral())
190 .getDiversity().getExistingService().get(0));
195 public void testConvertToSoftConstraintsFromCoRoutingHardSuccess() {
196 HardConstraints initialHardConstraints = buildHardConstraintWithCoRouting();
199 SoftConstraints generatedSoftConstraints =
200 DowngradeConstraints.convertToSoftConstraints(initialHardConstraints);
203 generatedSoftConstraints.getCustomerCode().get(0),
204 initialHardConstraints.getCustomerCode().get(0));
206 generatedSoftConstraints.getCoRoutingOrGeneral() instanceof CoRouting);
209 ((CoRouting)generatedSoftConstraints.getCoRoutingOrGeneral())
210 .getCoRouting().getExistingService().get(0),
211 ((CoRouting)initialHardConstraints.getCoRoutingOrGeneral())
212 .getCoRouting().getExistingService().get(0));
217 public void testConvertToSoftConstraintsFromHardNull() {
218 HardConstraints initialHardConstraints = buildHardConstraintWithNullGeneral();
220 SoftConstraints generatedSoftConstraints =
221 DowngradeConstraints.convertToSoftConstraints(initialHardConstraints);
223 assertNull(generatedSoftConstraints.getCoRoutingOrGeneral());