Cisco Ios DeviceDescription
Change-Id: I51561c51fe18a6ee9676a894ec698e2a2fc222b4
diff --git a/drivers/cisco/src/test/java/org/onosproject/drivers/cisco/TextBlockParserCiscoTest.java b/drivers/cisco/src/test/java/org/onosproject/drivers/cisco/TextBlockParserCiscoTest.java
index b9ec739..321704f 100644
--- a/drivers/cisco/src/test/java/org/onosproject/drivers/cisco/TextBlockParserCiscoTest.java
+++ b/drivers/cisco/src/test/java/org/onosproject/drivers/cisco/TextBlockParserCiscoTest.java
@@ -18,21 +18,24 @@
import org.junit.Test;
+import org.onlab.packet.ChassisId;
import org.onosproject.net.AnnotationKeys;
import org.onosproject.net.DefaultAnnotations;
+import org.onosproject.net.DefaultDevice;
+import org.onosproject.net.DeviceId;
import org.onosproject.net.Port;
import org.onosproject.net.PortNumber;
import org.onosproject.net.device.DefaultPortDescription;
import org.onosproject.net.device.PortDescription;
-
+import org.onosproject.net.provider.ProviderId;
import java.io.InputStream;
-import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
-
-
-
+import java.util.Scanner;
import static org.junit.Assert.assertEquals;
+import static org.onosproject.net.Device.Type.SWITCH;
+import static org.onosproject.net.DeviceId.deviceId;
+
/**
* Tests the parser for Netconf TextBlock configurations and replies from Cisco devices.
@@ -59,17 +62,47 @@
private static final long CONNECTION_SPEED_FDDI = 100000;
private static final boolean IS_ENABLED = true;
private static final boolean IS_NOT_ENABLED = false;
- private static final String TEXT_FILE = "/CiscoIosInterfaces.xml";
+ private static final String SHOW_VERSION = "/testShowVersion.xml";
+ private static final String SHOW_INTFS = "/testShowInterfaces.xml";
+ private static final String SW = "IOS C3560E 15.0(2)EJ";
+ private static final String HW = "SM-X-ES3-24-P";
+ private static final String MFR = "Cisco";
+ private static final String SN = "FOC18401Z3R";
+ private static final ProviderId PROVIDERID = new ProviderId("of", "foo");
+ private static final DeviceId DEVICE = deviceId("of:foo");
+ private static final ChassisId CID = new ChassisId();
@Test
- public void controllersConfig() {
- InputStream streamOrig = getClass().getResourceAsStream(TEXT_FILE);
+ public void controllersVersion() {
+ InputStream streamOrig = getClass().getResourceAsStream(SHOW_VERSION);
+ String version = new Scanner(streamOrig, "UTF-8").useDelimiter("\\Z").next();
+ version = version.substring(version.indexOf('\n') + 1);
+ String[] actualDetails = TextBlockParserCisco.parseCiscoIosDeviceDetails(version);
+
+ assertEquals("Information could not be retrieved",
+ getExpectedInfo(), actualInfo(actualDetails));
+ }
+
+ @Test
+ public void controllersIntfs() {
+ InputStream streamOrig = getClass().getResourceAsStream(SHOW_INTFS);
String rpcReply = new Scanner(streamOrig, "UTF-8").useDelimiter("\\Z").next();
List<PortDescription> actualIntfs = TextBlockParserCisco.parseCiscoIosPorts(rpcReply);
- assertEquals("Interfaces were not retrieved from configuration",
+ assertEquals("Information could not be retrieved",
getExpectedIntfs(), actualIntfs);
}
+ private DefaultDevice getExpectedInfo() {
+ return new DefaultDevice(PROVIDERID, DEVICE, SWITCH, MFR, HW, SW, SN, CID);
+ }
+
+ private DefaultDevice actualInfo(String[] actualDetails) {
+
+ return new DefaultDevice(PROVIDERID, DEVICE, SWITCH, actualDetails[0],
+ actualDetails[1], actualDetails[2],
+ actualDetails[3], CID);
+ }
+
private List<PortDescription> getExpectedIntfs() {
DefaultAnnotations.Builder int1Annotations = DefaultAnnotations.builder()
.set(AnnotationKeys.PORT_NAME, INTF1_NAME);
@@ -99,4 +132,5 @@
int6Annotations.build()));
return intfs;
}
+
}