Showing
6 changed files
with
139 additions
and
19 deletions
... | @@ -23,7 +23,6 @@ public class DefaultGraphDescription extends AbstractDescription | ... | @@ -23,7 +23,6 @@ public class DefaultGraphDescription extends AbstractDescription |
23 | 23 | ||
24 | private final Map<DeviceId, TopologyVertex> vertexesById = Maps.newHashMap(); | 24 | private final Map<DeviceId, TopologyVertex> vertexesById = Maps.newHashMap(); |
25 | 25 | ||
26 | - | ||
27 | /** | 26 | /** |
28 | * Creates a minimal topology graph description to allow core to construct | 27 | * Creates a minimal topology graph description to allow core to construct |
29 | * and process the topology graph. | 28 | * and process the topology graph. |
... | @@ -84,9 +83,7 @@ public class DefaultGraphDescription extends AbstractDescription | ... | @@ -84,9 +83,7 @@ public class DefaultGraphDescription extends AbstractDescription |
84 | DeviceId id = connectPoint.deviceId(); | 83 | DeviceId id = connectPoint.deviceId(); |
85 | TopologyVertex vertex = vertexesById.get(id); | 84 | TopologyVertex vertex = vertexesById.get(id); |
86 | if (vertex == null) { | 85 | if (vertex == null) { |
87 | - // If vertex does not exist, create one and register it. | 86 | + throw new IllegalArgumentException("Vertex missing for " + id); |
88 | - vertex = new DefaultTopologyVertex(id); | ||
89 | - vertexesById.put(id, vertex); | ||
90 | } | 87 | } |
91 | return vertex; | 88 | return vertex; |
92 | } | 89 | } | ... | ... |
... | @@ -3,8 +3,7 @@ package org.onlab.onos.net; | ... | @@ -3,8 +3,7 @@ package org.onlab.onos.net; |
3 | import com.google.common.testing.EqualsTester; | 3 | import com.google.common.testing.EqualsTester; |
4 | import org.junit.Test; | 4 | import org.junit.Test; |
5 | 5 | ||
6 | -import static org.junit.Assert.*; | 6 | +import static org.junit.Assert.assertEquals; |
7 | -import static org.onlab.onos.net.Device.Type.SWITCH; | ||
8 | import static org.onlab.onos.net.DeviceId.deviceId; | 7 | import static org.onlab.onos.net.DeviceId.deviceId; |
9 | import static org.onlab.onos.net.PortNumber.portNumber; | 8 | import static org.onlab.onos.net.PortNumber.portNumber; |
10 | 9 | ||
... | @@ -13,10 +12,10 @@ import static org.onlab.onos.net.PortNumber.portNumber; | ... | @@ -13,10 +12,10 @@ import static org.onlab.onos.net.PortNumber.portNumber; |
13 | */ | 12 | */ |
14 | public class ConnectPointTest { | 13 | public class ConnectPointTest { |
15 | 14 | ||
16 | - public static final DeviceId DID1 = deviceId("1"); | 15 | + private static final DeviceId DID1 = deviceId("1"); |
17 | - public static final DeviceId DID2 = deviceId("2"); | 16 | + private static final DeviceId DID2 = deviceId("2"); |
18 | - public static final PortNumber P1 = portNumber(1); | 17 | + private static final PortNumber P1 = portNumber(1); |
19 | - public static final PortNumber P2 = portNumber(2); | 18 | + private static final PortNumber P2 = portNumber(2); |
20 | 19 | ||
21 | @Test | 20 | @Test |
22 | public void basics() { | 21 | public void basics() { | ... | ... |
... | @@ -13,15 +13,14 @@ import static org.onlab.onos.net.DeviceId.deviceId; | ... | @@ -13,15 +13,14 @@ import static org.onlab.onos.net.DeviceId.deviceId; |
13 | */ | 13 | */ |
14 | public class DefaultDeviceTest { | 14 | public class DefaultDeviceTest { |
15 | 15 | ||
16 | - private static final ProviderId PID = new ProviderId("of", "foo"); | 16 | + static final ProviderId PID = new ProviderId("of", "foo"); |
17 | - private static final DeviceId DID1 = deviceId("of:foo"); | 17 | + static final DeviceId DID1 = deviceId("of:foo"); |
18 | - private static final DeviceId DID2 = deviceId("of:bar"); | 18 | + static final DeviceId DID2 = deviceId("of:bar"); |
19 | - private static final String MFR = "whitebox"; | 19 | + static final String MFR = "whitebox"; |
20 | - private static final String HW = "1.1.x"; | 20 | + static final String HW = "1.1.x"; |
21 | - private static final String SW = "3.9.1"; | 21 | + static final String SW = "3.9.1"; |
22 | - private static final String SN1 = "43311-12345"; | 22 | + static final String SN1 = "43311-12345"; |
23 | - private static final String SN2 = "42346-43512"; | 23 | + static final String SN2 = "42346-43512"; |
24 | - | ||
25 | 24 | ||
26 | @Test | 25 | @Test |
27 | public void testEquality() { | 26 | public void testEquality() { | ... | ... |
1 | +package org.onlab.onos.net.topology; | ||
2 | + | ||
3 | +import com.google.common.collect.ImmutableSet; | ||
4 | +import org.junit.Test; | ||
5 | +import org.onlab.onos.net.DefaultDevice; | ||
6 | +import org.onlab.onos.net.Device; | ||
7 | +import org.onlab.onos.net.DeviceId; | ||
8 | + | ||
9 | +import static org.junit.Assert.assertEquals; | ||
10 | +import static org.onlab.onos.net.Device.Type.SWITCH; | ||
11 | +import static org.onlab.onos.net.DeviceId.deviceId; | ||
12 | +import static org.onlab.onos.net.topology.DefaultTopologyEdgeTest.*; | ||
13 | + | ||
14 | +public class DefaultGraphDescriptionTest { | ||
15 | + | ||
16 | + static final DefaultTopologyEdge E1 = new DefaultTopologyEdge(V1, V2, L1); | ||
17 | + static final DefaultTopologyEdge E2 = new DefaultTopologyEdge(V1, V2, L1); | ||
18 | + | ||
19 | + private static final DeviceId D3 = deviceId("3"); | ||
20 | + | ||
21 | + static final Device DEV1 = new DefaultDevice(PID, D1, SWITCH, "", "", "", ""); | ||
22 | + static final Device DEV2 = new DefaultDevice(PID, D2, SWITCH, "", "", "", ""); | ||
23 | + static final Device DEV3 = new DefaultDevice(PID, D3, SWITCH, "", "", "", ""); | ||
24 | + | ||
25 | + @Test | ||
26 | + public void basics() { | ||
27 | + DefaultGraphDescription desc = | ||
28 | + new DefaultGraphDescription(4321L, ImmutableSet.of(DEV1, DEV2, DEV3), | ||
29 | + ImmutableSet.of(L1, L2)); | ||
30 | + assertEquals("incorrect time", 4321L, desc.timestamp()); | ||
31 | + assertEquals("incorrect vertex count", 3, desc.vertexes().size()); | ||
32 | + assertEquals("incorrect edge count", 2, desc.edges().size()); | ||
33 | + } | ||
34 | + | ||
35 | + @Test(expected = IllegalArgumentException.class) | ||
36 | + public void missingVertex() { | ||
37 | + new DefaultGraphDescription(4321L, ImmutableSet.of(DEV1, DEV3), | ||
38 | + ImmutableSet.of(L1, L2)); | ||
39 | + } | ||
40 | + | ||
41 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | +package org.onlab.onos.net.topology; | ||
2 | + | ||
3 | +import com.google.common.testing.EqualsTester; | ||
4 | +import org.junit.Test; | ||
5 | +import org.onlab.onos.net.ConnectPoint; | ||
6 | +import org.onlab.onos.net.DefaultLink; | ||
7 | +import org.onlab.onos.net.DeviceId; | ||
8 | +import org.onlab.onos.net.Link; | ||
9 | +import org.onlab.onos.net.PortNumber; | ||
10 | +import org.onlab.onos.net.provider.ProviderId; | ||
11 | + | ||
12 | +import static org.junit.Assert.assertEquals; | ||
13 | +import static org.onlab.onos.net.DeviceId.deviceId; | ||
14 | +import static org.onlab.onos.net.PortNumber.portNumber; | ||
15 | + | ||
16 | +/** | ||
17 | + * Tests of the topology graph edge. | ||
18 | + */ | ||
19 | +public class DefaultTopologyEdgeTest { | ||
20 | + | ||
21 | + static final DeviceId D1 = deviceId("1"); | ||
22 | + static final DeviceId D2 = deviceId("2"); | ||
23 | + static final PortNumber P1 = portNumber(1); | ||
24 | + static final PortNumber P2 = portNumber(2); | ||
25 | + | ||
26 | + static final ConnectPoint CP1 = new ConnectPoint(D1, P1); | ||
27 | + static final ConnectPoint CP2 = new ConnectPoint(D2, P1); | ||
28 | + static final ConnectPoint CP3 = new ConnectPoint(D2, P1); | ||
29 | + static final ConnectPoint CP4 = new ConnectPoint(D1, P2); | ||
30 | + | ||
31 | + static final DefaultTopologyVertex V1 = new DefaultTopologyVertex(D1); | ||
32 | + static final DefaultTopologyVertex V2 = new DefaultTopologyVertex(D2); | ||
33 | + | ||
34 | + static final ProviderId PID = new ProviderId("foo", "bar"); | ||
35 | + | ||
36 | + static final Link L1 = new DefaultLink(PID, CP1, CP2, Link.Type.INDIRECT); | ||
37 | + static final Link L2 = new DefaultLink(PID, CP3, CP4, Link.Type.INDIRECT); | ||
38 | + | ||
39 | + @Test | ||
40 | + public void basics() { | ||
41 | + DefaultTopologyEdge e = new DefaultTopologyEdge(V1, V2, L1); | ||
42 | + assertEquals("incorrect src", V1, e.src()); | ||
43 | + assertEquals("incorrect dst", V2, e.dst()); | ||
44 | + assertEquals("incorrect link", L1, e.link()); | ||
45 | + | ||
46 | + new EqualsTester() | ||
47 | + .addEqualityGroup(new DefaultTopologyEdge(V1, V2, L1), | ||
48 | + new DefaultTopologyEdge(V1, V2, L1)) | ||
49 | + .addEqualityGroup(new DefaultTopologyEdge(V2, V1, L2), | ||
50 | + new DefaultTopologyEdge(V2, V1, L2)) | ||
51 | + .testEquals(); | ||
52 | + } | ||
53 | + | ||
54 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | +package org.onlab.onos.net.topology; | ||
2 | + | ||
3 | +import com.google.common.testing.EqualsTester; | ||
4 | +import org.junit.Test; | ||
5 | +import org.onlab.onos.net.DeviceId; | ||
6 | + | ||
7 | +import static org.junit.Assert.*; | ||
8 | +import static org.onlab.onos.net.DeviceId.deviceId; | ||
9 | + | ||
10 | +/** | ||
11 | + * Tests of the topology graph vertex. | ||
12 | + */ | ||
13 | +public class DefaultTopologyVertexTest { | ||
14 | + | ||
15 | + private static final DeviceId D1 = deviceId("1"); | ||
16 | + private static final DeviceId D2 = deviceId("2"); | ||
17 | + | ||
18 | + @Test | ||
19 | + public void basics() { | ||
20 | + DefaultTopologyVertex v = new DefaultTopologyVertex(D1); | ||
21 | + assertEquals("incorrect device id", D1, v.deviceId()); | ||
22 | + | ||
23 | + new EqualsTester() | ||
24 | + .addEqualityGroup(new DefaultTopologyVertex(D1), | ||
25 | + new DefaultTopologyVertex(D1)) | ||
26 | + .addEqualityGroup(new DefaultTopologyVertex(D2), | ||
27 | + new DefaultTopologyVertex(D2)).testEquals(); | ||
28 | + } | ||
29 | + | ||
30 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or login to post a comment