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 <[email protected]>
Authored: Thu Mar 19 13:01:39 2015 -0700
Committer: GERey <[email protected]>
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-0b8af3c58...@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-0b8af3c58...@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;

Reply via email to