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