upgrade bundles to openROADM service 5.1.0
[transportpce.git] / servicehandler / src / test / java / org / opendaylight / transportpce / servicehandler / DowngradeConstraintsTest.java
1 /*
2  * Copyright © 2018 Orange, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.transportpce.servicehandler;
9
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;
19
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;
25
26 /**
27  * Class to test downgrading and updating Constraints .
28  *
29  * @author Ahmed Helmy ( ahmad.helmy@orange.com )
30  *
31  */
32 public class DowngradeConstraintsTest {
33
34
35
36     @Test
37     public void testUpdateSoftConstraintsBothCoRouting() {
38         HardConstraints initialHardConstraints = buildHardConstraintWithCoRouting();
39         SoftConstraints initialSoftConstraints = buildSoftConstraintWithCoRouting();
40         SoftConstraints generatedSoftConstraints = DowngradeConstraints.updateSoftConstraints(
41                   initialHardConstraints, initialSoftConstraints);
42
43         assertEquals(
44                 generatedSoftConstraints.getCustomerCode().get(0),
45                 initialHardConstraints.getCustomerCode().get(0));
46         assertEquals(
47                 ((CoRouting)generatedSoftConstraints.getCoRoutingOrGeneral())
48                         .getCoRouting().getExistingService().get(0),
49                 ((CoRouting)initialHardConstraints.getCoRoutingOrGeneral())
50                         .getCoRouting().getExistingService().get(0));
51     }
52
53     @Test
54     public void testUpdateSoftConstraintsBothGeneral() {
55         HardConstraints initialHardConstraints = buildHardConstraintWithGeneral();
56         SoftConstraints initialSoftConstraints = buildSoftConstraintWithGeneral();
57         SoftConstraints generatedSoftConstraints = DowngradeConstraints.updateSoftConstraints(
58                 initialHardConstraints, initialSoftConstraints);
59
60         assertEquals(
61                 generatedSoftConstraints.getCustomerCode().get(0),
62                 initialHardConstraints.getCustomerCode().get(0));
63         assertEquals(
64                 ((General)generatedSoftConstraints.getCoRoutingOrGeneral())
65                         .getDiversity().getExistingService().get(0),
66                 ((General)initialHardConstraints.getCoRoutingOrGeneral())
67                         .getDiversity().getExistingService().get(0));
68
69         assertEquals(
70                 ((General)generatedSoftConstraints.getCoRoutingOrGeneral())
71                         .getExclude().getSupportingServiceName().get(0),
72                 ((General)initialHardConstraints.getCoRoutingOrGeneral())
73                         .getExclude().getSupportingServiceName().get(0));
74         assertEquals(
75                 ((General)generatedSoftConstraints.getCoRoutingOrGeneral())
76                         .getExclude().getNodeId(),
77                 ((General)initialHardConstraints.getCoRoutingOrGeneral())
78                         .getExclude().getNodeId());
79         assertEquals(
80                 ((General)generatedSoftConstraints.getCoRoutingOrGeneral())
81                         .getInclude().getSupportingServiceName().get(0),
82                 ((General)initialHardConstraints.getCoRoutingOrGeneral())
83                         .getInclude().getSupportingServiceName().get(0));
84
85         assertEquals(
86                 ((General)generatedSoftConstraints.getCoRoutingOrGeneral())
87                         .getInclude().getNodeId(),
88                 ((General)initialHardConstraints.getCoRoutingOrGeneral())
89                         .getInclude().getNodeId());
90     }
91
92     @Test
93     public void testUpdateSoftConstraintsHardGeneralAndSoftCoRouting() {
94         HardConstraints initialHardConstraints = buildHardConstraintWithGeneral();
95         SoftConstraints initialSoftConstraints = buildSoftConstraintWithCoRouting();
96
97
98         SoftConstraints generatedSoftConstraints = DowngradeConstraints.updateSoftConstraints(
99                 initialHardConstraints, initialSoftConstraints);
100
101         assertEquals(
102                 generatedSoftConstraints.getCustomerCode().get(0),
103                 initialHardConstraints.getCustomerCode().get(0));
104         assertTrue(
105                 generatedSoftConstraints.getCoRoutingOrGeneral() instanceof  General);
106
107
108     }
109
110
111     @Test
112     public void testUpdateSoftConstraintsHardCoRoutingAndSoftCoGeneral() {
113         HardConstraints initialHardConstraints = buildHardConstraintWithCoRouting();
114         SoftConstraints initialSoftConstraints = buildSoftConstraintWithGeneral();
115
116
117         SoftConstraints generatedSoftConstraints = DowngradeConstraints.updateSoftConstraints(
118                 initialHardConstraints, initialSoftConstraints);
119
120         assertEquals(
121                 generatedSoftConstraints.getCustomerCode().get(0),
122                 initialHardConstraints.getCustomerCode().get(0));
123         assertTrue(
124                 generatedSoftConstraints.getCoRoutingOrGeneral() instanceof  CoRouting);
125
126     }
127
128     @Test
129     public void testDowngradeHardConstraintsWithHardGeneralConstraintsSuccess() {
130         HardConstraints initialHardConstraints =
131                 buildHardConstraintWithGeneral();
132
133
134         HardConstraints generatedHardConstraints =
135                 DowngradeConstraints.downgradeHardConstraints(initialHardConstraints);
136
137         assertTrue(generatedHardConstraints.getCoRoutingOrGeneral() instanceof  General);
138
139         assertNotNull((General)generatedHardConstraints.getCoRoutingOrGeneral());
140
141         assertEquals(
142                 ((General) generatedHardConstraints.getCoRoutingOrGeneral()).getLatency().getMaxLatency(),
143                 ((General) initialHardConstraints.getCoRoutingOrGeneral()).getLatency().getMaxLatency());
144
145     }
146
147     @Test
148     public void testDowngradeHardConstraintsWithNullGeneralHardConstraints() {
149         HardConstraints initialHardConstraints =
150                 buildHardConstraintWithNullGeneral();
151
152         HardConstraints generatedHardConstraints =
153                 DowngradeConstraints.downgradeHardConstraints(initialHardConstraints);
154
155         assertNull(generatedHardConstraints.getCoRoutingOrGeneral());
156
157     }
158
159     @Test
160     public void testDowngradeHardConstraintsWithHardCoRoutingConstraints() {
161         HardConstraints initialHardConstraints =
162                 buildHardConstraintWithCoRouting();
163
164         HardConstraints generatedHardConstraints =
165                 DowngradeConstraints.downgradeHardConstraints(initialHardConstraints);
166
167         assertNull(generatedHardConstraints.getCoRoutingOrGeneral());
168
169     }
170
171
172     @Test
173     public void testConvertToSoftConstraintsFromGeneralHardSuccess() {
174         HardConstraints initialHardConstraints = buildHardConstraintWithGeneral();
175
176
177         SoftConstraints generatedSoftConstraints =
178                 DowngradeConstraints.convertToSoftConstraints(initialHardConstraints);
179
180         assertEquals(
181                 generatedSoftConstraints.getCustomerCode().get(0),
182                 initialHardConstraints.getCustomerCode().get(0));
183         assertTrue(
184                 generatedSoftConstraints.getCoRoutingOrGeneral() instanceof  General);
185
186         assertEquals(
187                 ((General)generatedSoftConstraints.getCoRoutingOrGeneral())
188                         .getDiversity().getExistingService().get(0),
189                 ((General)initialHardConstraints.getCoRoutingOrGeneral())
190                         .getDiversity().getExistingService().get(0));
191
192     }
193
194     @Test
195     public void testConvertToSoftConstraintsFromCoRoutingHardSuccess() {
196         HardConstraints initialHardConstraints = buildHardConstraintWithCoRouting();
197
198
199         SoftConstraints generatedSoftConstraints =
200                 DowngradeConstraints.convertToSoftConstraints(initialHardConstraints);
201
202         assertEquals(
203                 generatedSoftConstraints.getCustomerCode().get(0),
204                 initialHardConstraints.getCustomerCode().get(0));
205         assertTrue(
206                 generatedSoftConstraints.getCoRoutingOrGeneral() instanceof  CoRouting);
207
208         assertEquals(
209                 ((CoRouting)generatedSoftConstraints.getCoRoutingOrGeneral())
210                         .getCoRouting().getExistingService().get(0),
211                 ((CoRouting)initialHardConstraints.getCoRoutingOrGeneral())
212                         .getCoRouting().getExistingService().get(0));
213
214     }
215
216     @Test
217     public void testConvertToSoftConstraintsFromHardNull() {
218         HardConstraints initialHardConstraints = buildHardConstraintWithNullGeneral();
219
220         SoftConstraints generatedSoftConstraints =
221                 DowngradeConstraints.convertToSoftConstraints(initialHardConstraints);
222
223         assertNull(generatedSoftConstraints.getCoRoutingOrGeneral());
224
225     }
226
227 }