Adapt TransportPCE code to Chlorine
[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 org.junit.Assert;
12 import org.junit.Test;
13 import org.junit.runner.RunWith;
14 import org.mockito.junit.MockitoJUnitRunner;
15 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.Protected;
16 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.Restorable;
17 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.Unprotected;
18 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.UnprotectedDiverselyRouted;
19 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.resiliency.ServiceResiliencyBuilder;
20 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.resiliency.service.resiliency.CoupledServiceBuilder;
21 import org.opendaylight.yangtools.yang.common.Uint64;
22 import org.opendaylight.yangtools.yang.common.Uint8;
23
24 @RunWith(MockitoJUnitRunner.class)
25 public class CheckCoherencyServiceResiliencyTest {
26
27     @Test
28     public void testCheckWhenResiliencyNull() {
29         ComplianceCheckResult result = ServicehandlerServiceResiliencyCheck.check(
30                 new ServiceResiliencyBuilder().setRevertive(true).build());
31
32         Assert.assertFalse(result.hasPassed());
33         Assert.assertEquals(ServicehandlerServiceResiliencyCheck.LOG_RESILIENCY_NULL, result.getMessage());
34     }
35
36     @Test
37     public void testCheckWhenUnprotectedResiliencyWithWrongAttributes() {
38         ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(Unprotected.VALUE);
39
40         Assert.assertFalse(ServicehandlerServiceResiliencyCheck.check(input.setRevertive(true).build()).hasPassed());
41         Assert.assertFalse(ServicehandlerServiceResiliencyCheck.check(
42                 input.setWaitToRestore(Uint64.valueOf(1)).build()).hasPassed());
43         Assert.assertFalse(ServicehandlerServiceResiliencyCheck.check(
44                 input.setHoldoffTime(Uint64.valueOf(1)).build()).hasPassed());
45         Assert.assertFalse(ServicehandlerServiceResiliencyCheck.check(
46                 input.setPreCalculatedBackupPathNumber(Uint8.valueOf(1)).build()).hasPassed());
47         Assert.assertFalse(ServicehandlerServiceResiliencyCheck.check(
48                 input.setCoupledService(new CoupledServiceBuilder().build()).build()).hasPassed());
49     }
50
51     @Test
52     public void testCheckWhenUnprotectedResiliencyWithCorrectAttributes() {
53         Assert.assertTrue(ServicehandlerServiceResiliencyCheck.check(
54                 new ServiceResiliencyBuilder()
55                         .setResiliency(Unprotected.VALUE)
56                         .build())
57                 .hasPassed());
58     }
59
60     @Test
61     public void testCheckWhenUnprotectedDiverselyRoutedResiliencyWithWrongAttributes() {
62         ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(UnprotectedDiverselyRouted.VALUE);
63
64         Assert.assertFalse(ServicehandlerServiceResiliencyCheck.check(input.setRevertive(true).build()).hasPassed());
65         Assert.assertFalse(ServicehandlerServiceResiliencyCheck.check(
66                 input.setWaitToRestore(Uint64.valueOf(1)).build()).hasPassed());
67         Assert.assertFalse(ServicehandlerServiceResiliencyCheck.check(
68                 input.setHoldoffTime(Uint64.valueOf(1)).build()).hasPassed());
69         Assert.assertFalse(ServicehandlerServiceResiliencyCheck.check(
70                 input.setPreCalculatedBackupPathNumber(Uint8.valueOf(1)).build()).hasPassed());
71     }
72
73     @Test
74     public void testCheckWhenUnprotectedDiverselyRoutedResiliencyWithCorrectAttributes() {
75         Assert.assertTrue(ServicehandlerServiceResiliencyCheck.check(
76                 new ServiceResiliencyBuilder().setResiliency(UnprotectedDiverselyRouted.VALUE)
77                         .setCoupledService(new CoupledServiceBuilder().build()).build()).hasPassed());
78     }
79
80     @Test
81     public void testCheckWhenProtectedResiliencyWithWrongAttributes() {
82         ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(Protected.VALUE);
83
84         Assert.assertFalse(ServicehandlerServiceResiliencyCheck.check(
85                 input.setWaitToRestore(Uint64.valueOf(1)).setRevertive(false).build()).hasPassed());
86         Assert.assertFalse(ServicehandlerServiceResiliencyCheck.check(
87                 input.setPreCalculatedBackupPathNumber(Uint8.valueOf(1)).build()).hasPassed());
88         Assert.assertFalse(ServicehandlerServiceResiliencyCheck.check(
89                 input.setCoupledService(new CoupledServiceBuilder().build()).build()).hasPassed());
90     }
91
92     @Test
93     public void testCheckWhenProtectedResiliencyWithCorrectAttributes() {
94         Assert.assertTrue(ServicehandlerServiceResiliencyCheck.check(
95                 new ServiceResiliencyBuilder()
96                         .setResiliency(Protected.VALUE)
97                         .setRevertive(true)
98                         .setWaitToRestore(Uint64.valueOf(1))
99                         .setHoldoffTime(Uint64.valueOf(1))
100                         .build())
101                 .hasPassed());
102     }
103
104     @Test
105     public void testCheckWhenRestorableOrExternalTriggerRestorableResiliencyWithWrongAttributes() {
106         ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(Restorable.VALUE);
107
108         Assert.assertFalse(ServicehandlerServiceResiliencyCheck.check(
109                 input.setWaitToRestore(Uint64.valueOf(1)).setRevertive(false).build()).hasPassed());
110         Assert.assertFalse(ServicehandlerServiceResiliencyCheck.check(
111                 input.setCoupledService(new CoupledServiceBuilder().build()).build()).hasPassed());
112     }
113
114     @Test
115     public void testCheckWhenRestorableOrExternalTriggerRestorableResiliencyWithCorrectAttributes() {
116         Assert.assertTrue(ServicehandlerServiceResiliencyCheck.check(
117                 new ServiceResiliencyBuilder()
118                         .setResiliency(Restorable.VALUE)
119                         .setRevertive(true)
120                         .setWaitToRestore(Uint64.valueOf(1))
121                         .setHoldoffTime(Uint64.valueOf(1))
122                         .setPreCalculatedBackupPathNumber(Uint8.valueOf(1))
123                         .build())
124                 .hasPassed());
125     }
126 }