You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2013/10/04 11:47:33 UTC

git commit: JCLOUDS-335: Properly deserialize the deleteDatabagItem response

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 <na...@apache.org>
Authored: Fri Oct 4 10:14:28 2013 +0200
Committer: Ignasi Barrera <na...@apache.org>
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();