Added REST API to administratively remove hosts.
Change-Id: I8f2427f9365fefdc18771daf70b8f8abcad42b0b
diff --git a/web/api/src/test/java/org/onosproject/rest/resources/HostResourceTest.java b/web/api/src/test/java/org/onosproject/rest/resources/HostResourceTest.java
index 072ca33..4c0ea91 100644
--- a/web/api/src/test/java/org/onosproject/rest/resources/HostResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/resources/HostResourceTest.java
@@ -38,6 +38,7 @@
import org.onosproject.net.Host;
import org.onosproject.net.HostId;
import org.onosproject.net.HostLocation;
+import org.onosproject.net.host.HostAdminService;
import org.onosproject.net.host.HostProviderRegistry;
import org.onosproject.net.host.HostProviderService;
import org.onosproject.net.host.HostService;
@@ -75,7 +76,7 @@
* A base class should/will be created to provide further assistance for testing.
*/
public class HostResourceTest extends ResourceTest {
- final HostService mockHostService = createMock(HostService.class);
+ final HostAdminService mockHostService = createMock(HostAdminService.class);
final HostProviderRegistry mockHostProviderRegistry = createMock(HostProviderRegistry.class);
final HostProviderService mockHostProviderService = createMock(HostProviderService.class);
final HashSet<Host> hosts = new HashSet<>();
@@ -93,6 +94,7 @@
ServiceDirectory testDirectory =
new TestServiceDirectory()
.add(HostService.class, mockHostService)
+ .add(HostAdminService.class, mockHostService)
.add(CodecService.class, codecService)
.add(HostProviderRegistry.class, mockHostProviderRegistry);
BaseResource.setServiceDirectory(testDirectory);
@@ -392,5 +394,22 @@
String location = response.getLocation().getPath();
assertThat(location, Matchers.startsWith("/hosts/11:22:33:44:55:66/None"));
}
+
+ /**
+ * Tests administrative removal of a host.
+ */
+ @Test
+ public void testDelete() {
+ HostId hostId = HostId.hostId("11:22:33:44:55:66/None");
+ mockHostService.removeHost(hostId);
+ expectLastCall();
+ replay(mockHostService);
+
+ WebTarget wt = target();
+ Response response = wt.path("hosts/11:22:33:44:55:66/None")
+ .request(MediaType.APPLICATION_JSON_TYPE)
+ .delete();
+ assertThat(response.getStatus(), is(HttpURLConnection.HTTP_NO_CONTENT));
+ }
}