You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2015/03/24 23:33:47 UTC

[02/17] incubator-usergrid git commit: Added fixes and corresponding changes to AdminUsersIT.

Added fixes and corresponding changes to AdminUsersIT.


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

Branch: refs/heads/two-dot-o-dev
Commit: ce6626d4ec7626525b16f77c0450dfc9993d965b
Parents: ee21606
Author: GERey <gr...@apigee.com>
Authored: Thu Mar 19 13:01:39 2015 -0700
Committer: GERey <gr...@apigee.com>
Committed: Thu Mar 19 13:01:39 2015 -0700

----------------------------------------------------------------------
 .../usergrid/rest/management/AdminUsersIT.java  | 30 ++++++++++++++------
 .../rest/test/resource2point0/ClientSetup.java  | 15 ++++++++--
 .../rest/test/resource2point0/RestClient.java   |  1 +
 .../endpoints/NamedResource.java                | 13 ++++++++-
 .../endpoints/mgmt/TokenResource.java           |  6 ++++
 5 files changed, 54 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ce6626d4/stack/rest/src/test/java/org/apache/usergrid/rest/management/AdminUsersIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/AdminUsersIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/AdminUsersIT.java
index 973ed7d..36a9400 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/AdminUsersIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/AdminUsersIT.java
@@ -41,6 +41,7 @@ import org.apache.usergrid.persistence.index.utils.UUIDUtils;
 import org.apache.usergrid.rest.test.resource2point0.AbstractRestIT;
 import org.apache.usergrid.rest.test.resource2point0.endpoints.mgmt.ManagementResource;
 import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse;
+import org.apache.usergrid.rest.test.resource2point0.model.Credentials;
 import org.apache.usergrid.rest.test.resource2point0.model.Entity;
 import org.apache.usergrid.rest.test.resource2point0.model.QueryParameters;
 import org.apache.usergrid.rest.test.resource2point0.model.Token;
