51e9dae72e1b19f166cc6c6e59fa4d30f76041e7
[ccsdk/features.git] /
1 /*
2  * ============LICENSE_START========================================================================
3  * ONAP : ccsdk feature sdnr wt
4  * =================================================================================================
5  * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
6  * =================================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
8  * in compliance with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software distributed under the License
13  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
14  * or implied. See the License for the specific language governing permissions and limitations under
15  * the License.
16  * ============LICENSE_END==========================================================================
17  */
18 package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.test;
19
20 import static org.mockito.Mockito.mock;
21 import static org.mockito.Mockito.when;
22 import java.lang.reflect.Constructor;
23 import java.util.Arrays;
24 import java.util.List;
25 import org.eclipse.jdt.annotation.NonNull;
26 import org.junit.Before;
27 import org.junit.Test;
28 import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.WrapperMicrowaveModelRev181010;
29 import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.util.ONFLayerProtocolName;
30 import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
31 import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.FaultData;
32 import org.onap.ccsdk.features.sdnr.wt.devicemanager.util.InconsistentPMDataException;
33 import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
34 import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
35 import org.opendaylight.mdsal.binding.api.DataBroker;
36 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
37 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
38 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
39 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.LpBuilder;
40 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType;
41 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwAirInterfaceDiversityPac;
42 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwAirInterfaceDiversityPacKey;
43 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwAirInterfacePac;
44 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwAirInterfacePacKey;
45 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwEthernetContainerPac;
46 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwEthernetContainerPacKey;
47 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwHybridMwStructurePac;
48 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwHybridMwStructurePacKey;
49 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwPureEthernetStructurePac;
50 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwPureEthernetStructurePacKey;
51 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwTdmContainerPac;
52 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwTdmContainerPacKey;
53 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.SeverityType;
54 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.current.problems.g.CurrentProblemList;
55 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.current.problems.g.CurrentProblemListBuilder;
56 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.historical.performance.type.g.PerformanceData;
57 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.historical.performance.type.g.PerformanceDataBuilder;
58 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.diversity.pac.AirInterfaceDiversityCurrentProblems;
59 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.diversity.pac.AirInterfaceDiversityCurrentProblemsBuilder;
60 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceConfiguration;
61 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceConfigurationBuilder;
62 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceCurrentProblems;
63 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceCurrentProblemsBuilder;
64 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceHistoricalPerformances;
65 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceHistoricalPerformancesBuilder;
66 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.ethernet.container.pac.EthernetContainerCurrentProblems;
67 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.ethernet.container.pac.EthernetContainerCurrentProblemsBuilder;
68 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.ethernet.container.pac.EthernetContainerHistoricalPerformances;
69 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.ethernet.container.pac.EthernetContainerHistoricalPerformancesBuilder;
70 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.hybrid.mw.structure.pac.HybridMwStructureCurrentProblems;
71 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.hybrid.mw.structure.pac.HybridMwStructureCurrentProblemsBuilder;
72 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.pure.ethernet.structure.pac.PureEthernetStructureCurrentProblems;
73 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.pure.ethernet.structure.pac.PureEthernetStructureCurrentProblemsBuilder;
74 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.tdm.container.pac.TdmContainerCurrentProblems;
75 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.tdm.container.pac.TdmContainerCurrentProblemsBuilder;
76 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
77 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
78
79 @SuppressWarnings("deprecation")
80 public class TestWrapperMicrowaveModelRev181010 {
81
82     NetconfBindingAccessor accessor;
83     DeviceManagerServiceProvider serviceProvider;
84     FaultData resultList;
85     UniversalId uid;
86     TransactionUtils transactionUtils;
87     DataBroker dataBroker;
88
89     InstanceIdentifier<AirInterfaceCurrentProblems> mwAirInterfaceIID;
90     @NonNull
91     AirInterfaceCurrentProblems airInterfaceCurrentProblems;
92
93     InstanceIdentifier<EthernetContainerCurrentProblems> mwEthInterfaceIID;
94     @NonNull
95     EthernetContainerCurrentProblems ethernetContainerCurrentProblems;
96
97     @Before
98     public void init() {
99         accessor = mock(NetconfBindingAccessor.class);
100         serviceProvider = mock(DeviceManagerServiceProvider.class);
101         resultList = mock(FaultData.class);
102         transactionUtils = mock(TransactionUtils.class);
103         dataBroker = mock(DataBroker.class);
104
105         uid = new UniversalId("ABCD");
106
107         mwAirInterfaceIID = InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
108                 .child(AirInterfaceCurrentProblems.class).build();
109         List<CurrentProblemList> currentProblemList =
110                 Arrays.asList(new CurrentProblemListBuilder().setProblemName("Loss of Signal")
111                         .setProblemSeverity(SeverityType.Critical).setSequenceNumber(1).setTimeStamp(null).build());
112         airInterfaceCurrentProblems =
113                 new AirInterfaceCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
114
115         mwEthInterfaceIID = InstanceIdentifier.builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(uid))
116                 .child(EthernetContainerCurrentProblems.class).build();
117         List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ethernet.container.current.problems.g.CurrentProblemList> ethCurrentProblemsList =
118                 Arrays.asList(
119                         new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ethernet.container.current.problems.g.CurrentProblemListBuilder()
120                                 .setProblemName("Link Negotiation Unsuccessful")
121                                 .setProblemSeverity(SeverityType.Critical).setSequenceNumber(1).setTimeStamp(null)
122                                 .build());
123         ethernetContainerCurrentProblems =
124                 new EthernetContainerCurrentProblemsBuilder().setCurrentProblemList(ethCurrentProblemsList).build();
125
126         NodeId nNodeId = new NodeId("nSky");
127         when(accessor.getNodeId()).thenReturn(nNodeId);
128         when(accessor.getTransactionUtils()).thenReturn(transactionUtils);
129         when(accessor.getDataBroker()).thenReturn(dataBroker);
130
131     }
132
133     @Test
134     public void testMWAirInterfaceWithProblems() {
135         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
136                 mwAirInterfaceIID)).thenReturn(airInterfaceCurrentProblems);
137
138         WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
139                 new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
140         wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.MWAIRINTERFACE, null, uid,
141                 resultList);
142     }
143
144     @Test
145     public void testMWAirInterfaceWithoProblems() {
146         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
147                 mwAirInterfaceIID)).thenReturn(null);
148
149         WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
150                 new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
151         wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.MWAIRINTERFACE, null, uid,
152                 resultList);
153     }
154
155     @Test
156     public void testEthernetContainer12WithProblems() {
157         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
158                 mwEthInterfaceIID)).thenReturn(ethernetContainerCurrentProblems);
159
160         WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
161                 new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
162         wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.ETHERNETCONTAINER12, null,
163                 uid, resultList);
164     }
165
166     @Test
167     public void testEthernetContainer12WithNoProblems() {
168         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
169                 mwEthInterfaceIID)).thenReturn(null);
170
171         WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
172                 new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
173         wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.ETHERNETCONTAINER12, null,
174                 uid, resultList);
175     }
176
177     @Test
178     public void testTdmContainer12WithProblems() throws Exception {
179         final Class<MwTdmContainerPac> clazzPac = MwTdmContainerPac.class;
180         final Class<MwTdmContainerPacKey> clazzPacKey = MwTdmContainerPacKey.class;
181         final Class<TdmContainerCurrentProblems> clazzProblems = TdmContainerCurrentProblems.class;
182
183         Constructor<MwTdmContainerPacKey> cons = clazzPacKey.getConstructor(UniversalId.class); // Avoid new()
184         InstanceIdentifier<TdmContainerCurrentProblems> mwEthInterfaceIID =
185                 InstanceIdentifier.builder(clazzPac, cons.newInstance(uid)).child(clazzProblems).build();
186
187         List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.tdm.container.current.problems.g.CurrentProblemList> currentProblemList =
188                 Arrays.asList(
189                         new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.tdm.container.current.problems.g.CurrentProblemListBuilder()
190                                 .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
191                                 .setSequenceNumber(2).setTimeStamp(null).build());
192         TdmContainerCurrentProblems tdmInterfaceCurrentProblems =
193                 new TdmContainerCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
194         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
195                 mwEthInterfaceIID)).thenReturn(tdmInterfaceCurrentProblems);
196
197         WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
198                 new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
199         wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.TDMCONTAINER, null, uid,
200                 resultList);
201
202     }
203
204     @Test
205     public void testMwHybridMwStructureWithProblems() throws Exception {
206         final Class<MwHybridMwStructurePac> clazzPac = MwHybridMwStructurePac.class;
207         final Class<HybridMwStructureCurrentProblems> clazzProblems = HybridMwStructureCurrentProblems.class;
208
209         InstanceIdentifier<HybridMwStructureCurrentProblems> mwEthInterfaceIID =
210                 InstanceIdentifier.builder(clazzPac, new MwHybridMwStructurePacKey(uid)).child(clazzProblems).build();
211
212         List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.hybrid.mw.structure.current.problems.g.CurrentProblemList> currentProblemList =
213                 Arrays.asList(
214                         new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.hybrid.mw.structure.current.problems.g.CurrentProblemListBuilder()
215                                 .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
216                                 .setSequenceNumber(2).setTimeStamp(null).build());
217         HybridMwStructureCurrentProblems hybridMwStructureCurrentProblems =
218                 new HybridMwStructureCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
219         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
220                 mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
221
222         WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
223                 new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
224         wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
225                 MwHybridMwStructurePac.class, uid, resultList);
226
227     }
228
229     @Test
230     public void testMwAirInterfaceDiversityStructureWithProblems() throws Exception {
231         final Class<MwAirInterfaceDiversityPac> clazzPac = MwAirInterfaceDiversityPac.class;
232         final Class<AirInterfaceDiversityCurrentProblems> clazzProblems = AirInterfaceDiversityCurrentProblems.class;
233
234         InstanceIdentifier<AirInterfaceDiversityCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
235                 .builder(clazzPac, new MwAirInterfaceDiversityPacKey(uid)).child(clazzProblems).build();
236
237         List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.diversity.current.problems.g.CurrentProblemList> currentProblemList =
238                 Arrays.asList(
239                         new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.diversity.current.problems.g.CurrentProblemListBuilder()
240                                 .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
241                                 .setSequenceNumber(2).setTimeStamp(null).build());
242         AirInterfaceDiversityCurrentProblems hybridMwStructureCurrentProblems =
243                 new AirInterfaceDiversityCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
244         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
245                 mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
246
247         WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
248                 new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
249         wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
250                 MwAirInterfaceDiversityPac.class, uid, resultList);
251
252     }
253
254     @Test
255     public void testMwPureEthernetStructureWithProblems() throws Exception {
256         final Class<MwPureEthernetStructurePac> clazzPac = MwPureEthernetStructurePac.class;
257         final Class<PureEthernetStructureCurrentProblems> clazzProblems = PureEthernetStructureCurrentProblems.class;
258
259         InstanceIdentifier<PureEthernetStructureCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
260                 .builder(clazzPac, new MwPureEthernetStructurePacKey(uid)).child(clazzProblems).build();
261
262         List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.pure.ethernet.structure.current.problems.g.CurrentProblemList> currentProblemList =
263                 Arrays.asList(
264                         new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.pure.ethernet.structure.current.problems.g.CurrentProblemListBuilder()
265                                 .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
266                                 .setSequenceNumber(2).setTimeStamp(null).build());
267         PureEthernetStructureCurrentProblems hybridMwStructureCurrentProblems =
268                 new PureEthernetStructureCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
269         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
270                 mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
271
272         WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
273                 new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
274         wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
275                 MwPureEthernetStructurePac.class, uid, resultList);
276
277     }
278
279     @Test
280     public void testNullStructureWithProblems() throws Exception {
281
282         WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
283                 new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
284         wrapperMicrowaveModelRev181010.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE, null, uid,
285                 resultList);
286
287     }
288
289     @Test
290     public void testgetLtpHistoricalPerformanceData() throws InconsistentPMDataException {
291         InstanceIdentifier<AirInterfaceConfiguration> mwAirInterfaceConfigurationIID =
292                 InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
293                         .child(AirInterfaceConfiguration.class).build();
294
295         AirInterfaceConfiguration airConfiguration = new AirInterfaceConfigurationBuilder().build();
296         when(accessor.getTransactionUtils().readData(dataBroker, LogicalDatastoreType.OPERATIONAL,
297                 mwAirInterfaceConfigurationIID)).thenReturn(airConfiguration);
298
299         InstanceIdentifier<AirInterfaceHistoricalPerformances> mwAirInterfaceHistoricalPerformanceIID =
300                 InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
301                         .child(AirInterfaceHistoricalPerformances.class).build();
302
303         PerformanceData performanceData = new PerformanceDataBuilder().build();
304         List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.historical.performances.g.HistoricalPerformanceDataList> airHistPMList =
305                 Arrays.asList(
306                         new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.historical.performances.g.HistoricalPerformanceDataListBuilder()
307                         .setHistoryDataId("123")
308                         .setGranularityPeriod(GranularityPeriodType.Period15Min)
309                                 .setPerformanceData(performanceData).build());
310         AirInterfaceHistoricalPerformances airHistoricalPerformanceData =
311                 new AirInterfaceHistoricalPerformancesBuilder().setHistoricalPerformanceDataList(airHistPMList).build();
312         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
313                 mwAirInterfaceHistoricalPerformanceIID)).thenReturn(airHistoricalPerformanceData);
314
315         InstanceIdentifier<EthernetContainerHistoricalPerformances> ethContainerIID =
316                 InstanceIdentifier.builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(uid))
317                         .child(EthernetContainerHistoricalPerformances.class).build();
318
319         org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.container.historical.performance.type.g.PerformanceData ethPerformanceData =
320                 new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.container.historical.performance.type.g.PerformanceDataBuilder()
321                         .build();
322         List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ethernet.container.historical.performances.g.HistoricalPerformanceDataList> ethHistPMList =
323                 Arrays.asList(
324                         new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ethernet.container.historical.performances.g.HistoricalPerformanceDataListBuilder()
325                         .setHistoryDataId("123")
326                         .setGranularityPeriod(GranularityPeriodType.Period24Hours)
327                                 .setPerformanceData(ethPerformanceData).build());
328         EthernetContainerHistoricalPerformances ethContainerHistoricalPerformanceData =
329                 new EthernetContainerHistoricalPerformancesBuilder().setHistoricalPerformanceDataList(ethHistPMList)
330                         .build();
331         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
332                 ethContainerIID)).thenReturn(ethContainerHistoricalPerformanceData);
333
334         Lp lp = new LpBuilder().setUuid(uid).build();
335         WrapperMicrowaveModelRev181010 wrapperMicrowaveModelRev181010 =
336                 new WrapperMicrowaveModelRev181010(accessor, serviceProvider);
337
338         wrapperMicrowaveModelRev181010.getLtpHistoricalPerformanceData(ONFLayerProtocolName.MWAIRINTERFACE, lp);
339     }
340 }