dbec3e2d59e9c80bf66986e5ba8c470d3f75f8d2
[transportpce.git] / servicehandler / src / test / java / org / opendaylight / transportpce / servicehandler / MappingConstraintsTest.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 java.util.Arrays;
11 import org.junit.Assert;
12 import org.junit.Test;
13 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.constraints.co.routing.or.general.CoRoutingBuilder;
14 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.constraints.co.routing.or.general.GeneralBuilder;
15 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.routing.constraints.HardConstraints;
16 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.routing.constraints.HardConstraintsBuilder;
17 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.routing.constraints.SoftConstraints;
18 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.routing.constraints.SoftConstraintsBuilder;
19
20
21
22 public class MappingConstraintsTest {
23
24     private HardConstraints buildHardConstraintWithCoRouting() {
25         return new HardConstraintsBuilder()
26             .setCoRoutingOrGeneral(new CoRoutingBuilder()
27                 .setCoRouting(
28                     new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.constraints.co
29                         .routing.or.general.co.routing.CoRoutingBuilder()
30                         .setExistingService(Arrays.asList("Some existing-service"))
31                         .build())
32                 .build())
33             .setCustomerCode(Arrays.asList("Some customer-code"))
34             .build();
35     }
36
37     private HardConstraints buildHardConstraintWithGeneral() {
38         return new HardConstraintsBuilder()
39             .setCoRoutingOrGeneral(new GeneralBuilder().build())
40             .setCustomerCode(Arrays.asList("Some customer-code"))
41             .build();
42     }
43
44     private SoftConstraints buildSoftConstraintWithCoRouting() {
45         return new SoftConstraintsBuilder()
46             .setCoRoutingOrGeneral(new CoRoutingBuilder()
47                 .setCoRouting(
48                     new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.constraints.co
49                         .routing.or.general.co.routing.CoRoutingBuilder()
50                         .setExistingService(Arrays.asList("Some existing-service"))
51                         .build())
52                 .build())
53             .setCustomerCode(Arrays.asList("Some customer-code"))
54             .build();
55     }
56
57     @Test
58     public void serviceToServicePathConstraintsNullHardConstraints() {
59         MappingConstraints mappingConstraints = new MappingConstraints(null, buildSoftConstraintWithCoRouting());
60         mappingConstraints.serviceToServicePathConstarints();
61         Assert.assertNull(mappingConstraints.getServiceHardConstraints());
62         Assert.assertNull(mappingConstraints.getServicePathHardConstraints());
63     }
64
65     @Test
66     public void serviceToServicePathConstraintsNullSoftConstraints() {
67         MappingConstraints mappingConstraints = new MappingConstraints(buildHardConstraintWithGeneral(), null);
68         mappingConstraints.serviceToServicePathConstarints();
69         Assert.assertNull(mappingConstraints.getServiceSoftConstraints());
70         Assert.assertNull(mappingConstraints.getServicePathSoftConstraints());
71     }
72
73     @Test
74     public void serviceToServicePathConstraintsNullSoftConstraintsGeneral() {
75         MappingConstraints mappingConstraints = new MappingConstraints(buildHardConstraintWithCoRouting(), null);
76         mappingConstraints.serviceToServicePathConstarints();
77         Assert.assertNull(mappingConstraints.getServiceSoftConstraints());
78         Assert.assertNull(mappingConstraints.getServicePathSoftConstraints());
79     }
80
81     @Test
82     public void serviceToServicePathConstraintsNullConstraints() {
83         MappingConstraints mappingConstraints =
84             new MappingConstraints(buildHardConstraintWithCoRouting(), buildSoftConstraintWithCoRouting());
85         mappingConstraints.setServiceHardConstraints(null);
86         mappingConstraints.setServiceSoftConstraints(null);
87         mappingConstraints.serviceToServicePathConstarints();
88         Assert.assertNull(mappingConstraints.getServiceHardConstraints());
89         Assert.assertNull(mappingConstraints.getServicePathHardConstraints());
90         Assert.assertNull(mappingConstraints.getServiceSoftConstraints());
91         Assert.assertNull(mappingConstraints.getServicePathSoftConstraints());
92     }
93
94     @Test
95     public void serviceToServicePathConstraintsNotNullConstraints() {
96         HardConstraints hardConstraints = buildHardConstraintWithCoRouting();
97         SoftConstraints softConstraints = buildSoftConstraintWithCoRouting();
98         MappingConstraints mappingConstraints = new MappingConstraints(hardConstraints, softConstraints);
99         mappingConstraints.serviceToServicePathConstarints();
100         Assert.assertEquals(hardConstraints.getCoRoutingOrGeneral(), mappingConstraints
101             .getServiceHardConstraints().getCoRoutingOrGeneral());
102         Assert.assertEquals(softConstraints, mappingConstraints.getServiceSoftConstraints());
103         Assert.assertNull(mappingConstraints.getServicePathSoftConstraints());
104     }
105
106     @Test
107     public void serviceToServicePathConstraintsParameterizedConstructor() {
108         MappingConstraints mappingConstraints = new MappingConstraints(
109             new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev220118.routing
110                 .constraints.sp.HardConstraintsBuilder()
111                 .setCustomerCode(Arrays.asList("Some customer-code"))
112                 .setCoRoutingOrGeneral(
113                     new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev220118
114                         .constraints.sp.co.routing.or.general.CoRoutingBuilder()
115                         .setCoRouting(
116                             new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints
117                                 .rev220118.constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
118                                 .setExistingService(Arrays.asList("Some existing-service"))
119                                 .build())
120                         .build())
121                 .build(),
122             new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev220118.routing
123                 .constraints.sp.SoftConstraintsBuilder()
124                 .setCustomerCode(Arrays.asList("Some customer-code"))
125                 .setCoRoutingOrGeneral(
126                     new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev220118
127                         .constraints.sp.co.routing.or.general.CoRoutingBuilder()
128                         .setCoRouting(
129                             new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints
130                                 .rev220118.constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
131                                 .setExistingService(Arrays.asList("Some existing-service"))
132                                 .build())
133                         .build())
134                 .build());
135
136         mappingConstraints.serviceToServicePathConstarints();
137         Assert.assertEquals(
138             new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev220118
139                 .constraints.sp.co.routing.or.general.CoRoutingBuilder()
140                 .setCoRouting(
141                     new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev220118
142                         .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
143                         .setExistingService(Arrays.asList("Some existing-service"))
144                         .build())
145                 .build(),
146             mappingConstraints.getServicePathHardConstraints().getCoRoutingOrGeneral());
147         Assert.assertEquals(
148             new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev220118.routing
149                 .constraints.sp.SoftConstraintsBuilder()
150                 .setCustomerCode(Arrays.asList("Some customer-code"))
151                 .setCoRoutingOrGeneral(
152                     new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev220118
153                         .constraints.sp.co.routing.or.general.CoRoutingBuilder()
154                         .setCoRouting(
155                             new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints
156                                 .rev220118.constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
157                                 .setExistingService(Arrays.asList("Some existing-service"))
158                                 .build())
159                         .build())
160                 .build(),
161             mappingConstraints.getServicePathSoftConstraints());
162     }
163 }