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
