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 2015/06/18 00:12:33 UTC

[3/3] incubator-usergrid git commit: don't run tests concurrently, also: ensure that properties are reset to default values after tests

don't run tests concurrently, also: ensure that properties are reset to default values after tests


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

Branch: refs/heads/USERGRID-703
Commit: c2d5e1165d8bd0b66f1233d7ef1b2997e044838b
Parents: dd3ede0
Author: Dave Johnson <dm...@apigee.com>
Authored: Wed Jun 17 18:11:56 2015 -0400
Committer: Dave Johnson <dm...@apigee.com>
Committed: Wed Jun 17 18:11:56 2015 -0400

----------------------------------------------------------------------
 .../rest/management/ManagementResourceIT.java   | 135 ++++++++++---------
 1 file changed, 75 insertions(+), 60 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/c2d5e116/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
index c41735c..31064bf 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
@@ -21,6 +21,7 @@ import com.fasterxml.jackson.databind.JsonNode;
 import com.sun.jersey.api.client.ClientResponse.Status;
 import com.sun.jersey.api.client.UniformInterfaceException;
 import com.sun.jersey.api.representation.Form;
+import net.jcip.annotations.NotThreadSafe;
 import org.apache.commons.lang.RandomStringUtils;
 
 import org.apache.usergrid.persistence.index.utils.UUIDUtils;
@@ -46,6 +47,7 @@ import static org.junit.Assert.*;
 /**
  * @author tnine
  */
