You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2013/12/03 14:48:22 UTC

git commit: Ensure that errors are returned as JSON and not plain text description.

Updated Branches:
  refs/heads/master 49ad2b78e -> 07d9cc4c1


Ensure that errors are returned as JSON and not plain text description.

Change that was made to apigee/usergrid but did not make it into usergrid/usergrid in time for the Apache import.


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/07d9cc4c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/07d9cc4c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/07d9cc4c

Branch: refs/heads/master
Commit: 07d9cc4c132f7c840a9200f256b683e2f0df5e91
Parents: 49ad2b7
Author: Dave Johnson <dm...@apigee.com>
Authored: Tue Dec 3 08:48:18 2013 -0500
Committer: Dave Johnson <dm...@apigee.com>
Committed: Tue Dec 3 08:48:18 2013 -0500

----------------------------------------------------------------------
 ...cateUniquePropertyExistsExceptionMapper.java |  2 +-
 .../IllegalArgumentExceptionMapper.java         |  2 +-
 .../exceptions/ManagementExceptionMapper.java   |  2 +-
 .../rest/exceptions/NoOpExceptionMapper.java    |  2 +-
 ...ationApplicationNotFoundExceptionMapper.java |  2 +-
 ...RequiredPropertyNotFoundExceptionMapper.java |  2 +-
 .../organizations/OrganizationsResourceIT.java  | 68 ++++++++++++++++++--
 7 files changed, 70 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/07d9cc4c/stack/rest/src/main/java/org/usergrid/rest/exceptions/DuplicateUniquePropertyExistsExceptionMapper.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/usergrid/rest/exceptions/DuplicateUniquePropertyExistsExceptionMapper.java b/stack/rest/src/main/java/org/usergrid/rest/exceptions/DuplicateUniquePropertyExistsExceptionMapper.java
