2 * Copyright © 2019 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
8 package org.opendaylight.transportpce.renderer.openroadminterface;
10 import static org.junit.jupiter.api.Assertions.assertEquals;
11 import static org.junit.jupiter.api.Assertions.assertNotNull;
12 import static org.junit.jupiter.api.Assertions.assertNull;
13 import static org.junit.jupiter.api.Assertions.assertThrows;
14 import static org.mockito.ArgumentMatchers.any;
15 import static org.mockito.ArgumentMatchers.eq;
16 import static org.mockito.Mockito.mock;
17 import static org.mockito.Mockito.spy;
18 import static org.mockito.Mockito.when;
20 import java.math.BigDecimal;
21 import java.util.Arrays;
22 import org.junit.jupiter.api.BeforeEach;
23 import org.junit.jupiter.api.Test;
24 import org.opendaylight.transportpce.common.fixedflex.SpectrumInformation;
25 import org.opendaylight.transportpce.common.mapping.PortMapping;
26 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
27 import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces;
28 import org.opendaylight.transportpce.test.AbstractTest;
29 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220922.mapping.MappingBuilder;
30 import org.opendaylight.yangtools.yang.common.Uint32;
32 public class OpenRoadMInterface221Test extends AbstractTest {
34 private final PortMapping portMapping = mock(PortMapping.class);
35 private OpenRoadmInterface221 openRoadMInterface221;
36 private final String nodeId = "node1";
40 OpenRoadmInterfaces openRoadmInterfaces = spy(OpenRoadmInterfaces.class);
41 this.openRoadMInterface221 = new OpenRoadmInterface221(portMapping, openRoadmInterfaces);
45 void testCreateOpenRoadmEthInterface() throws OpenRoadmInterfaceException {
47 String logicalConnPoint = "logicalConnPoint";
48 when(portMapping.getMapping(nodeId, logicalConnPoint))
49 .thenReturn(new MappingBuilder().setSupportingCircuitPackName("circit-pack").setSupportingPort("port")
50 .setLogicalConnectionPoint(logicalConnPoint).build());
51 assertEquals(openRoadMInterface221.createOpenRoadmEthInterface(nodeId, logicalConnPoint),
52 logicalConnPoint + "-ETHERNET");
56 void testCreateOpenRoadmEthInterfaceThrowsExcpetion() throws OpenRoadmInterfaceException {
57 when(portMapping.getMapping(eq(nodeId), any())).thenReturn(null);
58 Exception exception = assertThrows(OpenRoadmInterfaceException.class, () -> {
59 openRoadMInterface221.createOpenRoadmEthInterface(nodeId, "logicalConnPoint");
62 "Unable to get mapping from PortMapping for node node1 and logical connection port logicalConnPoint",
63 exception.getMessage());
67 void testCreateFlexOCH() throws OpenRoadmInterfaceException {
68 String logicalConnPoint = "logicalConnPoint";
69 when(portMapping.getMapping(nodeId, logicalConnPoint))
70 .thenReturn(new MappingBuilder().setSupportingCircuitPackName("circit-pack").setSupportingPort("port")
71 .setLogicalConnectionPoint(logicalConnPoint).build());
72 SpectrumInformation spectrumInformation = new SpectrumInformation();
73 spectrumInformation.setWaveLength(Uint32.valueOf(1));
74 spectrumInformation.setLowerSpectralSlotNumber(761);
75 spectrumInformation.setHigherSpectralSlotNumber(768);
76 spectrumInformation.setCenterFrequency(BigDecimal.valueOf(195.8));
77 assertNotNull(openRoadMInterface221.createFlexOCH(nodeId, logicalConnPoint, spectrumInformation));
78 assertEquals(openRoadMInterface221.createFlexOCH(nodeId, logicalConnPoint, spectrumInformation),
79 Arrays.asList(logicalConnPoint + "-nmc-761:768"));
83 void testCreateFlexOCHReturnsMoreThanOneElement() throws OpenRoadmInterfaceException {
85 String logicalConnPoint = "logicalConnPointDEG";
86 when(portMapping.getMapping(nodeId, logicalConnPoint))
87 .thenReturn(new MappingBuilder().setSupportingCircuitPackName("circit-pack").setSupportingPort("port")
88 .setLogicalConnectionPoint(logicalConnPoint).build());
89 SpectrumInformation spectrumInformation = new SpectrumInformation();
90 spectrumInformation.setWaveLength(Uint32.valueOf(1));
91 spectrumInformation.setLowerSpectralSlotNumber(761);
92 spectrumInformation.setHigherSpectralSlotNumber(768);
93 spectrumInformation.setCenterFrequency(BigDecimal.valueOf(195.8));
94 spectrumInformation.setMinFrequency(BigDecimal.valueOf(195.775));
95 spectrumInformation.setMaxFrequency(BigDecimal.valueOf(195.825));
96 assertNotNull(openRoadMInterface221.createFlexOCH(nodeId, logicalConnPoint,spectrumInformation));
97 assertEquals(openRoadMInterface221.createFlexOCH(nodeId, logicalConnPoint, spectrumInformation),
98 Arrays.asList(logicalConnPoint + "-mc-761:768", logicalConnPoint + "-nmc-761:768"));
102 void testCreateOpenRoadmOchInterface() throws OpenRoadmInterfaceException {
103 String logicalConnPoint = "logicalConnPoint";
104 when(portMapping.getMapping(nodeId, logicalConnPoint))
105 .thenReturn(new MappingBuilder().setSupportingCircuitPackName("circit-pack").setSupportingPort("port")
106 .setLogicalConnectionPoint(logicalConnPoint).build());
107 SpectrumInformation spectrumInformation = new SpectrumInformation();
108 spectrumInformation.setWaveLength(Uint32.valueOf(1));
109 spectrumInformation.setLowerSpectralSlotNumber(761);
110 spectrumInformation.setHigherSpectralSlotNumber(768);
111 spectrumInformation.setCenterFrequency(BigDecimal.valueOf(195.8));
112 assertEquals(openRoadMInterface221.createOpenRoadmOchInterface(nodeId, logicalConnPoint,
113 spectrumInformation), logicalConnPoint + "-761:768");
117 void testCreateOpenRoadmOtu4Interface() throws OpenRoadmInterfaceException {
118 String logicalConnPoint = "logicalConnPoint";
119 String supportOchInterface = "supportOchInterface";
120 when(portMapping.getMapping(nodeId, logicalConnPoint))
121 .thenReturn(new MappingBuilder().setSupportingCircuitPackName("circit-pack").setSupportingPort("port")
122 .setLogicalConnectionPoint(logicalConnPoint).build());
124 openRoadMInterface221.createOpenRoadmOtu4Interface(nodeId, logicalConnPoint, supportOchInterface, null,
126 logicalConnPoint + "-OTU");
130 void testCreateOpenRoadmOchInterfaceName() {
131 String logicalConnPoint = "logicalConnPoint";
132 assertEquals(openRoadMInterface221.createOpenRoadmOchInterfaceName(logicalConnPoint, "761:768"),
133 logicalConnPoint + "-761:768");
137 void testCreateOpenRoadmOmsInterfaceSupportingOtsNotNull() throws OpenRoadmInterfaceException {
138 String logicalConnPoint = "logicalConnPoint";
139 String supportingOts = "supportingOts";
141 openRoadMInterface221.createOpenRoadmOmsInterface(nodeId, new MappingBuilder()
142 .setSupportingCircuitPackName("circit-pack").setSupportingPort("port")
143 .setLogicalConnectionPoint(logicalConnPoint).setSupportingOts(supportingOts).build()),
144 "OMS-" + logicalConnPoint);
148 void testCreateOpenRoadmOmsInterfaceSupportingOmsNotNullException() throws OpenRoadmInterfaceException {
149 assertNull(openRoadMInterface221.createOpenRoadmOmsInterface(nodeId, new MappingBuilder()
150 .setLogicalConnectionPoint("logicalConnPoint").build()));
154 void testCreateOpenRoadmOmsInterfaceSupportingOmsNull() throws OpenRoadmInterfaceException {
155 String supportingOts = "supportingOts";
156 String logicalConnPoint = "logicalConnPoint";
158 openRoadMInterface221.createOpenRoadmOmsInterface(nodeId, new MappingBuilder()
159 .setLogicalConnectionPoint(logicalConnPoint).setSupportingOts(supportingOts).build()),
160 "OMS-" + logicalConnPoint);