Merge "Unit test for ovsdb.southbound.ovsdb.transact"
[netvirt.git] / openstack / net-virt / src / test / java / org / opendaylight / ovsdb / openstack / netvirt / NeutronCacheUtilsTest.java
1 /*
2  * Copyright (c) 2015 Inocybe and others.  All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.ovsdb.openstack.netvirt;
10
11 import static org.junit.Assert.assertEquals;
12 import static org.mockito.Mockito.mock;
13 import static org.mockito.Mockito.when;
14
15 import java.util.AbstractMap;
16 import java.util.ArrayList;
17 import java.util.List;
18 import java.util.Map;
19
20 import org.junit.Test;
21 import org.junit.runner.RunWith;
22 import org.opendaylight.ovsdb.openstack.netvirt.translator.NeutronNetwork;
23 import org.opendaylight.ovsdb.openstack.netvirt.translator.NeutronPort;
24 import org.opendaylight.ovsdb.openstack.netvirt.translator.NeutronSubnet;
25 import org.opendaylight.ovsdb.openstack.netvirt.translator.Neutron_IPs;
26 import org.opendaylight.ovsdb.openstack.netvirt.translator.crud.INeutronNetworkCRUD;
27 import org.opendaylight.ovsdb.openstack.netvirt.translator.crud.INeutronPortCRUD;
28 import org.opendaylight.ovsdb.openstack.netvirt.translator.crud.INeutronSubnetCRUD;
29 import org.powermock.modules.junit4.PowerMockRunner;
30
31 /**
32  * Unit test for {@link NeutronCacheUtils}
33  */
34 @RunWith(PowerMockRunner.class)
35 public class NeutronCacheUtilsTest {
36
37     /**
38      * Test method {@link NeutronCacheUtils#getMacAddress(INeutronPortCRUD, String, String)}
39      */
40     @Test
41     public void testGetMacAddress(){
42         INeutronPortCRUD neutronPortsCache = mock(INeutronPortCRUD.class);
43         NeutronPort port = mock(NeutronPort.class);
44         Neutron_IPs ip = mock(Neutron_IPs.class);
45         when(ip.getIpAddress()).thenReturn("ip_address");
46         when(ip.getSubnetUUID()).thenReturn("subnetUUID");
47         List<Neutron_IPs> list_fixedIP = new ArrayList<Neutron_IPs>();
48         list_fixedIP.add(ip);
49         when(port.getFixedIPs()).thenReturn(list_fixedIP);
50         when(port.getMacAddress()).thenReturn("mac_address");
51         List<NeutronPort> list_port = new ArrayList<NeutronPort>();
52         list_port.add(port);
53
54         when(neutronPortsCache.getAllPorts()).thenReturn(list_port);
55
56         assertEquals("Error, getMacAddress() did not return the correct value", "mac_address", NeutronCacheUtils.getMacAddress(neutronPortsCache, "subnetUUID", "ip_address"));
57     }
58
59     /**
60      * Test method {@link NeutronCacheUtils#getProviderInformation(INeutronNetworkCRUD, INeutronSubnetCRUD, String)}
61      */
62     @Test
63     public void testGetProviderInformation() {
64         INeutronSubnetCRUD neutronSubnetCache = mock(INeutronSubnetCRUD.class);
65         NeutronSubnet subnet = mock(NeutronSubnet.class);
66         when(subnet.getID()).thenReturn("subnetUUID");
67         when(subnet.getNetworkUUID()).thenReturn("networkUUID");
68         List<NeutronSubnet> list_subnet = new ArrayList<NeutronSubnet>();
69         list_subnet.add(subnet);
70
71         when(neutronSubnetCache.getAllSubnets()).thenReturn(list_subnet );
72
73         INeutronNetworkCRUD neutronNetworkCache = mock(INeutronNetworkCRUD.class);
74         NeutronNetwork network = mock(NeutronNetwork.class);
75         when(network.getID()).thenReturn("networkUUID");
76         when(network.getProviderNetworkType()).thenReturn("network_type_1");
77         when(network.getProviderSegmentationID()).thenReturn("network_segID");
78         List<NeutronNetwork> list_network = new ArrayList<NeutronNetwork>();
79         list_network.add(network);
80
81         when(neutronNetworkCache.getAllNetworks()).thenReturn(list_network);
82
83         Map.Entry<String,String> entry = new AbstractMap.SimpleEntry<String, String>(
84                 network.getProviderNetworkType(), network.getProviderSegmentationID());
85
86         assertEquals("Error, getProviderInformation() did not return the correct values", entry, NeutronCacheUtils.getProviderInformation(neutronNetworkCache, neutronSubnetCache, "subnetUUID"));
87     }
88 }