index 7abc2be..1b0e4dc 100644
--- a/stack/rest/src/main/java/org/usergrid/rest/exceptions/DuplicateUniquePropertyExistsExceptionMapper.java
+++ b/stack/rest/src/main/java/org/usergrid/rest/exceptions/DuplicateUniquePropertyExistsExceptionMapper.java
@@ -30,6 +30,6 @@ public class DuplicateUniquePropertyExistsExceptionMapper
 
     @Override
     public Response toResponse( DuplicateUniquePropertyExistsException e ) {
-        return toResponse( BAD_REQUEST, e.getMessage() );
+        return toResponse( BAD_REQUEST, e );
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/07d9cc4c/stack/rest/src/main/java/org/usergrid/rest/exceptions/IllegalArgumentExceptionMapper.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/usergrid/rest/exceptions/IllegalArgumentExceptionMapper.java b/stack/rest/src/main/java/org/usergrid/rest/exceptions/IllegalArgumentExceptionMapper.java
index a7b516e..10c0d46 100644
--- a/stack/rest/src/main/java/org/usergrid/rest/exceptions/IllegalArgumentExceptionMapper.java
+++ b/stack/rest/src/main/java/org/usergrid/rest/exceptions/IllegalArgumentExceptionMapper.java
@@ -27,6 +27,6 @@ public class IllegalArgumentExceptionMapper extends AbstractExceptionMapper<Ille
 
     @Override
     public Response toResponse( IllegalArgumentException e ) {
-        return toResponse( BAD_REQUEST, e.getMessage() );
+        return toResponse( BAD_REQUEST, e );
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/07d9cc4c/stack/rest/src/main/java/org/usergrid/rest/exceptions/ManagementExceptionMapper.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/usergrid/rest/exceptions/ManagementExceptionMapper.java b/stack/rest/src/main/java/org/usergrid/rest/exceptions/ManagementExceptionMapper.java
index 58c3121..8208e0c 100644
--- a/stack/rest/src/main/java/org/usergrid/rest/exceptions/ManagementExceptionMapper.java
+++ b/stack/rest/src/main/java/org/usergrid/rest/exceptions/ManagementExceptionMapper.java
@@ -33,6 +33,6 @@ public class ManagementExceptionMapper extends AbstractExceptionMapper<Managemen
         if ( msg == null ) {
             msg = e.getClass().getName();
         }
-        return toResponse( BAD_REQUEST, msg );
+        return toResponse( BAD_REQUEST, e );
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/07d9cc4c/stack/rest/src/main/java/org/usergrid/rest/exceptions/NoOpExceptionMapper.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/usergrid/rest/exceptions/NoOpExceptionMapper.java b/stack/rest/src/main/java/org/usergrid/rest/exceptions/NoOpExceptionMapper.java
index 47a0575..c16c606 100644
--- a/stack/rest/src/main/java/org/usergrid/rest/exceptions/NoOpExceptionMapper.java
+++ b/stack/rest/src/main/java/org/usergrid/rest/exceptions/NoOpExceptionMapper.java
@@ -27,6 +27,6 @@ public class NoOpExceptionMapper extends AbstractExceptionMapper<NoOpException>
 
     @Override
     public Response toResponse( NoOpException e ) {
-        return toResponse( OK, e.getJsonResponse() );
+        return toResponse( OK, e );
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/07d9cc4c/stack/rest/src/main/java/org/usergrid/rest/exceptions/OrganizationApplicationNotFoundExceptionMapper.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/usergrid/rest/exceptions/OrganizationApplicationNotFoundExceptionMapper.java b/stack/rest/src/main/java/org/usergrid/rest/exceptions/OrganizationApplicationNotFoundExceptionMapper.java
index 38c29f3..999750d 100644
--- a/stack/rest/src/main/java/org/usergrid/rest/exceptions/OrganizationApplicationNotFoundExceptionMapper.java
+++ b/stack/rest/src/main/java/org/usergrid/rest/exceptions/OrganizationApplicationNotFoundExceptionMapper.java
@@ -11,6 +11,6 @@ public class OrganizationApplicationNotFoundExceptionMapper
         extends AbstractExceptionMapper<OrganizationApplicationNotFoundException> {
     @Override
     public Response toResponse( OrganizationApplicationNotFoundException e ) {
-        return super.toResponse( Response.Status.BAD_REQUEST, e.getJsonResponse() );
+        return super.toResponse( Response.Status.BAD_REQUEST, e );
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/07d9cc4c/stack/rest/src/main/java/org/usergrid/rest/exceptions/RequiredPropertyNotFoundExceptionMapper.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/usergrid/rest/exceptions/RequiredPropertyNotFoundExceptionMapper.java b/stack/rest/src/main/java/org/usergrid/rest/exceptions/RequiredPropertyNotFoundExceptionMapper.java
index 84207e5..cb93d2f 100644
--- a/stack/rest/src/main/java/org/usergrid/rest/exceptions/RequiredPropertyNotFoundExceptionMapper.java
+++ b/stack/rest/src/main/java/org/usergrid/rest/exceptions/RequiredPropertyNotFoundExceptionMapper.java
@@ -30,6 +30,6 @@ public class RequiredPropertyNotFoundExceptionMapper
 
     @Override
     public Response toResponse( RequiredPropertyNotFoundException e ) {
-        return toResponse( BAD_REQUEST, e.getMessage() );
+        return toResponse( BAD_REQUEST, e );
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/07d9cc4c/stack/rest/src/test/java/org/usergrid/rest/management/organizations/OrganizationsResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/usergrid/rest/management/organizations/OrganizationsResourceIT.java b/stack/rest/src/test/java/org/usergrid/rest/management/organizations/OrganizationsResourceIT.java
index 713ab74..69180bb 100644
--- a/stack/rest/src/test/java/org/usergrid/rest/management/organizations/OrganizationsResourceIT.java
+++ b/stack/rest/src/test/java/org/usergrid/rest/management/organizations/OrganizationsResourceIT.java
@@ -27,6 +27,8 @@ import static junit.framework.Assert.fail;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import static org.usergrid.management.AccountCreationProps.PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION;
 import static org.usergrid.management.AccountCreationProps.PROPERTIES_SYSADMIN_APPROVES_ADMIN_USERS;
 import static org.usergrid.management.AccountCreationProps.PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS;
@@ -34,9 +36,8 @@ import static org.usergrid.management.AccountCreationProps.PROPERTIES_SYSADMIN_E
 import static org.usergrid.utils.MapUtils.hashMap;
 
 
-/** @author zznate */
 public class OrganizationsResourceIT extends AbstractRestIT {
-
+    private static final Logger LOG = LoggerFactory.getLogger( OrganizationsResourceIT.class );
 
     @Test
     public void createOrgAndOwner() throws Exception {
@@ -139,6 +140,66 @@ public class OrganizationsResourceIT extends AbstractRestIT {
         logNode( node );
     }
 
+    @Test
+    public void testCreateDuplicateOrgEmail() throws Exception {
+
+        Map<String, String> payload =
+            hashMap( "email", "duplicate-email@mockserver.com" )
+                .map( "password", "password" )
+                .map( "organization", "very-nice-org" );
+
+        JsonNode node = resource().path( "/management/organizations" )
+            .accept( MediaType.APPLICATION_JSON )
+            .type( MediaType.APPLICATION_JSON_TYPE )
+            .post( JsonNode.class, payload );
+
+        logNode( node );
+        assertNotNull( node );
+
+        payload = hashMap( "email", "duplicate-email@mockserver.com" )
+            .map( "username", "anotheruser" )
+            .map( "password", "password" )
+            .map( "organization", "not-so-nice-org" );
+
+        boolean failed = false;
+        try {
+            node = resource().path( "/management/organizations" )
+                .accept( MediaType.APPLICATION_JSON )
+                .type( MediaType.APPLICATION_JSON_TYPE )
+                .post( JsonNode.class, payload );
+        }
+        catch ( UniformInterfaceException ex ) {
+            Assert.assertEquals( 400, ex.getResponse().getStatus() );
+            JsonNode errorJson = ex.getResponse().getEntity( JsonNode.class );
+            Assert.assertEquals( "duplicate_unique_property_exists", errorJson.get("error").asText());
+            failed = true;
+        }
+        Assert.assertTrue(failed);
+
+        payload = hashMap( "grant_type", "password" )
+            .map( "username", "create-dupe-orgname2" )
+            .map( "password", "password" );
+        try {
+            node = resource().path( "/management/token" )
+                .accept( MediaType.APPLICATION_JSON )
+                .type( MediaType.APPLICATION_JSON_TYPE )
+                .post( JsonNode.class, payload );
+            fail( "Should not have created user" );
+        }
+        catch ( Exception ex ) {
+        }
+
+        logNode( node );
+
+        payload = hashMap( "username", "duplicate-email@mockserver.com" )
+                .map( "grant_type", "password" )
+                .map( "password", "password" );
+        node = resource().path( "/management/token" )
+                .accept( MediaType.APPLICATION_JSON )
+                .type( MediaType.APPLICATION_JSON_TYPE )
+                .post( JsonNode.class, payload );
+        logNode( node );
+    }
 
     @Test
     public void testOrgPOSTParams() {
@@ -171,7 +232,6 @@ public class OrganizationsResourceIT extends AbstractRestIT {
         assertEquals( "ok", node.get( "status" ).asText() );
     }
 
-
     @Test
     public void noOrgDelete() {
 
@@ -192,4 +252,4 @@ public class OrganizationsResourceIT extends AbstractRestIT {
 
         assertEquals( Status.NOT_IMPLEMENTED, status );
     }
-}
+}
\ No newline at end of file