2 * Copyright (c) 2017 Cisco Systems, Inc. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.lispflowmapping.neutron.mappingmanager;
10 import java.util.HashMap;
12 import org.junit.Assert;
13 import org.junit.Test;
14 import org.junit.runner.RunWith;
15 import org.mockito.Mockito;
16 import org.mockito.junit.MockitoJUnitRunner;
17 import org.opendaylight.lispflowmapping.neutron.mappingmanager.mappers.PortUuidToPortDataMapper;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
19 import org.powermock.core.classloader.annotations.PrepareForTest;
20 import org.powermock.modules.junit4.PowerMockRunner;
21 import org.powermock.modules.junit4.PowerMockRunnerDelegate;
22 import org.powermock.reflect.Whitebox;
25 * Created by Shakib Ahmed on 2/7/17.
28 @RunWith(PowerMockRunner.class)
29 @PowerMockRunnerDelegate(MockitoJUnitRunner.class)
30 @PrepareForTest(PortUuidToPortDataMapper.class)
31 public class PortUuidToPortDataMapperTest {
33 private static final Eid SAMPLE_EID = Mockito.mock(Eid.class);
34 private static final PortData PORT_DATA_1 = new PortData("1", SAMPLE_EID);
35 private static final PortData PORT_DATA_2 = new PortData("2", SAMPLE_EID);
36 private static final PortData PORT_DATA_3 = new PortData("3", SAMPLE_EID);
37 private static final PortData PORT_DATA_4 = new PortData("4", SAMPLE_EID);
40 public void unprocessedPortDataAddTest() {
41 PortUuidToPortDataMapper portUuidToPortDataMapper = new PortUuidToPortDataMapper();
43 portUuidToPortDataMapper.addUnprocessedUuidToPortDataMapping(PORT_DATA_1.getPortUuid(), PORT_DATA_1);
44 portUuidToPortDataMapper.addUnprocessedUuidToPortDataMapping(PORT_DATA_2.getPortUuid(), PORT_DATA_2);
46 processedAndUnprocessedDataAmountVerify(portUuidToPortDataMapper, 0, 2);
50 public void addPortDataToProcessedTest() {
51 PortUuidToPortDataMapper portUuidToPortDataMapper = new PortUuidToPortDataMapper();
53 portUuidToPortDataMapper.addPortDataToProcessed(PORT_DATA_1);
54 portUuidToPortDataMapper.addPortDataToProcessed(PORT_DATA_2);
56 processedAndUnprocessedDataAmountVerify(portUuidToPortDataMapper, 2, 0);
60 public void transferAllProcessedPortDataToUnprocessedTest() {
61 PortUuidToPortDataMapper portUuidToPortDataMapper = new PortUuidToPortDataMapper();
63 portUuidToPortDataMapper.addUnprocessedUuidToPortDataMapping(PORT_DATA_3.getPortUuid(), PORT_DATA_3);
64 portUuidToPortDataMapper.addUnprocessedUuidToPortDataMapping(PORT_DATA_4.getPortUuid(), PORT_DATA_4);
66 portUuidToPortDataMapper.addPortDataToProcessed(PORT_DATA_1);
67 portUuidToPortDataMapper.addPortDataToProcessed(PORT_DATA_2);
69 portUuidToPortDataMapper.transferAllProcessedPortDataToUnprocessed();
71 processedAndUnprocessedDataAmountVerify(portUuidToPortDataMapper, 0, 4);
73 HashMap<String, PortData> unprocessedPortData = extractUnprocessedDataMap(portUuidToPortDataMapper);
75 Assert.assertEquals(PORT_DATA_1, unprocessedPortData.get(PORT_DATA_1.getPortUuid()));
76 Assert.assertEquals(PORT_DATA_2, unprocessedPortData.get(PORT_DATA_2.getPortUuid()));
77 Assert.assertEquals(PORT_DATA_3, unprocessedPortData.get(PORT_DATA_3.getPortUuid()));
78 Assert.assertEquals(PORT_DATA_4, unprocessedPortData.get(PORT_DATA_4.getPortUuid()));
81 private void processedAndUnprocessedDataAmountVerify(PortUuidToPortDataMapper portUuidToPortDataMapper,
82 int processedDataCount,
83 int unprocessedDataCount) {
84 HashMap<String, PortData> unprocessedDataMap = extractUnprocessedDataMap(portUuidToPortDataMapper);
85 HashMap<String, PortData> processedDataMap = extractProcessedDataMap(portUuidToPortDataMapper);
87 Assert.assertEquals(unprocessedDataCount, unprocessedDataMap.size());
88 Assert.assertEquals(processedDataCount, processedDataMap.size());
91 private HashMap<String, PortData> extractProcessedDataMap(PortUuidToPortDataMapper portUuidToPortDataMapper) {
92 HashMap<String, PortData> processedDataMap;
94 processedDataMap = (HashMap<String, PortData>) Whitebox
95 .getInternalState(portUuidToPortDataMapper, "processedPortUuidToEidMapper");
96 } catch (ClassCastException e) {
99 return processedDataMap;
102 private HashMap<String, PortData> extractUnprocessedDataMap(PortUuidToPortDataMapper portUuidToPortDataMapper) {
103 HashMap<String, PortData> unprocessedDataMap;
105 unprocessedDataMap = (HashMap<String, PortData>) Whitebox
106 .getInternalState(portUuidToPortDataMapper, "unprocessedPortUuidToEidMapper");
107 } catch (ClassCastException e) {
110 return unprocessedDataMap;