Updated Branches:
  refs/heads/master 9089f68c1 -> b27658ecc

Propagate status in deleteAndVerifyContainerGone

Consuming the result of deleteContainerIfEmpty avoids an eventual
issue with Swift containers.  Also backfill some tests for
deleteContainerIfEmpty.  Fixes JCLOUDS-420.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/b27658ec
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/b27658ec
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/b27658ec

Branch: refs/heads/master
Commit: b27658eccdf1ced517332e094a06b2a9ab060ecd
Parents: 9089f68
Author: Andrew Gaul <[email protected]>
Authored: Mon Jan 6 11:24:39 2014 -0800
Committer: Andrew Gaul <[email protected]>
Committed: Mon Jan 6 11:41:45 2014 -0800

----------------------------------------------------------------------
 .../swift/blobstore/SwiftAsyncBlobStore.java    |  3 +--
 .../swift/CommonSwiftClientLiveTest.java        | 26 ++++++++++++++++++--
 2 files changed, 25 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/b27658ec/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/SwiftAsyncBlobStore.java
----------------------------------------------------------------------
diff --git 
a/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/SwiftAsyncBlobStore.java
 
b/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/SwiftAsyncBlobStore.java
index 688fc9a..702a2e3 100644
--- 
a/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/SwiftAsyncBlobStore.java
+++ 
b/apis/swift/src/main/java/org/jclouds/openstack/swift/blobstore/SwiftAsyncBlobStore.java
@@ -237,8 +237,7 @@ public class SwiftAsyncBlobStore extends BaseAsyncBlobStore 
{
 
    @Override
    protected boolean deleteAndVerifyContainerGone(String container) {
-      sync.deleteContainerIfEmpty(container);
-      return !sync.containerExists(container);
+      return sync.deleteContainerIfEmpty(container);
    }
 
    @Override

http://git-wip-us.apache.org/repos/asf/jclouds/blob/b27658ec/apis/swift/src/test/java/org/jclouds/openstack/swift/CommonSwiftClientLiveTest.java
----------------------------------------------------------------------
diff --git 
a/apis/swift/src/test/java/org/jclouds/openstack/swift/CommonSwiftClientLiveTest.java
 
b/apis/swift/src/test/java/org/jclouds/openstack/swift/CommonSwiftClientLiveTest.java
index 0e1e0f5..d56f945 100644
--- 
a/apis/swift/src/test/java/org/jclouds/openstack/swift/CommonSwiftClientLiveTest.java
+++ 
b/apis/swift/src/test/java/org/jclouds/openstack/swift/CommonSwiftClientLiveTest.java
@@ -65,8 +65,30 @@ public abstract class CommonSwiftClientLiveTest<C extends 
CommonSwiftClient> ext
     * this method overrides containerName to ensure it isn't found
     */
    @Test(groups = { "integration", "live" })
-   public void deleteContainerIfEmptyNotFound() throws Exception {
-      assert getApi().deleteContainerIfEmpty("dbienf");
+   public void testDeleteContainerIfEmptyContainerNotFound() throws Exception {
+      assertTrue(getApi().deleteContainerIfEmpty("dbienf"));
+   }
+
+   @Test
+   public void testDeleteContainerIfEmptyContainerFoundAndEmpty() throws 
Exception {
+      String containerName = getContainerName();
+      try {
+         assertTrue(getApi().deleteContainerIfEmpty(containerName));
+      } finally {
+         recycleContainer(containerName);
+      }
+   }
+
+   @Test
+   public void testDeleteContainerIfEmptyContainerFoundAndNotEmpty() throws 
Exception {
+      String containerName = getContainerName();
+      try {
+         String data = "foo";
+         getApi().putObject(containerName, newSwiftObject(data, "foo"));
+         assertFalse(getApi().deleteContainerIfEmpty(containerName));
+      } finally {
+         returnContainer(containerName);
+      }
    }
 
    @Test

Reply via email to