2 * Copyright (c) 2015 Inocybe and others. 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.ovsdb.openstack.netvirt.impl;
10 import static org.junit.Assert.assertEquals;
11 import static org.mockito.Mockito.mock;
12 import static org.mockito.Mockito.when;
14 import java.util.HashMap;
15 import java.util.Random;
17 import org.junit.Test;
18 import org.junit.runner.RunWith;
19 import org.mockito.InjectMocks;
20 import org.mockito.Spy;
21 import org.mockito.runners.MockitoJUnitRunner;
22 import org.opendaylight.ovsdb.openstack.netvirt.api.Constants;
23 import org.opendaylight.ovsdb.openstack.netvirt.api.NetworkingProvider;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
25 import org.osgi.framework.ServiceReference;
28 * Unit test for class ProviderNetworkManagerImpl
30 * TODO In order to have deeper tests, private inner class
31 * ProviderEntry of ProviderNetworkManager should be public.
33 @RunWith(MockitoJUnitRunner.class)
34 public class ProviderNetworkManagerImplTest {
36 @InjectMocks private ProviderNetworkManagerImpl providerNetworkManagerImpl;
37 @Spy private HashMap<Node, NetworkingProvider> nodeToProviderMapping;
39 private Random r = new Random();
42 * Test method {@link ProviderNetworkManagerImpl#getProvider(Node)}
45 public void testGetProvider(){
46 Node node = mock(Node.class);
47 NetworkingProvider networkingProvider = mock(NetworkingProvider.class);
49 // populate nodeToProviderMapping
50 nodeToProviderMapping.put(node, networkingProvider);
52 // test when nodeToProviderMapping is populate
53 assertEquals("Error, did not return the networkingProvider of the specified node", networkingProvider, providerNetworkManagerImpl.getProvider(node));
57 * Test method {@link ProviderNetworkManagerImpl#providerAdded(ServiceReference, NetworkingProvider)}
60 public void testProviderAdded(){
61 ServiceReference ref = mock(ServiceReference.class);
64 when(ref.getProperty(org.osgi.framework.Constants.SERVICE_ID)).thenReturn(r.nextLong());
65 when(ref.getProperty(Constants.SOUTHBOUND_PROTOCOL_PROPERTY)).thenReturn("proto");
66 when(ref.getProperty(Constants.OPENFLOW_VERSION_PROPERTY)).thenReturn("of");
67 when(ref.getProperty(Constants.PROVIDER_TYPE_PROPERTY)).thenReturn("provider");
69 // nothing much to test
70 providerNetworkManagerImpl.providerAdded(ref, mock(NetworkingProvider.class));
74 * Test method {@link ProviderNetworkManagerImpl#providerRemoved(ServiceReference)}
77 public void testProviderRemoved(){
78 ServiceReference ref = mock(ServiceReference.class);
81 when(ref.getProperty(org.osgi.framework.Constants.SERVICE_ID)).thenReturn(r.nextLong());
83 // nothing much to test
84 providerNetworkManagerImpl.providerRemoved(ref);