Use version 13.1.0 of openroadm-service models
[transportpce.git] / servicehandler / src / test / java / org / opendaylight / transportpce / servicehandler / validation / checks / CheckCoherencyServiceResiliencyTest.java
1 /*
2  * Copyright © 2022 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
9 package org.opendaylight.transportpce.servicehandler.validation.checks;
10
11 import static org.junit.jupiter.api.Assertions.assertEquals;
12 import static org.junit.jupiter.api.Assertions.assertFalse;
13 import static org.junit.jupiter.api.Assertions.assertTrue;
14
15 import org.junit.jupiter.api.Test;
16 import org.junit.jupiter.api.extension.ExtendWith;
17 import org.mockito.junit.jupiter.MockitoExtension;
18 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.Protected;
19 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.Restorable;
20 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.Unprotected;
21 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.UnprotectedDiverselyRouted;
22 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.resiliency.ServiceResiliencyBuilder;
23 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.resiliency.service.resiliency.CoupledServiceBuilder;
24 import org.opendaylight.yangtools.yang.common.Uint64;
25 import org.opendaylight.yangtools.yang.common.Uint8;
26
27 @ExtendWith(MockitoExtension.class)
28 public class CheckCoherencyServiceResiliencyTest {
29
30     @Test
31     void testCheckWhenResiliencyNull() {
32         ComplianceCheckResult result = ServicehandlerServiceResiliencyCheck
33             .check(new ServiceResiliencyBuilder().setRevertive(true).build());
34
35         assertFalse(result.hasPassed());
36         assertEquals(ServicehandlerServiceResiliencyCheck.LOG_RESILIENCY_NULL, result.getMessage());
37     }
38
39     @Test
40     void testCheckWhenUnprotectedResiliencyWithWrongAttributes() {
41         ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(Unprotected.VALUE);
42
43         assertFalse(ServicehandlerServiceResiliencyCheck.check(input.setRevertive(true).build()).hasPassed());
44         assertFalse(ServicehandlerServiceResiliencyCheck
45             .check(input.setWaitToRestore(Uint64.valueOf(1)).build())
46             .hasPassed());
47         assertFalse(ServicehandlerServiceResiliencyCheck
48             .check(input.setHoldoffTime(Uint64.valueOf(1)).build())
49             .hasPassed());
50         assertFalse(ServicehandlerServiceResiliencyCheck
51             .check(input.setPreCalculatedBackupPathNumber(Uint8.valueOf(1)).build())
52             .hasPassed());
53         assertFalse(ServicehandlerServiceResiliencyCheck
54             .check(input.setCoupledService(new CoupledServiceBuilder().build()).build())
55             .hasPassed());
56     }
57
58     @Test
59     void testCheckWhenUnprotectedResiliencyWithCorrectAttributes() {
60         assertTrue(ServicehandlerServiceResiliencyCheck
61             .check(new ServiceResiliencyBuilder().setResiliency(Unprotected.VALUE).build())
62             .hasPassed());
63     }
64
65     @Test
66     void testCheckWhenUnprotectedDiverselyRoutedResiliencyWithWrongAttributes() {
67         ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(UnprotectedDiverselyRouted.VALUE);
68
69         assertFalse(ServicehandlerServiceResiliencyCheck.check(input.setRevertive(true).build()).hasPassed());
70         assertFalse(ServicehandlerServiceResiliencyCheck
71             .check(input.setWaitToRestore(Uint64.valueOf(1)).build())
72             .hasPassed());
73         assertFalse(ServicehandlerServiceResiliencyCheck
74             .check(input.setHoldoffTime(Uint64.valueOf(1)).build())
75             .hasPassed());
76         assertFalse(ServicehandlerServiceResiliencyCheck
77             .check(input.setPreCalculatedBackupPathNumber(Uint8.valueOf(1)).build())
78             .hasPassed());
79     }
80
81     @Test
82     void testCheckWhenUnprotectedDiverselyRoutedResiliencyWithCorrectAttributes() {
83         assertTrue(ServicehandlerServiceResiliencyCheck
84             .check(new ServiceResiliencyBuilder()
85                 .setResiliency(UnprotectedDiverselyRouted.VALUE)
86                 .setCoupledService(new CoupledServiceBuilder().build())
87                 .build())
88             .hasPassed());
89     }
90
91     @Test
92     void testCheckWhenProtectedResiliencyWithWrongAttributes() {
93         ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(Protected.VALUE);
94
95         assertFalse(ServicehandlerServiceResiliencyCheck
96             .check(input.setWaitToRestore(Uint64.valueOf(1)).setRevertive(false).build())
97             .hasPassed());
98         assertFalse(ServicehandlerServiceResiliencyCheck
99             .check(input.setPreCalculatedBackupPathNumber(Uint8.valueOf(1)).build())
100             .hasPassed());
101         assertFalse(ServicehandlerServiceResiliencyCheck
102             .check(input.setCoupledService(new CoupledServiceBuilder().build()).build())
103             .hasPassed());
104     }
105
106     @Test
107     void testCheckWhenProtectedResiliencyWithCorrectAttributes() {
108         assertTrue(ServicehandlerServiceResiliencyCheck
109             .check(new ServiceResiliencyBuilder()
110                 .setResiliency(Protected.VALUE)
111                 .setRevertive(true)
112                 .setWaitToRestore(Uint64.valueOf(1))
113                 .setHoldoffTime(Uint64.valueOf(1))
114                 .build())
115             .hasPassed());
116     }
117
118     @Test
119     void testCheckWhenRestorableOrExternalTriggerRestorableResiliencyWithWrongAttributes() {
120         ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(Restorable.VALUE);
121
122         assertFalse(ServicehandlerServiceResiliencyCheck
123             .check(input.setWaitToRestore(Uint64.valueOf(1)).setRevertive(false).build())
124             .hasPassed());
125         assertFalse(ServicehandlerServiceResiliencyCheck
126             .check(input.setCoupledService(new CoupledServiceBuilder().build()).build())
127             .hasPassed());
128     }
129
130     @Test
131     void testCheckWhenRestorableOrExternalTriggerRestorableResiliencyWithCorrectAttributes() {
132         assertTrue(ServicehandlerServiceResiliencyCheck
133             .check(new ServiceResiliencyBuilder()
134                 .setResiliency(Restorable.VALUE)
135                 .setRevertive(true)
136                 .setWaitToRestore(Uint64.valueOf(1))
137                 .setHoldoffTime(Uint64.valueOf(1))
138                 .setPreCalculatedBackupPathNumber(Uint8.valueOf(1))
139                 .build())
140             .hasPassed());
141     }
142 }