Junit tests for network model
[transportpce.git] / networkmodel / src / test / java / org / opendaylight / transportpce / networkmodel / util / test / NetworkmodelTestUtil.java
1 /*
2  * Copyright © 2020 Orange Labs, 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 package org.opendaylight.transportpce.networkmodel.util.test;
9
10
11 import java.util.ArrayList;
12 import java.util.List;
13 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.Nodes;
14 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.NodesBuilder;
15 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.nodes.Mapping;
16 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.nodes.MappingBuilder;
17 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.nodes.NodeInfoBuilder;
18 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes;
19 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.PortQual;
20 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.XpdrNodeTypes;
21 import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181019.If100GE;
22 import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181019.IfOCH;
23 import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181019.SupportedIfCapability;
24 import org.slf4j.Logger;
25 import org.slf4j.LoggerFactory;
26
27 public final class NetworkmodelTestUtil {
28
29     private static final Logger LOG = LoggerFactory.getLogger(NetworkmodelTestUtil.class);
30
31     public static Nodes createMappingForRdm(String nodeId, String clli, int degNb, int srgNb) {
32         List<Mapping> mappingList = new ArrayList<>();
33         createDegreeMappings(mappingList, 1, degNb);
34         createSrgMappings(mappingList, 1, srgNb);
35         Nodes mappingNode = new NodesBuilder()
36             .setNodeId(nodeId)
37             .setNodeInfo(new NodeInfoBuilder().setNodeType(NodeTypes.Rdm).setNodeClli(clli).build())
38             .setMapping(mappingList)
39             .build();
40         return mappingNode;
41     }
42
43     public static Nodes createMappingForXpdr(String nodeId, String clli, int networkPortNb, int clientPortNb,
44         XpdrNodeTypes xpdrNodeType) {
45         List<Mapping> mappingList = new ArrayList<>();
46         createXpdrMappings(mappingList, networkPortNb, clientPortNb, xpdrNodeType);
47         Nodes mappingNode = new NodesBuilder()
48             .setNodeId(nodeId)
49             .setNodeInfo(new NodeInfoBuilder().setNodeType(NodeTypes.Xpdr).setNodeClli(clli).build())
50             .setMapping(mappingList)
51             .build();
52         LOG.info("mapping = {}", mappingNode.toString());
53         return mappingNode;
54     }
55
56     private static List<Mapping> createDegreeMappings(List<Mapping> mappingList, int degNbStart, int degNbStop) {
57         for (int i = degNbStart; i <= degNbStop; i++) {
58             Mapping mapping = new MappingBuilder()
59                 .setLogicalConnectionPoint("DEG" + i + "-TTP-TXRX")
60                 .setPortDirection("bidirectional")
61                 .setSupportingPort("L1")
62                 .setSupportingCircuitPackName(i + "/0")
63                 .setSupportingOts("OTS-DEG" + i + "-TTP-TXRX")
64                 .setSupportingOms("OMS-DEG" + i + "-TTP-TXRX")
65                 .build();
66             mappingList.add(mapping);
67         }
68         return mappingList;
69     }
70
71     private static List<Mapping> createSrgMappings(List<Mapping> mappingList, int srgNbStart, int srgNbStop) {
72         for (int i = srgNbStart; i <= srgNbStop; i++) {
73             for (int j = 1; j <= 4; j++) {
74                 Mapping mapping = new MappingBuilder()
75                     .setLogicalConnectionPoint("SRG" + i + "-PP" + j + "-TXRX")
76                     .setPortDirection("bidirectional")
77                     .setSupportingPort("C" + j)
78                     .setSupportingCircuitPackName(3 + i + "/0")
79                     .build();
80                 mappingList.add(mapping);
81             }
82         }
83         return mappingList;
84     }
85
86     private static List<Mapping> createXpdrMappings(List<Mapping> mappingList, int networkPortNb, int clientPortNb,
87         XpdrNodeTypes xpdrNodeType) {
88         for (int i = 1; i <= networkPortNb; i++) {
89             List<Class<? extends SupportedIfCapability>> supportedIntf = new ArrayList<>();
90             supportedIntf.add(IfOCH.class);
91             MappingBuilder mappingBldr = new MappingBuilder()
92                 .setLogicalConnectionPoint("XPDR1-NETWORK" + i)
93                 .setPortDirection("bidirectional")
94                 .setSupportingPort("1")
95                 .setSupportedInterfaceCapability(supportedIntf)
96                 .setConnectionMapLcp("XPDR1-CLIENT" + i)
97                 .setPortQual(PortQual.XpdrNetwork.getName())
98                 .setSupportingCircuitPackName("1/0/" + i + "-PLUG-NET");
99             if (xpdrNodeType != null) {
100                 mappingBldr.setXponderType(xpdrNodeType);
101             }
102             mappingList.add(mappingBldr.build());
103         }
104         for (int i = 1; i <= clientPortNb; i++) {
105             List<Class<? extends SupportedIfCapability>> supportedIntf = new ArrayList<>();
106             supportedIntf.add(If100GE.class);
107             Mapping mapping = new MappingBuilder()
108                 .setLogicalConnectionPoint("XPDR1-CLIENT" + i)
109                 .setPortDirection("bidirectional")
110                 .setSupportingPort("C1")
111                 .setSupportedInterfaceCapability(supportedIntf)
112                 .setConnectionMapLcp("XPDR1-NETWORK" + i)
113                 .setPortQual(PortQual.XpdrClient.getName())
114                 .setSupportingCircuitPackName("1/0/" + i + "-PLUG-CLIENT")
115                 .build();
116             mappingList.add(mapping);
117         }
118         return mappingList;
119     }
120
121     private NetworkmodelTestUtil() {
122     }
123 }