From c4fe524b5a23225d994640c9cfe95ec27cc080ca Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 03 Apr 2013 15:50:29 +0000
Subject: [PATCH] CREST-692: Implement delete support

---
 opendj3/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/BasicRequestsTest.java |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/opendj3/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/BasicRequestsTest.java b/opendj3/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/BasicRequestsTest.java
index 047a305..20767ac 100644
--- a/opendj3/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/BasicRequestsTest.java
+++ b/opendj3/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/BasicRequestsTest.java
@@ -16,6 +16,8 @@
 package org.forgerock.opendj.rest2ldap;
 
 import static org.fest.assertions.Assertions.assertThat;
+import static org.fest.assertions.Fail.fail;
+import static org.forgerock.json.resource.Requests.newDeleteRequest;
 import static org.forgerock.json.resource.Requests.newReadRequest;
 import static org.forgerock.json.resource.Resources.newCollection;
 import static org.forgerock.json.resource.Resources.newInternalConnection;
@@ -25,6 +27,8 @@
 
 import java.io.IOException;
 
+import org.forgerock.json.resource.ConflictException;
+import org.forgerock.json.resource.Connection;
 import org.forgerock.json.resource.NotFoundException;
 import org.forgerock.json.resource.RequestHandler;
 import org.forgerock.json.resource.Resource;
@@ -46,6 +50,49 @@
     // so that we can check that the request handler is returning everything.
     // FIXME: factor out test for re-use as common test suite (e.g. for InMemoryBackend).
 
+    @Test(enabled = false)
+    public void testDelete() throws Exception {
+        final RequestHandler handler = newCollection(builder().build());
+        final Connection connection = newInternalConnection(handler);
+        final Resource resource = connection.delete(c(), newDeleteRequest("/test1"));
+        checkTestUser1(resource);
+        try {
+            connection.read(c(), newReadRequest("/test1"));
+            fail("Read succeeded unexpectedly");
+        } catch (final NotFoundException e) {
+            // Expected.
+        }
+    }
+
+    @Test(enabled = false)
+    public void testDeleteMVCCMatch() throws Exception {
+        final RequestHandler handler = newCollection(builder().build());
+        final Connection connection = newInternalConnection(handler);
+        final Resource resource =
+                connection.delete(c(), newDeleteRequest("/test1").setRevision("12345"));
+        checkTestUser1(resource);
+        try {
+            connection.read(c(), newReadRequest("/test1"));
+            fail("Read succeeded unexpectedly");
+        } catch (final NotFoundException e) {
+            // Expected.
+        }
+    }
+
+    @Test(expectedExceptions = ConflictException.class, enabled = false)
+    public void testDeleteMVCCNoMatch() throws Exception {
+        final RequestHandler handler = newCollection(builder().build());
+        final Connection connection = newInternalConnection(handler);
+        connection.delete(c(), newDeleteRequest("/test1").setRevision("12346"));
+    }
+
+    @Test(expectedExceptions = NotFoundException.class, enabled = false)
+    public void testDeleteNotFound() throws Exception {
+        final RequestHandler handler = newCollection(builder().build());
+        final Connection connection = newInternalConnection(handler);
+        connection.delete(c(), newDeleteRequest("/missing"));
+    }
+
     @Test
     public void testRead() throws Exception {
         final RequestHandler handler = newCollection(builder().build());

--
Gitblit v1.10.0