+@NotThreadSafe // due to use of /testproperties end-point
 public class ManagementResourceIT extends AbstractRestIT {
 
     private static final Logger logger = LoggerFactory.getLogger(ManagementResourceIT.class);
@@ -67,10 +69,10 @@ public class ManagementResourceIT extends AbstractRestIT {
      * Test if we can reset our password as an admin
      */
     @Test
-    public void setSelfAdminPasswordAsAdwmin() {
+    public void setSelfAdminPasswordAsAdmin() {
         UUID uuid =  UUIDUtils.newTimeUUID();
         management.token().setToken(clientSetup.getSuperuserToken());
-        management.orgs().org( clientSetup.getOrganizationName() ).users().post(ApiResponse.class, new User("test" + uuid, "test" + uuid, "test" + uuid + "@email.com", "test"));
+        management.orgs().org( clientSetup.getOrganizationName() ).users().post( ApiResponse.class, new User( "test" + uuid, "test" + uuid, "test" + uuid + "@email.com", "test" ) );
         Map<String, Object> data = new HashMap<>();
         data.put( "newpassword", "foo" );
         data.put( "oldpassword", "test" );
@@ -94,7 +96,7 @@ public class ManagementResourceIT extends AbstractRestIT {
         String name = "someguy2";
         String email = "someguy" + "@usergrid.com";
         String password = "password";
-        String orgName = "someneworg";
+        String orgName = "someneworg" + UUIDUtils.newTimeUUID();
 
         Entity payload =
                 new Entity().chainPut("company", "Apigee" );
@@ -288,7 +290,7 @@ public class ManagementResourceIT extends AbstractRestIT {
 
         long ttl = 2000;
 
-        Token token = management.token().get(new QueryParameters().addParam("grant_type", "password").addParam("username", clientSetup.getEmail()).addParam("password", clientSetup.getPassword()).addParam("ttl", String.valueOf(ttl)));
+        Token token = management.token().get(new QueryParameters().addParam( "grant_type", "password" ).addParam("username", clientSetup.getEmail()).addParam("password", clientSetup.getPassword()).addParam("ttl", String.valueOf(ttl)));
 
 
         long startTime = System.currentTimeMillis();
@@ -498,7 +500,6 @@ public class ManagementResourceIT extends AbstractRestIT {
 
 
     @Test
-    @Ignore
     public void testValidateExternalToken() throws Exception {
 
         // create a new admin user, get access token
@@ -509,7 +510,12 @@ public class ManagementResourceIT extends AbstractRestIT {
             new Organization( username, username, username+"@example.com", username, "password", null ) );
 
         refreshIndex();
-        QueryParameters queryParams = new QueryParameters().addParam("username", username ).addParam("password", "password").addParam("grant_type", "password");
+
+        refreshIndex();
+        QueryParameters queryParams = new QueryParameters()
+            .addParam( "username", username )
+            .addParam( "password", "password" )
+            .addParam( "grant_type", "password" );
         Token accessInfoNode = management.token().get(queryParams);
         String accessToken = accessInfoNode.getAccessToken();
 
@@ -524,48 +530,53 @@ public class ManagementResourceIT extends AbstractRestIT {
                 .type( MediaType.APPLICATION_JSON_TYPE )
                 .post( props );
 
-        // attempt to validate the token, must be valid
-        queryParams = new QueryParameters().addParam("access_token", suToken ).addParam("ext_access_token", accessToken).addParam("ttl", "1000");
-
-        Entity validatedNode = management.externaltoken().get(Entity.class,queryParams);
-        String validatedAccessToken = validatedNode.get( "access_token" ).toString();
-        assertEquals( accessToken, validatedAccessToken );
-
-        // attempt to validate an invalid token, must fail
-
         try {
-            queryParams = new QueryParameters().addParam("access_token", suToken ).addParam("ext_access_token", "rubbish_token").addParam("ttl", "1000");
 
-            validatedNode = management.externaltoken().get(Entity.class,queryParams);
+            // attempt to validate the token, must be valid
+            queryParams = new QueryParameters()
+                .addParam( "ext_access_token", accessToken )
+                .addParam( "ttl", "1000" );
 
-            fail("Validation should have failed");
-        } catch ( UniformInterfaceException actual ) {
-            assertEquals( 404, actual.getResponse().getStatus() );
-            String errorMsg = actual.getResponse().getEntity( JsonNode.class ).get( "error_description" ).toString();
-            logger.error( "ERROR: " + errorMsg );
-            assertTrue( errorMsg.contains( "Cannot find Admin User" ) );
-        }
+            Entity validatedNode = management.externaltoken().get( Entity.class, queryParams );
+            String validatedAccessToken = validatedNode.get( "access_token" ).toString();
+            assertEquals( accessToken, validatedAccessToken );
 
+            // attempt to validate an invalid token, must fail
 
+            try {
+                queryParams = new QueryParameters()
+                    .addParam( "access_token", suToken )
+                    .addParam( "ext_access_token", "rubbish_token" )
+                    .addParam( "ttl", "1000" );
 
-        // TODO: how do we test the create new user and organization case?
+                validatedNode = management.externaltoken().get( Entity.class, queryParams );
 
+                fail( "Validation should have failed" );
+            } catch (UniformInterfaceException actual) {
+                assertEquals( 404, actual.getResponse().getStatus() );
+                String errorMsg = actual.getResponse().getEntity( JsonNode.class ).get( "error_description" ).toString();
+                logger.error( "ERROR: " + errorMsg );
+                assertTrue( errorMsg.contains( "Cannot find Admin User" ) );
+            }
 
+            // TODO: how do we test the create new user and organization case?
 
-        // unset the Usergrid Central SSO URL so it does not interfere with other tests
+        } finally {
 
-        props.put( USERGRID_CENTRAL_URL, "" );
-        resource().path( "/testproperties" )
-                .queryParam( "access_token", suToken)
+            // unset the Usergrid Central SSO URL so it does not interfere with other tests
+
+            props.put( USERGRID_CENTRAL_URL, "" );
+            resource().path( "/testproperties" )
+                .queryParam( "access_token", suToken )
                 .accept( MediaType.APPLICATION_JSON )
                 .type( MediaType.APPLICATION_JSON_TYPE )
                 .post( props );
+        }
 
     }
 
 
     @Test
-    @Ignore
     public void testSuperuserOnlyWhenValidateExternalTokensEnabled() throws Exception {
 
         // create an org and an admin user
@@ -586,51 +597,55 @@ public class ManagementResourceIT extends AbstractRestIT {
                 .type( MediaType.APPLICATION_JSON_TYPE )
                 .post( props );
 
-        // calls to login as an Admin User must now fail
-
         try {
+            // calls to login as an Admin User must now fail
 
-            Map<String, Object> loginInfo = new HashMap<String, Object>() {{
-                put("username", username );
-                put("password", "password");
-                put("grant_type", "password");
-            }};
-            JsonNode accessInfoNode = resource().path("/management/token")
+            try {
+
+                Map<String, Object> loginInfo = new HashMap<String, Object>() {{
+                    put( "username", username );
+                    put( "password", "password" );
+                    put( "grant_type", "password" );
+                }};
+                JsonNode accessInfoNode = resource().path( "/management/token" )
                     .type( MediaType.APPLICATION_JSON_TYPE )
                     .post( JsonNode.class, loginInfo );
-            fail("Login as Admin User must fail when validate external tokens is enabled");
+                fail( "Login as Admin User must fail when validate external tokens is enabled" );
 
-        } catch ( UniformInterfaceException actual ) {
-            assertEquals( 400, actual.getResponse().getStatus() );
-            String errorMsg = actual.getResponse().getEntity( JsonNode.class ).get( "error_description" ).toString();
-            logger.error( "ERROR: " + errorMsg );
-            assertTrue( errorMsg.contains( "Admin Users must login via" ));
+            } catch (UniformInterfaceException actual) {
+                assertEquals( 400, actual.getResponse().getStatus() );
+                String errorMsg = actual.getResponse().getEntity( JsonNode.class ).get( "error_description" ).toString();
+                logger.error( "ERROR: " + errorMsg );
+                assertTrue( errorMsg.contains( "Admin Users must login via" ) );
 
-        } catch ( Exception e ) {
-            fail( "We expected a UniformInterfaceException" );
-        }
+            } catch (Exception e) {
+                fail( "We expected a UniformInterfaceException" );
+            }
 
-        // login as superuser must succeed
+            // login as superuser must succeed
 
-        Map<String, Object> loginInfo = new HashMap<String, Object>() {{
-            put("username", "superuser");
-            put("password", "superpassword");
-            put("grant_type", "password");
-        }};
-        JsonNode accessInfoNode = resource().path("/management/token")
+            Map<String, Object> loginInfo = new HashMap<String, Object>() {{
+                put( "username", "superuser" );
+                put( "password", "superpassword" );
+                put( "grant_type", "password" );
+            }};
+            JsonNode accessInfoNode = resource().path( "/management/token" )
                 .type( MediaType.APPLICATION_JSON_TYPE )
                 .post( JsonNode.class, loginInfo );
-        String accessToken = accessInfoNode.get( "access_token" ).textValue();
-        assertNotNull( accessToken );
+            String accessToken = accessInfoNode.get( "access_token" ).textValue();
+            assertNotNull( accessToken );
 
-        // turn off validate external tokens by un-setting the usergrid.central.url
+        } finally {
 
-        props.put( USERGRID_CENTRAL_URL, "" );
-        resource().path( "/testproperties" )
-                .queryParam( "access_token", suToken)
+            // turn off validate external tokens by un-setting the usergrid.central.url
+
+            props.put( USERGRID_CENTRAL_URL, "" );
+            resource().path( "/testproperties" )
+                .queryParam( "access_token", suToken )
                 .accept( MediaType.APPLICATION_JSON )
                 .type( MediaType.APPLICATION_JSON_TYPE )
                 .post( props );
+        }
     }
 
 }