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 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;
24 @RunWith(MockitoJUnitRunner.class)
25 public class CheckCoherencyServiceResiliencyTest {
28 public void testCheckWhenResiliencyNull() {
29 ComplianceCheckResult result = ServicehandlerServiceResiliencyCheck.check(
30 new ServiceResiliencyBuilder().setRevertive(true).build());
32 Assert.assertFalse(result.hasPassed());
33 Assert.assertEquals(ServicehandlerServiceResiliencyCheck.LOG_RESILIENCY_NULL, result.getMessage());
37 public void testCheckWhenUnprotectedResiliencyWithWrongAttributes() {
38 ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(Unprotected.VALUE);
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());
52 public void testCheckWhenUnprotectedResiliencyWithCorrectAttributes() {
53 Assert.assertTrue(ServicehandlerServiceResiliencyCheck.check(
54 new ServiceResiliencyBuilder()
55 .setResiliency(Unprotected.VALUE)
61 public void testCheckWhenUnprotectedDiverselyRoutedResiliencyWithWrongAttributes() {
62 ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(UnprotectedDiverselyRouted.VALUE);
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());
74 public void testCheckWhenUnprotectedDiverselyRoutedResiliencyWithCorrectAttributes() {
75 Assert.assertTrue(ServicehandlerServiceResiliencyCheck.check(
76 new ServiceResiliencyBuilder().setResiliency(UnprotectedDiverselyRouted.VALUE)
77 .setCoupledService(new CoupledServiceBuilder().build()).build()).hasPassed());
81 public void testCheckWhenProtectedResiliencyWithWrongAttributes() {
82 ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(Protected.VALUE);
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());
93 public void testCheckWhenProtectedResiliencyWithCorrectAttributes() {
94 Assert.assertTrue(ServicehandlerServiceResiliencyCheck.check(
95 new ServiceResiliencyBuilder()
96 .setResiliency(Protected.VALUE)
98 .setWaitToRestore(Uint64.valueOf(1))
99 .setHoldoffTime(Uint64.valueOf(1))
105 public void testCheckWhenRestorableOrExternalTriggerRestorableResiliencyWithWrongAttributes() {
106 ServiceResiliencyBuilder input = new ServiceResiliencyBuilder().setResiliency(Restorable.VALUE);
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());
115 public void testCheckWhenRestorableOrExternalTriggerRestorableResiliencyWithCorrectAttributes() {
116 Assert.assertTrue(ServicehandlerServiceResiliencyCheck.check(
117 new ServiceResiliencyBuilder()
118 .setResiliency(Restorable.VALUE)
120 .setWaitToRestore(Uint64.valueOf(1))
121 .setHoldoffTime(Uint64.valueOf(1))
122 .setPreCalculatedBackupPathNumber(Uint8.valueOf(1))