@Test(dataProvider = "annotatedRequestHandlerData") public void testDeleteCollectionItemAnnotatedRequestHandler( Class<?> requestHandler, boolean collection, boolean create, boolean read, boolean update, boolean delete, boolean patch, boolean resourceAction, boolean collectionAction, boolean query) throws Exception { // Given Object provider = requestHandler.newInstance(); Connection connection = Resources.newInternalConnection(createHandler(collection, provider)); DeleteRequest req = Requests.newDeleteRequest("/test/fred"); // When Promise<Resource, ResourceException> promise = connection.deleteAsync(new RootContext(), req); // Then if (delete && collection) { assertThat(promise).succeeded().withId().isEqualTo("delete-fred"); } else if (collection) { assertThat(promise).failedWithException().isInstanceOf(NotSupportedException.class); } else { assertThat(promise).failedWithException().isInstanceOf(NotFoundException.class); } }