Updated Branches: refs/heads/master e661a2d5c -> 7eddead37
JCLOUDS-335: Properly deserialize the deleteDatabagItem response Project: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/commit/7eddead3 Tree: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/tree/7eddead3 Diff: http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/diff/7eddead3 Branch: refs/heads/master Commit: 7eddead37b3eb9503cfd2aa2eef83ef41c0b71e0 Parents: e661a2d Author: Ignasi Barrera <[email protected]> Authored: Fri Oct 4 10:14:28 2013 +0200 Committer: Ignasi Barrera <[email protected]> Committed: Fri Oct 4 10:56:15 2013 +0200 ---------------------------------------------------------------------- core/src/main/java/org/jclouds/chef/ChefApi.java | 2 ++ core/src/test/java/org/jclouds/chef/ChefApiTest.java | 4 ++-- .../org/jclouds/chef/internal/BaseChefApiLiveTest.java | 11 +++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/7eddead3/core/src/main/java/org/jclouds/chef/ChefApi.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/jclouds/chef/ChefApi.java b/core/src/main/java/org/jclouds/chef/ChefApi.java index 5601022..1b1ca2a 100644 --- a/core/src/main/java/org/jclouds/chef/ChefApi.java +++ b/core/src/main/java/org/jclouds/chef/ChefApi.java @@ -79,6 +79,7 @@ import org.jclouds.rest.annotations.ParamParser; import org.jclouds.rest.annotations.PayloadParam; import org.jclouds.rest.annotations.RequestFilters; import org.jclouds.rest.annotations.ResponseParser; +import org.jclouds.rest.annotations.SelectJson; import org.jclouds.rest.annotations.SinceApiVersion; import org.jclouds.rest.annotations.SkipEncoding; import org.jclouds.rest.annotations.WrapWith; @@ -424,6 +425,7 @@ public interface ChefApi extends Closeable { @DELETE @Path("/data/{databagName}/{databagItemId}") @Fallback(NullOnNotFoundOr404.class) + @SelectJson("raw_data") DatabagItem deleteDatabagItem(@PathParam("databagName") String databagName, @PathParam("databagItemId") String databagItemId); http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/7eddead3/core/src/test/java/org/jclouds/chef/ChefApiTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/jclouds/chef/ChefApiTest.java b/core/src/test/java/org/jclouds/chef/ChefApiTest.java index 5899486..05eca4b 100644 --- a/core/src/test/java/org/jclouds/chef/ChefApiTest.java +++ b/core/src/test/java/org/jclouds/chef/ChefApiTest.java @@ -45,12 +45,12 @@ import org.jclouds.chef.functions.ParseKeySetFromJson; import org.jclouds.chef.functions.ParseSearchClientsFromJson; import org.jclouds.chef.functions.ParseSearchDatabagFromJson; import org.jclouds.chef.functions.ParseSearchNodesFromJson; -import org.jclouds.chef.functions.ParseSearchRolesFromJson; import org.jclouds.chef.options.CreateClientOptions; import org.jclouds.chef.options.SearchOptions; import org.jclouds.date.TimeStamp; import org.jclouds.fallbacks.MapHttp4xxCodesToExceptions; import org.jclouds.http.HttpRequest; +import org.jclouds.http.functions.ParseFirstJsonValueNamed; import org.jclouds.http.functions.ParseJson; import org.jclouds.http.functions.ReleasePayloadAndReturn; import org.jclouds.http.functions.ReturnInputStream; @@ -490,7 +490,7 @@ public class ChefApiTest extends BaseAsyncApiTest<ChefApi> { + "-test\n"); assertPayloadEquals(httpRequest, null, null, false); - assertResponseParserClassEquals(method, httpRequest, ParseJson.class); + assertResponseParserClassEquals(method, httpRequest, ParseFirstJsonValueNamed.class); assertSaxResponseParserClassEquals(method, null); assertFallbackClassEquals(method, NullOnNotFoundOr404.class); http://git-wip-us.apache.org/repos/asf/incubator-jclouds-chef/blob/7eddead3/core/src/test/java/org/jclouds/chef/internal/BaseChefApiLiveTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/jclouds/chef/internal/BaseChefApiLiveTest.java b/core/src/test/java/org/jclouds/chef/internal/BaseChefApiLiveTest.java index 85acc44..bae390f 100644 --- a/core/src/test/java/org/jclouds/chef/internal/BaseChefApiLiveTest.java +++ b/core/src/test/java/org/jclouds/chef/internal/BaseChefApiLiveTest.java @@ -26,6 +26,7 @@ import static org.jclouds.util.Predicates2.retry; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertNotNull; +import static org.testng.Assert.assertNull; import static org.testng.Assert.assertTrue; import static org.testng.Assert.fail; @@ -297,6 +298,16 @@ public abstract class BaseChefApiLiveTest<A extends ChefApi> extends BaseChefLiv } } + @Test(dependsOnMethods = "testSearchDatabagWithOptions") + public void testDeleteDatabagItem() throws Exception { + for (String databagItemId : api.listDatabagItems(PREFIX)) { + DatabagItem databagItem = api.deleteDatabagItem(PREFIX, databagItemId); + assertNotNull(databagItem, "Deleted data bag item should not be null"); + assertEquals(databagItem.getId(), databagItemId, "Deleted data bag item id must match the original id"); + assertNull(api.getDatabagItem(PREFIX, databagItemId), "Data bag item should not exist"); + } + } + @Test public void testListSearchIndexes() throws Exception { Set<String> indexes = api.listSearchIndexes();
