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