ONOS-6106 Adding Missing Fields in the " get flows and get devices" rest api
Change-Id: I6657b8d75388e850acaa53fe4f5be261e45a9bca
diff --git a/web/api/src/test/java/org/onosproject/rest/resources/DevicesResourceTest.java b/web/api/src/test/java/org/onosproject/rest/resources/DevicesResourceTest.java
index 6b6386f..c4e474b 100644
--- a/web/api/src/test/java/org/onosproject/rest/resources/DevicesResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/resources/DevicesResourceTest.java
@@ -19,6 +19,7 @@
import com.eclipsesource.json.JsonArray;
import com.eclipsesource.json.JsonObject;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import org.hamcrest.Description;
import org.hamcrest.TypeSafeMatcher;
import org.junit.After;
@@ -35,9 +36,17 @@
import org.onosproject.net.MastershipRole;
import org.onosproject.net.Port;
import org.onosproject.net.device.DeviceService;
+import org.onosproject.net.driver.DriverService;
+import org.onosproject.net.driver.DefaultDriver;
+import org.onosproject.net.driver.TestBehaviourImpl;
+import org.onosproject.net.driver.TestBehaviour;
+import org.onosproject.net.driver.TestBehaviourTwo;
+import org.onosproject.net.driver.TestBehaviourTwoImpl;
import javax.ws.rs.NotFoundException;
import javax.ws.rs.client.WebTarget;
+
+import java.util.ArrayList;
import java.util.List;
import static org.easymock.EasyMock.createMock;
@@ -61,6 +70,13 @@
*/
public class DevicesResourceTest extends ResourceTest {
DeviceService mockDeviceService;
+ DriverService mockDriverService;
+ DefaultDriver driver = new DefaultDriver("ovs", new ArrayList<>(), "Circus", "lux", "1.2a",
+ ImmutableMap.of(TestBehaviour.class,
+ TestBehaviourImpl.class,
+ TestBehaviourTwo.class,
+ TestBehaviourTwoImpl.class),
+ ImmutableMap.of("foo", "bar"));
/**
* Hamcrest matcher to check that an device representation in JSON matches
@@ -99,6 +115,7 @@
// check HW version field
String jsonHwVersion = jsonDevice.get("hw").asString();
+
if (!jsonHwVersion.equals(device.hwVersion())) {
reason = "hw Version " + device.hwVersion();
return false;
@@ -212,7 +229,7 @@
@Before
public void setUpMocks() {
mockDeviceService = createMock(DeviceService.class);
-
+ mockDriverService = createMock(DriverService.class);
expect(mockDeviceService.isAvailable(isA(DeviceId.class)))
.andReturn(true)
.anyTimes();
@@ -220,12 +237,14 @@
.andReturn(MastershipRole.MASTER)
.anyTimes();
+
// Register the services needed for the test
CodecManager codecService = new CodecManager();
codecService.activate();
ServiceDirectory testDirectory =
new TestServiceDirectory()
.add(DeviceService.class, mockDeviceService)
+ .add(DriverService.class, mockDriverService)
.add(CodecService.class, codecService);
BaseResource.setServiceDirectory(testDirectory);
@@ -267,6 +286,22 @@
replay(mockDeviceService);
+ expect(mockDriverService.getDriver(did("dev1")))
+ .andReturn(driver)
+ .anyTimes();
+
+ expect(mockDriverService.getDriver(did("dev2")))
+ .andReturn(driver)
+ .anyTimes();
+
+ expect(mockDriverService.getDriver(did("dev3")))
+ .andReturn(driver)
+ .anyTimes();
+
+ replay(mockDriverService);
+
+
+
WebTarget wt = target();
String response = wt.path("devices").request().get(String.class);
assertThat(response, containsString("{\"devices\":["));
@@ -295,11 +330,14 @@
String deviceIdString = "testdevice";
DeviceId deviceId = did(deviceIdString);
Device device = device(deviceIdString);
-
expect(mockDeviceService.getDevice(deviceId))
.andReturn(device)
.once();
replay(mockDeviceService);
+ expect(mockDriverService.getDriver(deviceId))
+ .andReturn(driver)
+ .anyTimes();
+ replay(mockDriverService);
WebTarget wt = target();
String response = wt.path("devices/" + deviceId).request().get(String.class);
@@ -317,6 +355,7 @@
DeviceId deviceId = did(deviceIdString);
Device device = device(deviceIdString);
+
Port port1 = new DefaultPort(device, portNumber(1), true);
Port port2 = new DefaultPort(device, portNumber(2), true);
Port port3 = new DefaultPort(device, portNumber(3), true);
@@ -331,6 +370,12 @@
.once();
replay(mockDeviceService);
+ expect(mockDriverService.getDriver(deviceId))
+ .andReturn(driver)
+ .anyTimes();
+ replay(mockDriverService);
+
+
WebTarget wt = target();
String response =
wt.path("devices/" + deviceId + "/ports").request()