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:31 UTC

[1/3] incubator-usergrid git commit: Prevent quadruple logging during testing.

Repository: incubator-usergrid
Updated Branches:
  refs/heads/USERGRID-703 [created] c2d5e1165


Prevent quadruple logging during testing.


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

Branch: refs/heads/USERGRID-703
Commit: fb7dc96043953cf9118017ee58680a75a625aef6
Parents: 4b9a310
Author: Dave Johnson <dm...@apigee.com>
Authored: Wed Jun 17 18:10:39 2015 -0400
Committer: Dave Johnson <dm...@apigee.com>
Committed: Wed Jun 17 18:10:39 2015 -0400

----------------------------------------------------------------------
 stack/rest/src/test/resources/log4j.properties | 28 ++++++++++-----------
 1 file changed, 14 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/fb7dc960/stack/rest/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/resources/log4j.properties b/stack/rest/src/test/resources/log4j.properties
index ab700af..50bcd03 100644
--- a/stack/rest/src/test/resources/log4j.properties
+++ b/stack/rest/src/test/resources/log4j.properties
@@ -29,21 +29,21 @@ log4j.appender.stdout.layout.ConversionPattern=%d %p (%t) %c{1} - %m%n
 log4j.logger.org.apache.usergrid=INFO
 #log4j.logger.org.apache.usergrid.cassandra=DEBUG
 #log4j.logger.org.apache.usergrid.persistence.cassandra=DEBUG
-log4j.category.org.apache=ERROR, stdout
-log4j.category.org.apache.usergrid=WARN, stdout
-log4j.category.org.apache.usergrid.rest=INFO, stdout
+log4j.category.org.apache=ERROR
+log4j.category.org.apache.usergrid=WARN
+log4j.category.org.apache.usergrid.rest=INFO
 
-log4j.logger.org.apache.usergrid.persistence.cassandra.CounterUtils=ERROR, stdout
-log4j.logger.org.apache.usergrid.persistence.cassandra.DB=WARN, stdout
-log4j.logger.org.apache.usergrid.persistence.cassandra.BATCH=WARN, stdout
-log4j.logger.org.apache.usergrid.persistence.cassandra.EntityManagerFactoryImpl=WARN, stdout
-log4j.logger.org.apache.usergrid.persistence.cassandra.DaoUtils=WARN, stdout
-log4j.logger.org.apache.usergrid.persistence.cassandra.EntityManagerImpl=WARN, stdout
-log4j.logger.org.apache.usergrid.persistence.cassandra.ConnectionRefImpl=WARN, stdout
-log4j.logger.me.prettyprint.cassandra.hector.TimingLogger=WARN, stdout
-log4j.logger.org.apache.usergrid.rest.security.AllowAjaxFilter=WARN, stdout
-log4j.logger.me.prettyprint.hector.api.beans.AbstractComposite=ERROR, stdout
-log4j.logger.org.apache.usergrid.locking.singlenode.SingleNodeLockManagerImpl=DEBUG, stdout
+log4j.logger.org.apache.usergrid.persistence.cassandra.CounterUtils=ERROR
+log4j.logger.org.apache.usergrid.persistence.cassandra.DB=WARN
+log4j.logger.org.apache.usergrid.persistence.cassandra.BATCH=WARN
+log4j.logger.org.apache.usergrid.persistence.cassandra.EntityManagerFactoryImpl=WARN
+log4j.logger.org.apache.usergrid.persistence.cassandra.DaoUtils=WARN
+log4j.logger.org.apache.usergrid.persistence.cassandra.EntityManagerImpl=WARN
+log4j.logger.org.apache.usergrid.persistence.cassandra.ConnectionRefImpl=WARN
+log4j.logger.me.prettyprint.cassandra.hector.TimingLogger=WARN
+log4j.logger.org.apache.usergrid.rest.security.AllowAjaxFilter=WARN
+log4j.logger.me.prettyprint.hector.api.beans.AbstractComposite=ERROR
+log4j.logger.org.apache.usergrid.locking.singlenode.SingleNodeLockManagerImpl=DEBUG
 log4j.logger.org.apache.usergrid.rest.filters.MeteringFilter=ERROR
 
 #log4j.logger.org.apache.usergrid.corepersistence=DEBUG


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

Posted by sn...@apache.org.
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 );
+        }
     }
 
 }


[2/3] incubator-usergrid git commit: We use fasterxml not codehaus.

Posted by sn...@apache.org.
We use fasterxml not codehaus.


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

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

----------------------------------------------------------------------
 .../usergrid/rest/management/ManagementResource.java      | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/dd3ede07/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
index e0bedf8..caed361 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/ManagementResource.java
@@ -19,6 +19,7 @@ package org.apache.usergrid.rest.management;
 
 import com.codahale.metrics.Counter;
 import com.codahale.metrics.Timer;
+import com.fasterxml.jackson.databind.JsonNode;
 import com.google.inject.Injector;
 import com.sun.jersey.api.client.Client;
 import com.sun.jersey.api.client.config.ClientConfig;
@@ -53,7 +54,6 @@ import org.apache.usergrid.rest.management.organizations.OrganizationsResource;
 import org.apache.usergrid.rest.management.users.UsersResource;
 import org.apache.usergrid.security.oauth.AccessInfo;
 import org.apache.usergrid.security.shiro.utils.SubjectUtils;
-import org.codehaus.jackson.JsonNode;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -596,7 +596,7 @@ public class ManagementResource extends AbstractContextResource {
             JsonNode accessInfoNode = getMeFromUgCentral( extAccessToken );
 
             JsonNode userNode = accessInfoNode.get( "user" );
-            String username = userNode.get( "username" ).getTextValue();
+            String username = userNode.get( "username" ).textValue();
 
             // if user does not exist locally then we need to fix that
 
@@ -608,12 +608,12 @@ public class ManagementResource extends AbstractContextResource {
                 // create local user and and organizations they have on the central Usergrid instance
                 logger.info("User {} does not exist locally, creating", username );
 
-                String name  = userNode.get( "name" ).getTextValue();
-                String email = userNode.get( "email" ).getTextValue();
+                String name  = userNode.get( "name" ).textValue();
+                String email = userNode.get( "email" ).textValue();
                 String dummyPassword = RandomStringUtils.randomAlphanumeric( 40 );
 
                 JsonNode orgsNode = userNode.get( "organizations" );
-                Iterator<String> fieldNames = orgsNode.getFieldNames();
+                Iterator<String> fieldNames = orgsNode.fieldNames();
 
                 if ( !fieldNames.hasNext() ) {
                     // no organizations for user exist in response from central Usergrid SSO