Committed by
Gerrit Code Review
Fix for ONOS-4940
Change-Id: Id4e5913cb69e913190a0b32cd41bac0dbe786729 (cherry picked from commit 924c54cc)
Showing
2 changed files
with
33 additions
and
6 deletions
... | @@ -22,6 +22,7 @@ import org.onosproject.net.ConnectPoint; | ... | @@ -22,6 +22,7 @@ import org.onosproject.net.ConnectPoint; |
22 | import org.onosproject.net.DeviceId; | 22 | import org.onosproject.net.DeviceId; |
23 | import org.onosproject.net.Link; | 23 | import org.onosproject.net.Link; |
24 | import org.onosproject.net.PortNumber; | 24 | import org.onosproject.net.PortNumber; |
25 | +import org.onosproject.net.device.DeviceService; | ||
25 | import org.onosproject.net.topology.ClusterId; | 26 | import org.onosproject.net.topology.ClusterId; |
26 | import org.onosproject.net.topology.Topology; | 27 | import org.onosproject.net.topology.Topology; |
27 | import org.onosproject.net.topology.TopologyCluster; | 28 | import org.onosproject.net.topology.TopologyCluster; |
... | @@ -35,7 +36,6 @@ import javax.ws.rs.Produces; | ... | @@ -35,7 +36,6 @@ import javax.ws.rs.Produces; |
35 | import javax.ws.rs.core.MediaType; | 36 | import javax.ws.rs.core.MediaType; |
36 | import javax.ws.rs.core.Response; | 37 | import javax.ws.rs.core.Response; |
37 | import java.util.List; | 38 | import java.util.List; |
38 | - | ||
39 | import static org.onlab.util.Tools.nullIsNotFound; | 39 | import static org.onlab.util.Tools.nullIsNotFound; |
40 | 40 | ||
41 | /** | 41 | /** |
... | @@ -187,9 +187,10 @@ public class TopologyWebResource extends AbstractWebResource { | ... | @@ -187,9 +187,10 @@ public class TopologyWebResource extends AbstractWebResource { |
187 | @Path("broadcast/{connectPoint}") | 187 | @Path("broadcast/{connectPoint}") |
188 | public Response getConnectPointBroadcast(@PathParam("connectPoint") String connectPointString) { | 188 | public Response getConnectPointBroadcast(@PathParam("connectPoint") String connectPointString) { |
189 | Topology topology = get(TopologyService.class).currentTopology(); | 189 | Topology topology = get(TopologyService.class).currentTopology(); |
190 | - | ||
191 | DeviceId deviceId = DeviceId.deviceId(getDeviceId(connectPointString)); | 190 | DeviceId deviceId = DeviceId.deviceId(getDeviceId(connectPointString)); |
191 | + nullIsNotFound(get(DeviceService.class).getDevice(deviceId), "Device not found " + connectPointString); | ||
192 | PortNumber portNumber = PortNumber.portNumber(getPortNumber(connectPointString)); | 192 | PortNumber portNumber = PortNumber.portNumber(getPortNumber(connectPointString)); |
193 | + nullIsNotFound(get(DeviceService.class).getPort(deviceId, portNumber), "Port not found " + connectPointString); | ||
193 | ConnectPoint connectPoint = new ConnectPoint(deviceId, portNumber); | 194 | ConnectPoint connectPoint = new ConnectPoint(deviceId, portNumber); |
194 | boolean isBroadcast = get(TopologyService.class).isBroadcastPoint(topology, connectPoint); | 195 | boolean isBroadcast = get(TopologyService.class).isBroadcastPoint(topology, connectPoint); |
195 | 196 | ||
... | @@ -211,9 +212,10 @@ public class TopologyWebResource extends AbstractWebResource { | ... | @@ -211,9 +212,10 @@ public class TopologyWebResource extends AbstractWebResource { |
211 | @Path("infrastructure/{connectPoint}") | 212 | @Path("infrastructure/{connectPoint}") |
212 | public Response getConnectPointInfrastructure(@PathParam("connectPoint") String connectPointString) { | 213 | public Response getConnectPointInfrastructure(@PathParam("connectPoint") String connectPointString) { |
213 | Topology topology = get(TopologyService.class).currentTopology(); | 214 | Topology topology = get(TopologyService.class).currentTopology(); |
214 | - | ||
215 | DeviceId deviceId = DeviceId.deviceId(getDeviceId(connectPointString)); | 215 | DeviceId deviceId = DeviceId.deviceId(getDeviceId(connectPointString)); |
216 | + nullIsNotFound(get(DeviceService.class).getDevice(deviceId), "Device not found " + connectPointString); | ||
216 | PortNumber portNumber = PortNumber.portNumber(getPortNumber(connectPointString)); | 217 | PortNumber portNumber = PortNumber.portNumber(getPortNumber(connectPointString)); |
218 | + nullIsNotFound(get(DeviceService.class).getPort(deviceId, portNumber), "Port not found " + connectPointString); | ||
217 | ConnectPoint connectPoint = new ConnectPoint(deviceId, portNumber); | 219 | ConnectPoint connectPoint = new ConnectPoint(deviceId, portNumber); |
218 | boolean isInfrastructure = get(TopologyService.class).isInfrastructure(topology, connectPoint); | 220 | boolean isInfrastructure = get(TopologyService.class).isInfrastructure(topology, connectPoint); |
219 | 221 | ... | ... |
... | @@ -29,6 +29,12 @@ import org.onosproject.codec.impl.CodecManager; | ... | @@ -29,6 +29,12 @@ import org.onosproject.codec.impl.CodecManager; |
29 | import org.onosproject.net.ConnectPoint; | 29 | import org.onosproject.net.ConnectPoint; |
30 | import org.onosproject.net.DeviceId; | 30 | import org.onosproject.net.DeviceId; |
31 | import org.onosproject.net.Link; | 31 | import org.onosproject.net.Link; |
32 | +import org.onosproject.net.Device; | ||
33 | +import org.onosproject.net.PortNumber; | ||
34 | +import org.onosproject.net.DefaultPort; | ||
35 | +import org.onosproject.net.Port; | ||
36 | +import org.onosproject.net.device.DeviceService; | ||
37 | +import org.onosproject.net.device.DeviceServiceAdapter; | ||
32 | import org.onosproject.net.provider.ProviderId; | 38 | import org.onosproject.net.provider.ProviderId; |
33 | import org.onosproject.net.topology.ClusterId; | 39 | import org.onosproject.net.topology.ClusterId; |
34 | import org.onosproject.net.topology.DefaultTopologyCluster; | 40 | import org.onosproject.net.topology.DefaultTopologyCluster; |
... | @@ -37,17 +43,17 @@ import org.onosproject.net.topology.Topology; | ... | @@ -37,17 +43,17 @@ import org.onosproject.net.topology.Topology; |
37 | import org.onosproject.net.topology.TopologyCluster; | 43 | import org.onosproject.net.topology.TopologyCluster; |
38 | import org.onosproject.net.topology.TopologyService; | 44 | import org.onosproject.net.topology.TopologyService; |
39 | import org.onosproject.net.topology.TopologyServiceAdapter; | 45 | import org.onosproject.net.topology.TopologyServiceAdapter; |
40 | - | ||
41 | import javax.ws.rs.client.WebTarget; | 46 | import javax.ws.rs.client.WebTarget; |
42 | import java.util.Set; | 47 | import java.util.Set; |
43 | - | ||
44 | import static org.hamcrest.Matchers.containsString; | 48 | import static org.hamcrest.Matchers.containsString; |
45 | import static org.hamcrest.Matchers.hasSize; | 49 | import static org.hamcrest.Matchers.hasSize; |
46 | import static org.hamcrest.Matchers.is; | 50 | import static org.hamcrest.Matchers.is; |
47 | import static org.hamcrest.Matchers.notNullValue; | 51 | import static org.hamcrest.Matchers.notNullValue; |
48 | import static org.junit.Assert.assertThat; | 52 | import static org.junit.Assert.assertThat; |
53 | +import static org.onosproject.net.NetTestTools.device; | ||
49 | import static org.onosproject.net.NetTestTools.did; | 54 | import static org.onosproject.net.NetTestTools.did; |
50 | import static org.onosproject.net.NetTestTools.link; | 55 | import static org.onosproject.net.NetTestTools.link; |
56 | +import static org.onosproject.net.PortNumber.portNumber; | ||
51 | 57 | ||
52 | /** | 58 | /** |
53 | * Unit tests for Topology REST APIs. | 59 | * Unit tests for Topology REST APIs. |
... | @@ -144,17 +150,37 @@ public class TopologyResourceTest extends ResourceTest { | ... | @@ -144,17 +150,37 @@ public class TopologyResourceTest extends ResourceTest { |
144 | 150 | ||
145 | } | 151 | } |
146 | 152 | ||
153 | + private static class MockDeviceService extends DeviceServiceAdapter { | ||
154 | + | ||
155 | + @Override | ||
156 | + public Device getDevice(DeviceId deviceId) { | ||
157 | + String deviceId1 = "dev2"; | ||
158 | + Device device = device(deviceId1); | ||
159 | + return device; | ||
160 | + } | ||
161 | + | ||
162 | + @Override | ||
163 | + public Port getPort(DeviceId deviceId, PortNumber portNumber) { | ||
164 | + String deviceIdString = "dev2"; | ||
165 | + Device device = device(deviceIdString); | ||
166 | + Port port = new DefaultPort(device, portNumber(1), true); | ||
167 | + return port; | ||
168 | + } | ||
169 | + } | ||
170 | + | ||
147 | /** | 171 | /** |
148 | * Initializes the test harness. | 172 | * Initializes the test harness. |
149 | */ | 173 | */ |
150 | @Before | 174 | @Before |
151 | public void setUpTest() { | 175 | public void setUpTest() { |
152 | TopologyService topologyService = new MockTopologyService(); | 176 | TopologyService topologyService = new MockTopologyService(); |
177 | + DeviceService mockDeviceService = new MockDeviceService(); | ||
153 | CodecManager codecService = new CodecManager(); | 178 | CodecManager codecService = new CodecManager(); |
154 | codecService.activate(); | 179 | codecService.activate(); |
155 | 180 | ||
156 | ServiceDirectory testDirectory = | 181 | ServiceDirectory testDirectory = |
157 | new TestServiceDirectory() | 182 | new TestServiceDirectory() |
183 | + .add(DeviceService.class, mockDeviceService) | ||
158 | .add(TopologyService.class, topologyService) | 184 | .add(TopologyService.class, topologyService) |
159 | .add(CodecService.class, codecService); | 185 | .add(CodecService.class, codecService); |
160 | BaseResource.setServiceDirectory(testDirectory); | 186 | BaseResource.setServiceDirectory(testDirectory); |
... | @@ -275,7 +301,6 @@ public class TopologyResourceTest extends ResourceTest { | ... | @@ -275,7 +301,6 @@ public class TopologyResourceTest extends ResourceTest { |
275 | String response = wt.path("topology/infrastructure/dev2:1").request().get(String.class); | 301 | String response = wt.path("topology/infrastructure/dev2:1").request().get(String.class); |
276 | JsonObject result = Json.parse(response).asObject(); | 302 | JsonObject result = Json.parse(response).asObject(); |
277 | assertThat(result, notNullValue()); | 303 | assertThat(result, notNullValue()); |
278 | - | ||
279 | assertThat(result.get("infrastructure").asBoolean(), is(true)); | 304 | assertThat(result.get("infrastructure").asBoolean(), is(true)); |
280 | } | 305 | } |
281 | } | 306 | } | ... | ... |
-
Please register or login to post a comment