2 * Copyright © 2022 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
9 package org.opendaylight.transportpce.servicehandler.validation.checks;
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;
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.rev211210.Protected;
19 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.Restorable;
20 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.Unprotected;
21 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.UnprotectedDiverselyRouted;
22 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.resiliency.ServiceResiliencyBuilder;
23 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.resiliency.service.resiliency.CoupledServiceBuilder;
24 import org.opendaylight.yangtools.yang.common.Uint64;
25 import org.opendaylight.yangtools.yang.common.Uint8;
27 @ExtendWith(MockitoExtension.class)
28 public class CheckCoherencyServiceResiliencyTest {
31 void testCheckWhenResiliencyNull() {
32 ComplianceCheckResult result = ServicehandlerServiceResiliencyCheck
33 .check(new ServiceResiliencyBuilder().setRevertive(true).build());
35 assertFalse(result.hasPassed());
36 assertEquals(ServicehandlerServiceResiliencyCheck.LOG_RESILIENCY_NULL, result.getMessage());
40 void testCheckWhenUnprotectedResiliencyWithWrongAttributes() {
41 ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(Unprotected.VALUE);
43 assertFalse(ServicehandlerServiceResiliencyCheck.check(input.setRevertive(true).build()).hasPassed());
44 assertFalse(ServicehandlerServiceResiliencyCheck
45 .check(input.setWaitToRestore(Uint64.valueOf(1)).build())
47 assertFalse(ServicehandlerServiceResiliencyCheck
48 .check(input.setHoldoffTime(Uint64.valueOf(1)).build())
50 assertFalse(ServicehandlerServiceResiliencyCheck
51 .check(input.setPreCalculatedBackupPathNumber(Uint8.valueOf(1)).build())
53 assertFalse(ServicehandlerServiceResiliencyCheck
54 .check(input.setCoupledService(new CoupledServiceBuilder().build()).build())
59 void testCheckWhenUnprotectedResiliencyWithCorrectAttributes() {
60 assertTrue(ServicehandlerServiceResiliencyCheck
61 .check(new ServiceResiliencyBuilder().setResiliency(Unprotected.VALUE).build())
66 void testCheckWhenUnprotectedDiverselyRoutedResiliencyWithWrongAttributes() {
67 ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(UnprotectedDiverselyRouted.VALUE);
69 assertFalse(ServicehandlerServiceResiliencyCheck.check(input.setRevertive(true).build()).hasPassed());
70 assertFalse(ServicehandlerServiceResiliencyCheck
71 .check(input.setWaitToRestore(Uint64.valueOf(1)).build())
73 assertFalse(ServicehandlerServiceResiliencyCheck
74 .check(input.setHoldoffTime(Uint64.valueOf(1)).build())
76 assertFalse(ServicehandlerServiceResiliencyCheck
77 .check(input.setPreCalculatedBackupPathNumber(Uint8.valueOf(1)).build())
82 void testCheckWhenUnprotectedDiverselyRoutedResiliencyWithCorrectAttributes() {
83 assertTrue(ServicehandlerServiceResiliencyCheck
84 .check(new ServiceResiliencyBuilder()
85 .setResiliency(UnprotectedDiverselyRouted.VALUE)
86 .setCoupledService(new CoupledServiceBuilder().build())
92 void testCheckWhenProtectedResiliencyWithWrongAttributes() {
93 ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(Protected.VALUE);
95 assertFalse(ServicehandlerServiceResiliencyCheck
96 .check(input.setWaitToRestore(Uint64.valueOf(1)).setRevertive(false).build())
98 assertFalse(ServicehandlerServiceResiliencyCheck
99 .check(input.setPreCalculatedBackupPathNumber(Uint8.valueOf(1)).build())
101 assertFalse(ServicehandlerServiceResiliencyCheck
102 .check(input.setCoupledService(new CoupledServiceBuilder().build()).build())
107 void testCheckWhenProtectedResiliencyWithCorrectAttributes() {
108 assertTrue(ServicehandlerServiceResiliencyCheck
109 .check(new ServiceResiliencyBuilder()
110 .setResiliency(Protected.VALUE)
112 .setWaitToRestore(Uint64.valueOf(1))
113 .setHoldoffTime(Uint64.valueOf(1))
119 void testCheckWhenRestorableOrExternalTriggerRestorableResiliencyWithWrongAttributes() {
120 ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(Restorable.VALUE);
122 assertFalse(ServicehandlerServiceResiliencyCheck
123 .check(input.setWaitToRestore(Uint64.valueOf(1)).setRevertive(false).build())
125 assertFalse(ServicehandlerServiceResiliencyCheck
126 .check(input.setCoupledService(new CoupledServiceBuilder().build()).build())
131 void testCheckWhenRestorableOrExternalTriggerRestorableResiliencyWithCorrectAttributes() {
132 assertTrue(ServicehandlerServiceResiliencyCheck
133 .check(new ServiceResiliencyBuilder()
134 .setResiliency(Restorable.VALUE)
136 .setWaitToRestore(Uint64.valueOf(1))
137 .setHoldoffTime(Uint64.valueOf(1))
138 .setPreCalculatedBackupPathNumber(Uint8.valueOf(1))