<artifactId>sal-common-util</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.11</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <version>1.9.5</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.powermock</groupId>
+ <artifactId>powermock-module-junit4</artifactId>
+ <version>1.5.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.powermock</groupId>
+ <artifactId>powermock-api-mockito</artifactId>
+ <version>1.5.2</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
--- /dev/null
+/*******************************************************************************
+ * Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Dave Tucker (HP) - Added unit tests for the AdminConfigManager class.
+ *******************************************************************************/
+
+package org.opendaylight.ovsdb.neutron;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.*;
+import static org.mockito.Matchers.any;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
+import org.opendaylight.ovsdb.lib.table.Open_vSwitch;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.modules.junit4.PowerMockRunner;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+
+import org.opendaylight.controller.sal.core.Node;
+import org.opendaylight.ovsdb.plugin.ConfigurationService;
+import org.opendaylight.ovsdb.plugin.OVSDBConfigService;
+import org.opendaylight.controller.sal.utils.ServiceHelper;
+
+import java.net.InetAddress;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.opendaylight.ovsdb.lib.table.internal.Table;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest(ServiceHelper.class)
+public class AdminConfigManagerTest {
+ @Test
+ public void testPopulateTunnelEndpoint() throws Exception {
+ InetAddress testAddress = InetAddress.getByName("10.10.10.10");
+
+ Node mockNode = mock(Node.class);
+
+ Map<String, Table<?>> ovsMap = new HashMap<String, Table<?>>();
+
+ Open_vSwitch ovsTable = new Open_vSwitch();
+ OvsDBMap localIp = new OvsDBMap();
+ localIp.put("local_ip", "10.10.10.10");
+ ovsTable.setOther_config(localIp);
+ ovsMap.put("Open_vSwitch", ovsTable);
+
+ OVSDBConfigService ovsdbConfig = mock(ConfigurationService.class);
+ when(ovsdbConfig.getRows(any(Node.class), anyString())).thenReturn(ovsMap);
+
+ PowerMockito.mockStatic(ServiceHelper.class);
+ when(ServiceHelper.getGlobalInstance(eq(OVSDBConfigService.class), anyObject())).thenReturn(ovsdbConfig);
+
+ AdminConfigManager.getManager().populateTunnelEndpoint(mockNode);
+
+ assertEquals(testAddress, AdminConfigManager.getManager().getTunnelEndPoint(mockNode));
+ }
+}
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Dave Tucker (HP) - Added unit tests for the BaseHandler class
+ * Dave Tucker (HP) - Added unit tests for the BaseHandler class.
+ * - Migrated test cases to JUnit4
*******************************************************************************/
package org.opendaylight.ovsdb.neutron;
-import junit.framework.TestCase;
+import java.net.HttpURLConnection;
-public class BaseHandlerTest extends TestCase {
+import static org.junit.Assert.*;
- BaseHandler test = new BaseHandler();
+import org.junit.Test;
+
+import org.opendaylight.controller.sal.utils.Status;
+import org.opendaylight.controller.sal.utils.StatusCode;
+
+public class BaseHandlerTest {
String nullString = null;
String uuid = "ce044452-f22e-4ea4-a3ec-d1cde80cf996";
String tenantId = "8d62bfa112fb4247aa20edc74235c1ce";
String neutronId = "6b8fd2";
- public void testIsValidNeutronID() throws Exception {
- assertFalse(test.isValidNeutronID(nullString));
- assertTrue(test.isValidNeutronID(uuid));
- assertTrue(test.isValidNeutronID(tenantId));
- assertTrue(test.isValidNeutronID(neutronId));
+ @Test
+ public void testGetException() {
+
+ Status badRequest = new Status(StatusCode.BADREQUEST);
+ Status conflict = new Status(StatusCode.CONFLICT);
+ Status notAcceptable = new Status(StatusCode.NOTACCEPTABLE);
+ Status notFound = new Status(StatusCode.NOTFOUND);
+ Status internalError = new Status(StatusCode.INTERNALERROR);
+
+
+ assertEquals(HttpURLConnection.HTTP_BAD_REQUEST, BaseHandler.getException(badRequest));
+ assertEquals(HttpURLConnection.HTTP_CONFLICT, BaseHandler.getException(conflict));
+ assertEquals(HttpURLConnection.HTTP_NOT_ACCEPTABLE, BaseHandler.getException(notAcceptable));
+ assertEquals(HttpURLConnection.HTTP_NOT_FOUND, BaseHandler.getException(notFound));
+ assertEquals(HttpURLConnection.HTTP_INTERNAL_ERROR, BaseHandler.getException(internalError));
+
+ }
+
+ @Test
+ public void testIsValidNeutronID() {
+ assertFalse(BaseHandler.isValidNeutronID(nullString));
+ assertTrue(BaseHandler.isValidNeutronID(uuid));
+ assertTrue(BaseHandler.isValidNeutronID(tenantId));
+ assertTrue(BaseHandler.isValidNeutronID(neutronId));
}
- public void testConvertNeutronIDToKey() throws Exception {
+ @Test
+ public void testConvertNeutronIDToKey() {
- String uuidResult = test.convertNeutronIDToKey(uuid);
+ String uuidResult = BaseHandler.convertNeutronIDToKey(uuid);
String uuidExpected = "ce044452f22eea4a3ecd1cde80cf996";
- String tenantResult = test.convertNeutronIDToKey(tenantId);
+ String tenantResult = BaseHandler.convertNeutronIDToKey(tenantId);
String tenantExpected = "8d62bfa112fb247aa20edc74235c1ce";
- String neutronResult = test.convertNeutronIDToKey(neutronId);
+ String neutronResult = BaseHandler.convertNeutronIDToKey(neutronId);
assertEquals(uuidExpected, uuidResult);
assertEquals(tenantExpected, tenantResult);
--- /dev/null
+/*******************************************************************************
+ * Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Dave Tucker (HP) - Added unit tests for the NetworkHandler class.
+ *******************************************************************************/
+
+package org.opendaylight.ovsdb.neutron;
+
+import java.net.HttpURLConnection;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.*;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.powermock.modules.junit4.PowerMockRunner;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+
+import org.opendaylight.controller.networkconfig.neutron.NeutronNetwork;
+import org.powermock.reflect.Whitebox;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest(TenantNetworkManager.class)
+
+public class NetworkHandlerTest {
+
+ NetworkHandler testNetworkHandler = new NetworkHandler();
+
+ @Test
+ public void testCanCreateNetwork() throws Exception {
+ NeutronNetwork mockNet = mock(NeutronNetwork.class);
+
+ when(mockNet.isShared())
+ .thenReturn(true)
+ .thenReturn(false);
+
+ assertEquals(HttpURLConnection.HTTP_NOT_ACCEPTABLE, testNetworkHandler.canCreateNetwork(mockNet));
+ assertEquals(HttpURLConnection.HTTP_CREATED, testNetworkHandler.canCreateNetwork(mockNet));
+
+ }
+
+ @Test
+ public void testNeutronNetworkCreated() {
+ String netId = "6cfdb7";
+ NeutronNetwork mockNet = mock(NeutronNetwork.class);
+ when(mockNet.isShared()).thenReturn(false);
+ when(mockNet.getID()).thenReturn(netId);
+
+ TenantNetworkManager tenantNetworkManager = mock(TenantNetworkManager.class);
+ Whitebox.setInternalState(TenantNetworkManager.class, "tenantHelper", tenantNetworkManager);
+
+ testNetworkHandler.neutronNetworkCreated(mockNet);
+
+ verify(tenantNetworkManager).networkCreated(netId);
+ }
+
+ @Test
+ public void testCanUpdateNetwork() {
+ NeutronNetwork delta = new NeutronNetwork();
+ NeutronNetwork original = new NeutronNetwork();
+
+ assertEquals(HttpURLConnection.HTTP_OK, testNetworkHandler.canUpdateNetwork(delta, original));
+ }
+
+ @Test
+ public void testCanDeleteNetwork() throws Exception {
+ NeutronNetwork network = new NeutronNetwork();
+
+ assertEquals(HttpURLConnection.HTTP_OK, testNetworkHandler.canDeleteNetwork(network));
+ }
+
+ @Test
+ public void testNeutronNetworkDeleted() throws Exception {
+ String netId = "6cfdb7";
+
+ NeutronNetwork mockNet = mock(NeutronNetwork.class);
+ when(mockNet.isShared()).thenReturn(false);
+ when(mockNet.getID()).thenReturn(netId);
+
+ NetworkHandler spy = spy(testNetworkHandler);
+
+ TenantNetworkManager tenantNetworkManager = mock(TenantNetworkManager.class);
+ Whitebox.setInternalState(TenantNetworkManager.class, "tenantHelper", tenantNetworkManager);
+
+ when(spy.canDeleteNetwork(mockNet))
+ .thenReturn(HttpURLConnection.HTTP_BAD_REQUEST)
+ .thenCallRealMethod();
+
+ spy.neutronNetworkDeleted(mockNet);
+ spy.neutronNetworkDeleted(mockNet);
+
+ verify(tenantNetworkManager).networkDeleted(netId);
+
+ }
+}