Added Constant file, to resolve hardcoded value from NetconfDeviceProviderTest.
Change-Id: I66e9c761b2b40e5a237ceecac4b82d035c9fb7f1
diff --git a/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTest.java b/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTest.java
index 3e24ac9..e56c595 100644
--- a/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTest.java
+++ b/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTest.java
@@ -19,10 +19,10 @@
import static org.easymock.EasyMock.replay;
import static org.junit.Assert.assertFalse;
import static org.onlab.util.Tools.delay;
+import static org.onosproject.provider.netconf.device.impl.NetconfDeviceProviderTestConstant.*;
import static org.slf4j.LoggerFactory.getLogger;
import java.io.IOException;
-import java.net.SocketTimeoutException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Collection;
@@ -57,11 +57,8 @@
/**
* Test Case to Validate Netconf Device Provider.
- *
*/
public class NetconfDeviceProviderTest {
- // private NetconfDevice device;
-
TestDeviceCreator create;
private final Logger log = getLogger(NetconfDeviceProviderTest.class);
@@ -70,12 +67,7 @@
private DeviceProviderService providerService;
- private static final int EVENTINTERVAL = 5;
-
- private static final String SCHEME = "netconf";
-
- private static final DeviceId DID1 = DeviceId
- .deviceId("of:0000000000000001");
+ private static final DeviceId DID1 = DeviceId.deviceId(DEVICE_ID);
private final NetconfDeviceProvider provider = new NetconfDeviceProvider();
private final TestDeviceRegistry registry = new TestDeviceRegistry();
@@ -90,22 +82,10 @@
}
@SuppressWarnings("unchecked")
- private Dictionary<String, String> getDictionaryMock(ComponentContext componentContext) {
- Dictionary<String, String> dictionary = EasyMock
- .createMock(Dictionary.class);
- expect(dictionary.get("devConfigs"))
- .andReturn("cisco:cisco@10.18.11.14:22:active,"
- + "sanjay:b33rb3lly@10.18.24.122:2022:inactive");
- replay(dictionary);
- expect(componentContext.getProperties()).andReturn(dictionary);
- return dictionary;
- }
-
- @SuppressWarnings("unchecked")
private Dictionary<String, String> getDictionaryMockWithoutValues(ComponentContext componentContext) {
Dictionary<String, String> dictionary = EasyMock
.createMock(Dictionary.class);
- expect(dictionary.get("devConfigs")).andReturn("");
+ expect(dictionary.get(DEV_CONFIG)).andReturn(NULL);
replay(dictionary);
expect(componentContext.getProperties()).andReturn(dictionary);
return dictionary;
@@ -115,7 +95,7 @@
private Dictionary<String, String> getDictionaryMockWithDeviceEntryNull(ComponentContext componentContext) {
Dictionary<String, String> dictionary = EasyMock
.createMock(Dictionary.class);
- expect(dictionary.get("devConfigs")).andReturn("null,null");
+ expect(dictionary.get(DEV_CONFIG)).andReturn(NULL_NULL);
replay(dictionary);
expect(componentContext.getProperties()).andReturn(dictionary);
return dictionary;
@@ -125,8 +105,8 @@
private Dictionary<String, String> getDictionaryMockDeviceEntryNumberFomatEx(ComponentContext componentContext) {
Dictionary<String, String> dictionary = EasyMock
.createMock(Dictionary.class);
- expect(dictionary.get("devConfigs"))
- .andReturn("cisco:cisco@10.18.11.14:cisco:active")
+ expect(dictionary.get(DEV_CONFIG))
+ .andReturn(CONFIG_WITH_INVALID_ENTRY_NUMBER)
.andThrow(new NumberFormatException());
replay(dictionary);
expect(componentContext.getProperties()).andReturn(dictionary);
@@ -137,8 +117,7 @@
private Dictionary<String, String> getDictionaryMockWithoutUsernameAndPassword(ComponentContext componentContext) {
Dictionary<String, String> dictionary = EasyMock
.createMock(Dictionary.class);
- expect(dictionary.get("devConfigs"))
- .andReturn("null:null@null:0:active");
+ expect(dictionary.get(DEV_CONFIG)).andReturn(CONFIG_WITH_NULL_ENTRY);
replay(dictionary);
expect(componentContext.getProperties()).andReturn(dictionary);
return dictionary;
@@ -148,9 +127,8 @@
private Dictionary<String, String> getDictionaryMockWithDifferentDeviceState(ComponentContext componentContext) {
Dictionary<String, String> dictionary = EasyMock
.createMock(Dictionary.class);
- expect(dictionary.get("devConfigs"))
- .andReturn("cisco:cisco@10.18.11.14:22:active,cisco:cisco@10.18.11.18:22:inactive,"
- + "cisco:cisco@10.18.11.14:22:invalid,cisco:cisco@10.18.11.14:22:null");
+ expect(dictionary.get(DEV_CONFIG))
+ .andReturn(CONFIG_WITH_DIFFERENT_DEVICE_STATE);
replay(dictionary);
expect(componentContext.getProperties()).andReturn(dictionary);
return dictionary;
@@ -160,8 +138,8 @@
private Dictionary<String, String> getDictionaryMockDeviceWithArrayOutOFBoundEx(ComponentContext componentContext) {
Dictionary<String, String> dictionary = EasyMock
.createMock(Dictionary.class);
- expect(dictionary.get("devConfigs"))
- .andReturn("@10.18.11.14:22:active")
+ expect(dictionary.get(DEV_CONFIG))
+ .andReturn(CONFIG_WITH_ARRAY_OUT_OF_BOUNDEX)
.andThrow(new ArrayIndexOutOfBoundsException());
replay(dictionary);
expect(componentContext.getProperties()).andReturn(dictionary);
@@ -172,21 +150,23 @@
private Dictionary<String, String> getDictionaryMockDeviceEntryForDeactivate(ComponentContext componentContext) {
Dictionary<String, String> dictionary = EasyMock
.createMock(Dictionary.class);
- expect(dictionary.get("devConfigs"))
- .andReturn("netconf:cisco@10.18.11.14:22:active")
+ expect(dictionary.get(DEV_CONFIG))
+ .andReturn(CONFIG_ENTRY_FOR_DEACTIVATE)
.andThrow(new ArrayIndexOutOfBoundsException());
replay(dictionary);
expect(componentContext.getProperties()).andReturn(dictionary);
return dictionary;
}
- @Ignore("Test fails if the hard coded host actually exists.")
- @Test(expected = SocketTimeoutException.class)
- public void testSSHAuthentication() throws JNCException, IOException {
- NetconfDevice netconfDevice = new NetconfDevice("10.18.14.19", 22,
- "cisco", "cisco");
- netconfDevice.setConnectTimeout(1000);
- TestDeviceCreator objForTestDev = new TestDeviceCreator(netconfDevice,
+ @Ignore
+ @Test(expected = IOException.class)
+ public void testSSHAuthentication() throws IOException, JNCException {
+ TestDeviceCreator objForTestDev = new TestDeviceCreator(
+ new NetconfDevice(
+ DEVICE_IP,
+ DEVICE_PORT,
+ DEVICE_USERNAME,
+ DEVICE_PASSWORD),
true);
objForTestDev.run();
}
@@ -197,16 +177,6 @@
provider.cfgService = null;
}
- @Test
- public void testActiveWithComponentContext() {
-
- ComponentContext componentContext = EasyMock
- .createMock(ComponentContext.class);
- getDictionaryMock(componentContext);
- replay(componentContext);
- provider.activate(componentContext);
- }
-
// To check if deviceCfgValue is empty or null
@Test
public void testActiveWithcomponentContextIsNull() {
@@ -273,7 +243,7 @@
public void isReachableWithInvalidDeviceId() {
assertFalse("Initially the Device ID Should not be reachable",
provider.isReachable(DID1));
- NetconfDevice device = new NetconfDevice("", 0, "", "");
+ NetconfDevice device = new NetconfDevice(NULL, ZERO, NULL, NULL);
provider.netconfDeviceMap.put(DID1, device);
assertFalse("Particular Device ID cannot be Reachable",
provider.isReachable(DID1));
@@ -286,7 +256,7 @@
.createMock(ComponentContext.class);
getDictionaryMockDeviceEntryForDeactivate(componentContext);
replay(componentContext);
- testActiveWithComponentContext();
+ testActiveWithDeviceEntryWithDifferentDeviceState();
provider.deactivate(componentContext);
}
@@ -312,7 +282,6 @@
/**
* For each Netconf Device, remove the entry from the device store.
- * @throws URISyntaxException
*/
private void removeDevices() {
if (device == null) {
@@ -343,8 +312,7 @@
* Initialize Netconf Device object, and notify core saying device
* connected.
*/
- private void advertiseDevices()
- throws JNCException, IOException, SocketTimeoutException {
+ private void advertiseDevices() throws JNCException, IOException {
try {
if (device == null) {
log.warn("The Request Netconf Device is null, cannot proceed further");
@@ -356,9 +324,10 @@
DeviceDescription desc = new DefaultDeviceDescription(
did.uri(),
Device.Type.OTHER,
- "", "",
- "", "",
- cid);
+ NULL,
+ NULL,
+ NULL,
+ NULL, cid);
log.info("Persisting Device" + did.uri().toString());
netconfDeviceMap.put(did, device);
@@ -372,22 +341,20 @@
+ " couldn't persist the device onto the store", e);
} catch (JNCException e) {
throw e;
- } catch (SocketTimeoutException e) {
- throw e;
} catch (IOException e) {
throw e;
} catch (Exception e) {
log.error("Error while initializing session for the device: "
- + (device != null ? device.deviceInfo() : null), e);
+ + device.deviceInfo(), e);
}
}
private DeviceId getDeviceId() throws URISyntaxException {
String additionalSSP = new StringBuilder(device.getUsername())
- .append("@").append(device.getSshHost()).append(":")
- .append(device.getSshPort()).toString();
- DeviceId did = DeviceId.deviceId(new URI(SCHEME, additionalSSP,
- null));
+ .append(AT_THE_RATE).append(device.getSshHost())
+ .append(COLON).append(device.getSshPort()).toString();
+ DeviceId did = DeviceId.deviceId(new URI(SCHEME_NETCONF,
+ additionalSSP, null));
return did;
}
}
diff --git a/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTestConstant.java b/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTestConstant.java
new file mode 100644
index 0000000..1d848e2
--- /dev/null
+++ b/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTestConstant.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onosproject.provider.netconf.device.impl;
+
+public final class NetconfDeviceProviderTestConstant {
+
+ private NetconfDeviceProviderTestConstant() {
+ }
+
+ public static final int ZERO = 0;
+ public static final int EVENTINTERVAL = 5;
+ public static final String DEV_CONFIG = "devConfigs";
+ public static final String CONFIG_WITH_INVALID_ENTRY_NUMBER = "cisco:cisco"
+ + "@10.18.11.14:cisco:active";
+ public static final String CONFIG_WITH_NULL_ENTRY = "null:null@null:0:active";
+ public static final String CONFIG_WITH_DIFFERENT_DEVICE_STATE = "cisco:cisco@10.18.11.14:22:active,"
+ + "cisco:cisco@10.18.11.18:22:inactive,cisco:cisco@10.18.11.14:22:invalid,"
+ + "cisco:cisco@10.18.11.14:22:null";
+ public static final String CONFIG_WITH_ARRAY_OUT_OF_BOUNDEX = "@10.18.11.14:22:active";
+ public static final String CONFIG_ENTRY_FOR_DEACTIVATE = "netconf:cisco"
+ + "@10.18.11.14:22:active";
+ public static final String DEVICE_IP = "10.18.14.19";
+ public static final int DEVICE_PORT = 22;
+ public static final String DEVICE_USERNAME = "cisco";
+ public static final String DEVICE_PASSWORD = "cisco";
+ public static final String AT_THE_RATE = "@";
+ public static final String COLON = ":";
+ public static final String NULL = "";
+ public static final String NULL_NULL = "null,null";
+ public static final String SCHEME_NETCONF = "netconf";
+ public static final String DEVICE_ID = "of:0000000000000001";
+
+}