@@ -58,6 +59,7 @@ import static org.apache.usergrid.management.AccountCreationProps.PROPERTIES_TES
 import static org.apache.usergrid.management.AccountCreationProps.PROPERTIES_TEST_ACCOUNT_ADMIN_USER_PASSWORD;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -98,7 +100,8 @@ public class AdminUsersIT extends AbstractRestIT {
         this.refreshIndex();
 
         //Get the token using the new password
-        management.token().post( Token.class, new Token( username, "testPassword" )  );
+        Token adminToken = management.token().post( Token.class, new Token( username, "testPassword" )  );
+        management.token().setToken( adminToken );
 
         //Check that we cannot get the token using the old password
         try {
@@ -131,7 +134,8 @@ public class AdminUsersIT extends AbstractRestIT {
 
 
         //Get the token using the new password
-        management.token().post( Token.class, new Token( username, "testPassword" )  );
+        Token adminToken = management.token().post( Token.class, new Token( username, "testPassword" )  );
+        management.token().setToken( adminToken );
 
 
 
@@ -184,7 +188,7 @@ public class AdminUsersIT extends AbstractRestIT {
      */
     @Test
     public void mgmtUserFeed() throws Exception {
-
+        //TODO: fix or establish what the user feed should do
         Entity mgmtUserFeedEntity = management.users().user( clientSetup.getUsername() ).feed().get();
         String correctValue= "<a href=mailto:"+clientSetup.getUsername();  //user_org.apache.usergrid.rest.management.AdminUsersIT.mgmtUserFeed4c3e53e0-acc7-11e4-b527-0b8af3c5813f@usergrid.com">user_org.apache.usergrid.rest.management.AdminUsersIT.mgmtUserFeed4c3e53e0-acc7-11e4-b527-0b8af3c5813f (user_org.apache.usergrid.rest.management.AdminUsersIT.mgmtUserFeed4c3e53e0-acc7-11e4-b527-0b8af3c5813f@usergrid.com)</a> created a new organization account named org_org.apache.usergrid.rest.management.AdminUsersIT.mgmtUserFeed4c3ec910-acc7-11e4-94c8-33f0d48a5559
 
@@ -192,6 +196,7 @@ public class AdminUsersIT extends AbstractRestIT {
 
         ArrayList<Map<String,Object>> feedEntityMap = ( ArrayList ) mgmtUserFeedEntity.get( "entities" );
         assertNotNull( feedEntityMap );
+        assertNotEquals( 0,feedEntityMap.size() );
         assertNotNull( feedEntityMap.get( 0 ).get( "title" )  );
         assertTrue("Needs to contain the feed of the specific management user",
             ((String)(feedEntityMap.get( 0 ).get( "title" ))).contains(clientSetup.getUsername() ));
@@ -600,20 +605,29 @@ public class AdminUsersIT extends AbstractRestIT {
 
         Entity adminUserPayload = new Entity();
         String username = "listOrgUsersByName"+UUIDUtils.newTimeUUID();
+        Credentials orgCredentials = clientSetup.getClientCredentials();
         adminUserPayload.put( "username", username );
         adminUserPayload.put( "name", username );
         adminUserPayload.put( "email", username+"@usergrid.com" );
         adminUserPayload.put( "password", username );
 
-        //post new admin user besides the default
-        management().orgs().organization( clientSetup.getOrganizationName() ).users().post(ApiResponse.class ,adminUserPayload );
+//        //If we comment this out it works, shouldn't using an organization Token for an endpoint
+        //with organization access work?
+        //TODO:investigate above comment
+//        Token organizationToken =
+//            management().token().post( Token.class,
+//                new Token( "client_credentials", orgCredentials.getClientId(), orgCredentials.getClientSecret() ) );
+//        management().token().setToken( organizationToken );
+
+        //Create admin user
+        management().orgs().organization( clientSetup.getOrganizationName() ).users().postWithToken(ApiResponse.class ,adminUserPayload );
 
         refreshIndex();
 
         //Retrieves the admin users
-        Entity adminUsers = management().orgs().organization( clientSetup.getOrganizationName() ).users().get(Entity.class);
+        ApiResponse adminUsers = management().orgs().organization( clientSetup.getOrganizationName() ).users().get(ApiResponse.class);
 
-        assertEquals("There need to be 2 admin users",2,( ( ArrayList ) adminUsers.getResponse().getData() ).size());
+        assertEquals("There need to be 2 admin users",2,( ( ArrayList ) adminUsers.getData() ).size());
 
     }
 
@@ -627,7 +641,7 @@ public class AdminUsersIT extends AbstractRestIT {
     public void createOrgFromUserConnectionFail() throws Exception {
 
         Token token = management().token().post(Token.class ,new Token( clientSetup.getUsername(),clientSetup.getPassword() ) );
-
+        management().token().setToken( token );
         // try to create the same org again off the connection
         try {
             management().users().user( clientSetup.getUsername() ).organizations().post( clientSetup.getOrganization(),token );

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ce6626d4/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/ClientSetup.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/ClientSetup.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/ClientSetup.java
index e68cee5..252f212 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/ClientSetup.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/ClientSetup.java
@@ -24,6 +24,8 @@ package org.apache.usergrid.rest.test.resource2point0;
 import java.io.IOException;
 
 import org.apache.usergrid.rest.test.resource2point0.model.Application;
+import org.apache.usergrid.rest.test.resource2point0.model.Credentials;
+import org.apache.usergrid.rest.test.resource2point0.model.Entity;
 import org.apache.usergrid.rest.test.resource2point0.model.Token;
 import org.junit.rules.TestRule;
 import org.junit.runner.Description;
@@ -49,6 +51,7 @@ public class ClientSetup implements TestRule {
     protected Token superuserToken;
     protected String superuserName = "superuser";
     protected String superuserPassword = "superpassword";
+    protected Credentials clientCredentials;
 
     protected Organization organization;
     protected Application application;
@@ -92,6 +95,8 @@ public class ClientSetup implements TestRule {
 
         restClient.superuserSetup();
         superuserToken = restClient.management().token().post(Token.class, new Token( superuserName, superuserPassword ) );
+        restClient.management().token().setToken( superuserToken );
+
 
         username = "user_"+name + UUIDUtils.newTimeUUID();
         password = username;
@@ -99,10 +104,12 @@ public class ClientSetup implements TestRule {
         appName = "app_"+name+UUIDUtils.newTimeUUID();
 
         organization = restClient.management().orgs()
-                                 .post(new Organization(
-                                     orgName,username,username+"@usergrid.com",username,username, null  ));
+                                 .post( new Organization( orgName, username, username + "@usergrid.com", username,
+                                     username, null ) );
+        clientCredentials = restClient.management().orgs().organization( orgName ).credentials().get();
 
         Token token = restClient.management().token().post(Token.class,new Token(username,username));
+        restClient.management().token().setToken( token );
 
         restClient.management().orgs().organization(organization.getName()).app().post(new Application(appName));
 
@@ -132,6 +139,10 @@ public class ClientSetup implements TestRule {
         return superuserPassword;
     }
 
+    public Credentials getClientCredentials() {
+        return clientCredentials;
+    }
+
     public void refreshIndex() {
         this.restClient.refreshIndex(getOrganizationName(),getAppName());
     }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ce6626d4/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/RestClient.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/RestClient.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/RestClient.java
index ed7057f..5e6c5d5 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/RestClient.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/RestClient.java
@@ -115,6 +115,7 @@ public class RestClient implements UrlResource {
 
         this.getResource().path( "system/superuser/setup" )
             .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON ).get( JsonNode.class );
+        client.removeFilter( httpBasicAuthFilter );
     }
 
     //todo:fix this method for the client.

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ce6626d4/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/NamedResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/NamedResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/NamedResource.java
index c2d0cf3..fc610bd 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/NamedResource.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/NamedResource.java
@@ -71,7 +71,10 @@ public abstract class NamedResource implements UrlResource {
     public WebResource getResource(boolean useToken,Token token) {
         WebResource resource = parent.getResource().path( getPath() );
         token = token !=null ? token : this.context.getToken();
-        return  useToken    ? resource.queryParam("access_token",token.getAccessToken()) :  parent.getResource().path( getPath() );
+        //error checking
+        if(token == null)
+            return resource;
+        return  useToken    ? resource.queryParam("access_token",token.getAccessToken()) :  resource;
     }
 
     protected WebResource addParametersToResource(WebResource resource, final QueryParameters parameters){
@@ -147,6 +150,14 @@ public abstract class NamedResource implements UrlResource {
 
     }
 
+    public <T> T postWithToken(Class<T> type, Object requestEntity) {
+        GenericType<T> gt = new GenericType<>((Class) type);
+        return getResource(true).type(MediaType.APPLICATION_JSON_TYPE)
+                            .accept( MediaType.APPLICATION_JSON )
+                            .post(gt.getRawClass(), requestEntity);
+
+    }
+
     //For edge cases like Organizations and Tokens without any payload
     public <T> T post(Class<T> type) {
         GenericType<T> gt = new GenericType<>((Class) type);

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ce6626d4/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/TokenResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/TokenResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/TokenResource.java
index cdd6663..6a0c5d6 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/TokenResource.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/TokenResource.java
@@ -50,6 +50,12 @@ public class TokenResource extends NamedResource {
         return token;
     }
 
+
+    /**
+     * Convinece method to set the token needed for each call.
+     * @param token
+     * @return
+     */
     public TokenResource setToken(Token token) {
         this.context.setToken(token);
         return this;