Fix ONOS-151 to support installation of PointToPointIntent
- Now support installation of PointToPointIntent that specifies the same
switches as source element ID and destination element ID
Change-Id: If206f3fde77ca198fe1df078e7292a05e5bd7424
diff --git a/core/api/src/test/java/org/onlab/onos/net/intent/PathIntentTest.java b/core/api/src/test/java/org/onlab/onos/net/intent/PathIntentTest.java
index 5fce240..4451e66 100644
--- a/core/api/src/test/java/org/onlab/onos/net/intent/PathIntentTest.java
+++ b/core/api/src/test/java/org/onlab/onos/net/intent/PathIntentTest.java
@@ -16,10 +16,21 @@
package org.onlab.onos.net.intent;
import org.junit.Test;
+import org.onlab.onos.net.ConnectPoint;
+import org.onlab.onos.net.DefaultLink;
+import org.onlab.onos.net.DefaultPath;
+import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.NetTestTools;
import org.onlab.onos.net.Path;
+import org.onlab.onos.net.PortNumber;
+import org.onlab.onos.net.provider.ProviderId;
+
+import java.util.Arrays;
import static org.junit.Assert.assertEquals;
+import static org.onlab.onos.net.DeviceId.deviceId;
+import static org.onlab.onos.net.Link.Type.DIRECT;
+import static org.onlab.onos.net.PortNumber.portNumber;
public class PathIntentTest extends ConnectivityIntentTest {
// 111:11 --> 222:22
@@ -28,6 +39,21 @@
// 111:11 --> 333:33
private static final Path PATH2 = NetTestTools.createPath("222", "333");
+ private final ProviderId provider1 = new ProviderId("of", "1");
+ private final DeviceId device1 = deviceId("1");
+ private final DeviceId device2 = deviceId("2");
+ private final PortNumber port1 = portNumber(1);
+ private final PortNumber port2 = portNumber(2);
+ private final PortNumber port3 = portNumber(3);
+ private final PortNumber port4 = portNumber(4);
+ private final ConnectPoint cp1 = new ConnectPoint(device1, port1);
+ private final ConnectPoint cp2 = new ConnectPoint(device1, port2);
+ private final ConnectPoint cp3 = new ConnectPoint(device2, port3);
+ private final ConnectPoint cp4 = new ConnectPoint(device2, port4);
+ private final DefaultLink link1 = new DefaultLink(provider1, cp1, cp2, DIRECT);
+ private final DefaultLink link2 = new DefaultLink(provider1, cp1, cp2, DIRECT);
+ private final double cost = 1;
+
@Test
public void basics() {
PathIntent intent = createOne();
@@ -46,4 +72,23 @@
protected PathIntent createAnother() {
return new PathIntent(APPID, MATCH, NOP, PATH2);
}
+
+ /**
+ * Tests the constructor raises IllegalArgumentException when the same device is specified in
+ * source and destination of a link.
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testRaiseExceptionWhenSameDevices() {
+ new PathIntent(APPID, MATCH, NOP, new DefaultPath(provider1, Arrays.asList(link1), cost));
+ }
+
+ /**
+ * Tests the constructor raises IllegalArgumentException when the different elements are specified
+ * in source element of the first link and destination element of the second link.
+ */
+ @Test(expected = IllegalArgumentException.class)
+ public void testRaiseExceptionWhenDifferentDevice() {
+ new PathIntent(APPID, MATCH, NOP, new DefaultPath(provider1, Arrays.asList(link1, link2), cost));
+ }
+
}