fix some codes
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java b/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java
index 77c42b1..3cfa190 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java
@@ -92,12 +92,8 @@
public void setPortState(Integer s);
@JsonIgnore
- @Incidence(label="on",direction = Direction.IN)
- public ISwitchObject getSwitch();
-
- @JsonIgnore
@Adjacency(label="on",direction = Direction.IN)
- public ISwitchObject getVertexSwitch();
+ public ISwitchObject getSwitch();
@JsonProperty("devices")
@Adjacency(label="host")
diff --git a/src/main/java/net/onrc/onos/util/GraphDBOperation.java b/src/main/java/net/onrc/onos/util/GraphDBOperation.java
index df68282..950741d 100644
--- a/src/main/java/net/onrc/onos/util/GraphDBOperation.java
+++ b/src/main/java/net/onrc/onos/util/GraphDBOperation.java
@@ -174,7 +174,7 @@
public IDeviceObject searchDevice(String macAddr) {
// TODO Auto-generated method stub
FramedGraph<TitanGraph> fg = conn.getFramedGraph();
- return (fg != null && fg.getVertices("dl_address",macAddr).iterator().hasNext()) ? fg.getVertices("dl_address",macAddr,
+ return (fg != null && fg.getVertices("dl_addr",macAddr).iterator().hasNext()) ? fg.getVertices("dl_addr",macAddr,
IDeviceObject.class).iterator().next() : null;
}
diff --git a/src/test/java/net/floodlightcontroller/devicemanager/internal/DeviceStorageImplTest.java b/src/test/java/net/floodlightcontroller/devicemanager/internal/DeviceStorageImplTest.java
index bedee03..cd1651f 100644
--- a/src/test/java/net/floodlightcontroller/devicemanager/internal/DeviceStorageImplTest.java
+++ b/src/test/java/net/floodlightcontroller/devicemanager/internal/DeviceStorageImplTest.java
@@ -6,31 +6,20 @@
import java.util.ArrayList;
import java.util.List;
-import javassist.bytecode.Descriptor.Iterator;
-
import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
import net.onrc.onos.ofcontroller.core.internal.SwitchStorageImpl;
import net.onrc.onos.ofcontroller.devicemanager.internal.DeviceStorageImpl;
import net.onrc.onos.util.GraphDBConnection;
-import net.onrc.onos.util.GraphDBConnection.Transaction;
import net.onrc.onos.util.GraphDBOperation;
-import net.floodlightcontroller.core.internal.TestDatabaseManager;
import net.floodlightcontroller.devicemanager.IDevice;
import net.floodlightcontroller.devicemanager.SwitchPort;
-import net.floodlightcontroller.flowcache.FlowReconcileManager;
-import net.floodlightcontroller.packet.IPacket;
import net.floodlightcontroller.packet.IPv4;
-import net.floodlightcontroller.storage.memory.MemoryStorageSource;
-
import org.easymock.EasyMock;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.openflow.protocol.OFPacketIn;
import org.openflow.util.HexString;
import org.powermock.api.easymock.PowerMock;
import org.powermock.core.classloader.annotations.PrepareForTest;
@@ -39,9 +28,6 @@
import org.slf4j.LoggerFactory;
import com.thinkaurelius.titan.core.TitanFactory;
-import com.thinkaurelius.titan.core.TitanGraph;
-import com.tinkerpop.blueprints.Vertex;
-import com.tinkerpop.gremlin.java.GremlinPipeline;
//Add Powermock preparation
@RunWith(PowerMockRunner.class)
@@ -50,29 +36,14 @@
protected static Logger log = LoggerFactory.getLogger(SwitchStorageImpl.class);
+ String conf;
DeviceStorageImpl deviceImpl;
- DeviceManagerImpl deviceManager;
- protected IPacket testARPReplyPacket_1;
- FlowReconcileManager flowReconcileMgr;
- MemoryStorageSource storageSource;
- protected byte[] testARPReplyPacket_1_Srld;
- protected OFPacketIn packetIn_1;
- private static TitanGraph titanGraph;
- String conf;
private GraphDBConnection mockConn;
private GraphDBOperation mockOpe;
@Before
public void setUp() throws Exception {
-// Make mock cassandra DB
-// Replace TitanFactory.open() to return mock DB
-// titanGraph = TestDatabaseManager.getTestDatabase();
-// TestDatabaseManager.populateTestData(titanGraph);
-// PowerMock.mockStatic(TitanFactory.class);
-// EasyMock.expect(TitanFactory.open((String)EasyMock.anyObject())).andReturn(titanGraph);
-// PowerMock.replay(TitanFactory.class);
-
PowerMock.mockStatic(GraphDBConnection.class);
mockConn = createMock(GraphDBConnection.class);
PowerMock.suppress(PowerMock.constructor(GraphDBConnection.class));
@@ -104,7 +75,7 @@
multiIntString = "[" + IPv4.fromIPv4Address(intValue);
}
else{
- multiIntString += ":" + IPv4.fromIPv4Address(intValue);
+ multiIntString += "," + IPv4.fromIPv4Address(intValue);
}
}
return multiIntString + "]";
@@ -171,6 +142,7 @@
expect(mockOpe.newDevice()).andReturn(mockIDev);
expect(mockOpe.searchPort(switchMacAddr, portNum)).andReturn(mockIPort);
mockOpe.commit();
+
replay(mockOpe);
deviceImpl.init(conf);
@@ -179,6 +151,9 @@
IDeviceObject obj = deviceImpl.addDevice(mockDev);
assertNotNull(obj);
+ verify(mockIDev);
+ verify(mockOpe);
+
} catch(Exception e) {
fail(e.getMessage());
}
@@ -191,7 +166,7 @@
* Already added device is existed.
* Expect:
* Get proper IDeviceObject still.
- * Check the IDeviceObject properties set.
+ * Check the IDeviceObject properties set expectedly.
*/
//@Ignore
@Test
@@ -259,6 +234,9 @@
IDeviceObject obj2 = deviceImpl.addDevice(mockDev);
assertNotNull(obj2);
+ verify(mockIDev);
+ verify(mockOpe);
+
} catch(Exception e) {
fail(e.getMessage());
}
@@ -271,7 +249,7 @@
* The mac address and attachment point are the same.
* All of the other parameter are different.
* Expect:
- * Changed parameters are set properly.
+ * Changed parameters are set expectedly.
*/
//@Ignore
@Test
@@ -350,6 +328,9 @@
IDeviceObject obj2 = deviceImpl.updateDevice(mockDev2);
assertNotNull(obj2);
+ verify(mockIDev);
+ verify(mockOpe);
+
} catch(Exception e) {
fail(e.getMessage());
}
@@ -380,29 +361,17 @@
SwitchPort sp1 = new SwitchPort(switchMacAddrL, portNum);
SwitchPort[] sps = {sp1};
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
+ expect(mockDev.getMACAddressString()).andReturn(macAddr).anyTimes();
expect(mockDev.getAttachmentPoints()).andReturn(sps);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
expect(mockDev.getIPv4Addresses()).andReturn(ipaddrs);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
-
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
replay(mockDev);
//Dev2 (attached port is the same)
IDevice mockDev2 = createMock(Device.class);
String macAddr2 = "33:33:33:33:33:33";
- expect(mockDev2.getMACAddressString()).andReturn(macAddr2);
- expect(mockDev2.getMACAddressString()).andReturn(macAddr2);
- expect(mockDev2.getMACAddressString()).andReturn(macAddr2);
- expect(mockDev2.getMACAddressString()).andReturn(macAddr2);
+ expect(mockDev2.getMACAddressString()).andReturn(macAddr2).anyTimes();
expect(mockDev2.getIPv4Addresses()).andReturn(ipaddrs);
expect(mockDev2.getAttachmentPoints()).andReturn(sps);
- expect(mockDev2.getMACAddressString()).andReturn(macAddr2);
- expect(mockDev2.getMACAddressString()).andReturn(macAddr2);
replay(mockDev2);
//Mock IPortObject 1 with dpid "00:00:00:00:00:00:0a:01" and port "1"
@@ -452,7 +421,9 @@
deviceImpl.removeDevice(mockDev);
IDeviceObject dev2 = deviceImpl.getDeviceByMac(macAddr);
assertNull(dev2);
-
+
+ verify(mockIDev);
+ verify(mockOpe);
} catch(Exception e) {
fail(e.getMessage());
}
@@ -466,7 +437,7 @@
* Expect:
* 1.Nothing happen when you put unregistered mac address
* 2.Get the proper IDeviceObject.
- * 3.Check the IDeviceObject properties set.
+ * 3.Check the IDeviceObject properties set expectedly.
*/
//@Ignore
@Test
@@ -486,14 +457,9 @@
String dummyMac = "33:33:33:33:33:33";
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
+ expect(mockDev.getMACAddressString()).andReturn(macAddr).anyTimes();
expect(mockDev.getIPv4Addresses()).andReturn(ipaddrs);
expect(mockDev.getAttachmentPoints()).andReturn(sps);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
replay(mockDev);
//Mock IPortObject 1 with dpid "00:00:00:00:00:00:0a:01" and port "1"
@@ -538,6 +504,8 @@
IDeviceObject dev = deviceImpl.getDeviceByMac(macAddr);
assertNotNull(dev);
+ verify(mockIDev);
+ verify(mockOpe);
} catch(Exception e) {
fail(e.getMessage());
}
@@ -551,7 +519,7 @@
* Expect:
* 1. Nothing happen when you put unregistered mac address
* 2. Get the proper IDeviceObject.
- * 3. Check the IDeviceObject properties set.
+ * 3. Check the IDeviceObject properties set expectedly.
*/
//@Ignore
@Test
@@ -561,8 +529,10 @@
IDevice mockDev = createMock(Device.class);
String macAddr = "99:99:99:99:99:99";
String ip = "192.168.100.1";
+ String ip2 = "192.168.100.2";
Integer ipInt = IPv4.toIPv4Address(ip);
- Integer[] ipaddrs = {ipInt};
+ Integer ipInt2 = IPv4.toIPv4Address(ip2);
+ Integer[] ipaddrs = {ipInt, ipInt2};
String switchMacAddr = "00:00:00:00:00:00:0a:01";
long switchMacAddrL = HexString.toLong(switchMacAddr);
short portNum = 2;
@@ -571,14 +541,9 @@
String dummyIP = "222.222.222.222";
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
+ expect(mockDev.getMACAddressString()).andReturn(macAddr).anyTimes();
expect(mockDev.getIPv4Addresses()).andReturn(ipaddrs);
expect(mockDev.getAttachmentPoints()).andReturn(sps);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
replay(mockDev);
//Mock IPortObject 1 with dpid "00:00:00:00:00:00:0a:01" and port "1"
@@ -597,7 +562,7 @@
//Expectation for mockIDeviceObject
IDeviceObject mockIDev = createMock(IDeviceObject.class);
expect(mockIDev.getAttachedPorts()).andReturn(portList);
- expect(mockIDev.getIPAddress()).andReturn(ip).times(2);
+ expect(mockIDev.getIPAddress()).andReturn(makeIPStringFromArray(ipaddrs)).times(2);
mockIDev.setIPAddress(makeIPStringFromArray(ipaddrs));
mockIDev.setMACAddress(macAddr);
mockIDev.setType("device");
@@ -617,8 +582,6 @@
expect(mockOpe.getDevices()).andReturn(deviceList).times(2);
replay(mockOpe);
-
-
deviceImpl.init(conf);
IDeviceObject obj = deviceImpl.addDevice(mockDev);
@@ -629,6 +592,9 @@
IDeviceObject dev = deviceImpl.getDeviceByIP(ip);
assertNotNull(dev);
+
+ verify(mockIDev);
+ verify(mockOpe);
} catch(Exception e) {
fail(e.getMessage());
@@ -642,7 +608,7 @@
* 1. Unexisting attachment point argument is set
* Expect:
* 1. Nothing happen when you put unexisting attachment point.
- * 2. Change the attachment point.
+ * 2. Set the attachment point expectedly;
*/
//@Ignore
@Test
@@ -660,14 +626,9 @@
SwitchPort sp1 = new SwitchPort(switchMacAddrL, portNum);
SwitchPort[] sps = {sp1};
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
+ expect(mockDev.getMACAddressString()).andReturn(macAddr).anyTimes();
expect(mockDev.getIPv4Addresses()).andReturn(ipaddrs);
expect(mockDev.getAttachmentPoints()).andReturn(sps);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
replay(mockDev);
//Dev2
@@ -678,14 +639,9 @@
SwitchPort sp2 = new SwitchPort(lSwitchMacAddr2, portNum2);
SwitchPort sps2[] = {sp2};
- expect(mockDev2.getMACAddressString()).andReturn(macAddr);
- expect(mockDev2.getMACAddressString()).andReturn(macAddr);
- expect(mockDev2.getMACAddressString()).andReturn(macAddr);
- expect(mockDev2.getMACAddressString()).andReturn(macAddr);
+ expect(mockDev2.getMACAddressString()).andReturn(macAddr).anyTimes();
expect(mockDev2.getIPv4Addresses()).andReturn(ipaddrs);
expect(mockDev2.getAttachmentPoints()).andReturn(sps2);
- expect(mockDev2.getMACAddressString()).andReturn(macAddr);
- expect(mockDev2.getMACAddressString()).andReturn(macAddr);
replay(mockDev2);
//Dev3
@@ -696,14 +652,9 @@
SwitchPort sp3 = new SwitchPort(lSwitchMacAddr3, portNum3);
SwitchPort sps3[] = {sp3};
- expect(mockDev3.getMACAddressString()).andReturn(macAddr);
- expect(mockDev3.getMACAddressString()).andReturn(macAddr);
- expect(mockDev3.getMACAddressString()).andReturn(macAddr);
- expect(mockDev3.getMACAddressString()).andReturn(macAddr);
+ expect(mockDev3.getMACAddressString()).andReturn(macAddr).anyTimes();
expect(mockDev3.getIPv4Addresses()).andReturn(ipaddrs);
expect(mockDev3.getAttachmentPoints()).andReturn(sps3);
- expect(mockDev3.getMACAddressString()).andReturn(macAddr);
- expect(mockDev3.getMACAddressString()).andReturn(macAddr);
replay(mockDev3);
IDeviceObject mockIDev = createMock(IDeviceObject.class);
@@ -776,6 +727,9 @@
deviceImpl.changeDeviceAttachments(mockDev2);
deviceImpl.changeDeviceAttachments(mockDev3);
+
+ verify(mockIDev);
+ verify(mockOpe);
} catch(Exception e) {
fail(e.getMessage());
@@ -795,7 +749,7 @@
* Condition:
* N/A
* Expect:
- * 1. Check correctly changed the ipadress
+ * 1. Set the ipadress expectedly.
*/
//@Ignore
@Test
@@ -814,14 +768,9 @@
SwitchPort sp1 = new SwitchPort(switchMacAddrL, portNum);
SwitchPort[] sps = {sp1};
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
+ expect(mockDev.getMACAddressString()).andReturn(macAddr).anyTimes();
expect(mockDev.getIPv4Addresses()).andReturn(ipaddrs);
expect(mockDev.getAttachmentPoints()).andReturn(sps);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
- expect(mockDev.getMACAddressString()).andReturn(macAddr);
replay(mockDev);
//Dev2
@@ -871,6 +820,9 @@
assertNotNull(obj);
deviceImpl.changeDeviceIPv4Address(mockDev2);
+
+ verify(mockIDev);
+ verify(mockOpe);
}
catch(Exception e) {