bc4434f267f1dc7eb17c29e82e90f7605b94da19
[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.WrapperMicrowaveModelRev180907;
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.netconfnodestateservice.NetconfBindingAccessor;
33 import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
34 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
35 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
36 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
37 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.LpBuilder;
38 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType;
39 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwAirInterfaceDiversityPac;
40 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwAirInterfaceDiversityPacKey;
41 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwAirInterfacePac;
42 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwAirInterfacePacKey;
43 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwEthernetContainerPac;
44 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwEthernetContainerPacKey;
45 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwHybridMwStructurePac;
46 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwHybridMwStructurePacKey;
47 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwPureEthernetStructurePac;
48 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwPureEthernetStructurePacKey;
49 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwTdmContainerPac;
50 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwTdmContainerPacKey;
51 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.SeverityType;
52 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.current.problems.g.CurrentProblemList;
53 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.current.problems.g.CurrentProblemListBuilder;
54 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.historical.performance.type.g.PerformanceData;
55 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.historical.performance.type.g.PerformanceDataBuilder;
56 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.diversity.pac.AirInterfaceDiversityCurrentProblems;
57 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.diversity.pac.AirInterfaceDiversityCurrentProblemsBuilder;
58 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceConfiguration;
59 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceConfigurationBuilder;
60 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceCurrentProblems;
61 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceCurrentProblemsBuilder;
62 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceHistoricalPerformances;
63 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceHistoricalPerformancesBuilder;
64 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.ethernet.container.pac.EthernetContainerCurrentProblems;
65 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.ethernet.container.pac.EthernetContainerCurrentProblemsBuilder;
66 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.ethernet.container.pac.EthernetContainerHistoricalPerformances;
67 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.ethernet.container.pac.EthernetContainerHistoricalPerformancesBuilder;
68 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.hybrid.mw.structure.pac.HybridMwStructureCurrentProblems;
69 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.hybrid.mw.structure.pac.HybridMwStructureCurrentProblemsBuilder;
70 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.pure.ethernet.structure.pac.PureEthernetStructureCurrentProblems;
71 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.pure.ethernet.structure.pac.PureEthernetStructureCurrentProblemsBuilder;
72 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.tdm.container.pac.TdmContainerCurrentProblems;
73 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.tdm.container.pac.TdmContainerCurrentProblemsBuilder;
74 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
75 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
76
77 public class TestWrapperMicrowaveModelRev180907 {
78
79     NetconfBindingAccessor accessor;
80     DeviceManagerServiceProvider serviceProvider;
81     FaultData resultList;
82     UniversalId uid;
83     TransactionUtils transactionUtils;
84
85     InstanceIdentifier<AirInterfaceCurrentProblems> mwAirInterfaceIID;
86     @NonNull
87     AirInterfaceCurrentProblems airInterfaceCurrentProblems;
88
89     InstanceIdentifier<EthernetContainerCurrentProblems> mwEthInterfaceIID;
90     @NonNull
91     EthernetContainerCurrentProblems ethernetContainerCurrentProblems;
92
93     @Before
94     public void init() {
95         accessor = mock(NetconfBindingAccessor.class);
96         serviceProvider = mock(DeviceManagerServiceProvider.class);
97         resultList = mock(FaultData.class);
98         transactionUtils = mock(TransactionUtils.class);
99
100         uid = new UniversalId("ABCD");
101
102         mwAirInterfaceIID = InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
103                 .child(AirInterfaceCurrentProblems.class).build();
104         List<CurrentProblemList> currentProblemList =
105                 Arrays.asList(new CurrentProblemListBuilder().setProblemName("Loss of Signal")
106                         .setProblemSeverity(SeverityType.Critical).setSequenceNumber(1).setTimeStamp(null).build());
107         airInterfaceCurrentProblems =
108                 new AirInterfaceCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
109
110         mwEthInterfaceIID = InstanceIdentifier.builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(uid))
111                 .child(EthernetContainerCurrentProblems.class).build();
112         List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ethernet.container.current.problems.g.CurrentProblemList> ethCurrentProblemsList =
113                 Arrays.asList(
114                         new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ethernet.container.current.problems.g.CurrentProblemListBuilder()
115                                 .setProblemName("Link Negotiation Unsuccessful")
116                                 .setProblemSeverity(SeverityType.Critical).setSequenceNumber(1).setTimeStamp(null)
117                                 .build());
118         ethernetContainerCurrentProblems =
119                 new EthernetContainerCurrentProblemsBuilder().setCurrentProblemList(ethCurrentProblemsList).build();
120
121         NodeId nNodeId = new NodeId("nSky");
122         when(accessor.getNodeId()).thenReturn(nNodeId);
123         when(accessor.getTransactionUtils()).thenReturn(transactionUtils);
124
125     }
126
127     @Test
128     public void testMWAirInterfaceWithProblems() {
129         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
130                 mwAirInterfaceIID)).thenReturn(airInterfaceCurrentProblems);
131
132         WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
133                 new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
134         wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.MWAIRINTERFACE, null, uid,
135                 resultList);
136     }
137
138     @Test
139     public void testMWAirInterfaceWithoProblems() {
140         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
141                 mwAirInterfaceIID)).thenReturn(null);
142
143         WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
144                 new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
145         wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.MWAIRINTERFACE, null, uid,
146                 resultList);
147     }
148
149     @Test
150     public void testEthernetContainer12WithProblems() {
151         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
152                 mwEthInterfaceIID)).thenReturn(ethernetContainerCurrentProblems);
153
154         WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
155                 new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
156         wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.ETHERNETCONTAINER12, null,
157                 uid, resultList);
158     }
159
160     @Test
161     public void testEthernetContainer12WithNoProblems() {
162         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
163                 mwEthInterfaceIID)).thenReturn(null);
164
165         WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
166                 new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
167         wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.ETHERNETCONTAINER12, null,
168                 uid, resultList);
169     }
170
171     @Test
172     public void testTdmContainer12WithProblems() throws Exception {
173         final Class<MwTdmContainerPac> clazzPac = MwTdmContainerPac.class;
174         final Class<MwTdmContainerPacKey> clazzPacKey = MwTdmContainerPacKey.class;
175         final Class<TdmContainerCurrentProblems> clazzProblems = TdmContainerCurrentProblems.class;
176
177         Constructor<MwTdmContainerPacKey> cons = clazzPacKey.getConstructor(UniversalId.class); // Avoid new()
178         InstanceIdentifier<TdmContainerCurrentProblems> mwEthInterfaceIID =
179                 InstanceIdentifier.builder(clazzPac, cons.newInstance(uid)).child(clazzProblems).build();
180
181         List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.tdm.container.current.problems.g.CurrentProblemList> currentProblemList =
182                 Arrays.asList(
183                         new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.tdm.container.current.problems.g.CurrentProblemListBuilder()
184                                 .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
185                                 .setSequenceNumber(2).setTimeStamp(null).build());
186         TdmContainerCurrentProblems tdmInterfaceCurrentProblems =
187                 new TdmContainerCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
188         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
189                 mwEthInterfaceIID)).thenReturn(tdmInterfaceCurrentProblems);
190
191         WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
192                 new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
193         wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.TDMCONTAINER, null, uid,
194                 resultList);
195
196     }
197
198     @Test
199     public void testMwHybridMwStructureWithProblems() throws Exception {
200         final Class<MwHybridMwStructurePac> clazzPac = MwHybridMwStructurePac.class;
201         final Class<HybridMwStructureCurrentProblems> clazzProblems = HybridMwStructureCurrentProblems.class;
202
203         InstanceIdentifier<HybridMwStructureCurrentProblems> mwEthInterfaceIID =
204                 InstanceIdentifier.builder(clazzPac, new MwHybridMwStructurePacKey(uid)).child(clazzProblems).build();
205
206         List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.hybrid.mw.structure.current.problems.g.CurrentProblemList> currentProblemList =
207                 Arrays.asList(
208                         new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.hybrid.mw.structure.current.problems.g.CurrentProblemListBuilder()
209                                 .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
210                                 .setSequenceNumber(2).setTimeStamp(null).build());
211         HybridMwStructureCurrentProblems hybridMwStructureCurrentProblems =
212                 new HybridMwStructureCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
213         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
214                 mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
215
216         WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
217                 new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
218         wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
219                 MwHybridMwStructurePac.class, uid, resultList);
220
221     }
222
223     @Test
224     public void testMwAirInterfaceDiversityStructureWithProblems() throws Exception {
225         final Class<MwAirInterfaceDiversityPac> clazzPac = MwAirInterfaceDiversityPac.class;
226         final Class<AirInterfaceDiversityCurrentProblems> clazzProblems = AirInterfaceDiversityCurrentProblems.class;
227
228         InstanceIdentifier<AirInterfaceDiversityCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
229                 .builder(clazzPac, new MwAirInterfaceDiversityPacKey(uid)).child(clazzProblems).build();
230
231         List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.diversity.current.problems.g.CurrentProblemList> currentProblemList =
232                 Arrays.asList(
233                         new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.diversity.current.problems.g.CurrentProblemListBuilder()
234                                 .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
235                                 .setSequenceNumber(2).setTimeStamp(null).build());
236         AirInterfaceDiversityCurrentProblems hybridMwStructureCurrentProblems =
237                 new AirInterfaceDiversityCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
238         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
239                 mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
240
241         WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
242                 new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
243         wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
244                 MwAirInterfaceDiversityPac.class, uid, resultList);
245
246     }
247
248     @Test
249     public void testMwPureEthernetStructureWithProblems() throws Exception {
250         final Class<MwPureEthernetStructurePac> clazzPac = MwPureEthernetStructurePac.class;
251         final Class<PureEthernetStructureCurrentProblems> clazzProblems = PureEthernetStructureCurrentProblems.class;
252
253         InstanceIdentifier<PureEthernetStructureCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
254                 .builder(clazzPac, new MwPureEthernetStructurePacKey(uid)).child(clazzProblems).build();
255
256         List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.pure.ethernet.structure.current.problems.g.CurrentProblemList> currentProblemList =
257                 Arrays.asList(
258                         new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.pure.ethernet.structure.current.problems.g.CurrentProblemListBuilder()
259                                 .setProblemName("Loss of Payload").setProblemSeverity(SeverityType.Major)
260                                 .setSequenceNumber(2).setTimeStamp(null).build());
261         PureEthernetStructureCurrentProblems hybridMwStructureCurrentProblems =
262                 new PureEthernetStructureCurrentProblemsBuilder().setCurrentProblemList(currentProblemList).build();
263         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
264                 mwEthInterfaceIID)).thenReturn(hybridMwStructureCurrentProblems);
265
266         WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
267                 new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
268         wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE,
269                 MwPureEthernetStructurePac.class, uid, resultList);
270
271     }
272
273     @Test
274     public void testNullStructureWithProblems() throws Exception {
275
276         WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
277                 new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
278         wrapperMicrowaveModelRev180907.readTheFaultsOfMicrowaveModel(ONFLayerProtocolName.STRUCTURE, null, uid,
279                 resultList);
280
281     }
282
283     @Test
284     public void testgetLtpHistoricalPerformanceData() {
285         InstanceIdentifier<AirInterfaceConfiguration> mwAirInterfaceConfigurationIID =
286                 InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
287                         .child(AirInterfaceConfiguration.class).build();
288
289         AirInterfaceConfiguration airConfiguration =
290                 new AirInterfaceConfigurationBuilder().setAirInterfaceName("TESTINTF").build();
291         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
292                 mwAirInterfaceConfigurationIID)).thenReturn(airConfiguration);
293
294         InstanceIdentifier<AirInterfaceHistoricalPerformances> mwAirInterfaceHistoricalPerformanceIID =
295                 InstanceIdentifier.builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(uid))
296                         .child(AirInterfaceHistoricalPerformances.class).build();
297
298         PerformanceData performanceData = new PerformanceDataBuilder().build();
299         List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.historical.performances.g.HistoricalPerformanceDataList> airHistPMList =
300                 Arrays.asList(
301                         new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.historical.performances.g.HistoricalPerformanceDataListBuilder()
302                         .setHistoryDataId("123")
303                         .setGranularityPeriod(GranularityPeriodType.Period15Min)
304                                 .setPerformanceData(performanceData).build());
305         AirInterfaceHistoricalPerformances airHistoricalPerformanceData =
306                 new AirInterfaceHistoricalPerformancesBuilder().setHistoricalPerformanceDataList(airHistPMList).build();
307         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
308                 mwAirInterfaceHistoricalPerformanceIID)).thenReturn(airHistoricalPerformanceData);
309
310         InstanceIdentifier<EthernetContainerHistoricalPerformances> ethContainerIID =
311                 InstanceIdentifier.builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(uid))
312                         .child(EthernetContainerHistoricalPerformances.class).build();
313
314         org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.container.historical.performance.type.g.PerformanceData ethPerformanceData =
315                 new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.container.historical.performance.type.g.PerformanceDataBuilder()
316                         .build();
317         List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ethernet.container.historical.performances.g.HistoricalPerformanceDataList> ethHistPMList =
318                 Arrays.asList(
319                         new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ethernet.container.historical.performances.g.HistoricalPerformanceDataListBuilder()
320                         .setHistoryDataId("123")
321                         .setGranularityPeriod(GranularityPeriodType.Period24Hours)
322                                 .setPerformanceData(ethPerformanceData).build());
323         EthernetContainerHistoricalPerformances ethContainerHistoricalPerformanceData =
324                 new EthernetContainerHistoricalPerformancesBuilder().setHistoricalPerformanceDataList(ethHistPMList)
325                         .build();
326         when(accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
327                 ethContainerIID)).thenReturn(ethContainerHistoricalPerformanceData);
328
329         Lp lp = new LpBuilder().setUuid(uid).build();;
330         WrapperMicrowaveModelRev180907 wrapperMicrowaveModelRev180907 =
331                 new WrapperMicrowaveModelRev180907(accessor, serviceProvider);
332
333         wrapperMicrowaveModelRev180907.getLtpHistoricalPerformanceData(ONFLayerProtocolName.MWAIRINTERFACE, lp);
334     }
335 }