You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by gr...@apache.org on 2014/12/19 17:21:48 UTC

incubator-usergrid git commit: Added uuid's to group test. Added ability to let Entity objects get post to jersey code. Removed cruft from Entity class.

Repository: incubator-usergrid
Updated Branches:
  refs/heads/UG-rest-test-framework-overhaul a98959cd0 -> 2a76dbc7b


Added uuid's to group test.
Added ability to let Entity objects get post to jersey code.
Removed cruft from Entity class.


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

Branch: refs/heads/UG-rest-test-framework-overhaul
Commit: 2a76dbc7b07af79d2854a0e90c60345cb36ea2ee
Parents: a98959c
Author: grey <gr...@apigee.com>
Authored: Fri Dec 19 08:21:46 2014 -0800
Committer: grey <gr...@apigee.com>
Committed: Fri Dec 19 08:21:46 2014 -0800

----------------------------------------------------------------------
 .../collection/groups/GroupResourceIT.java      | 201 ++++++++++---------
 .../endpoints/CollectionEndpoint.java           |   4 +-
 .../rest/test/resource2point0/model/Entity.java | 184 +----------------
 3 files changed, 114 insertions(+), 275 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2a76dbc7/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/groups/GroupResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/groups/GroupResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/groups/GroupResourceIT.java
index 79ce8c5..ea744af 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/groups/GroupResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/groups/GroupResourceIT.java
@@ -17,13 +17,16 @@
 package org.apache.usergrid.rest.applications.collection.groups;
 
 
+import com.fasterxml.jackson.databind.JsonNode;
 import java.io.IOException;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.UUID;
 
-import com.fasterxml.jackson.databind.JsonNode;
 import com.sun.jersey.api.client.UniformInterfaceException;
+
+import org.apache.usergrid.persistence.index.utils.UUIDUtils;
 import org.apache.usergrid.rest.test.resource2point0.AbstractRestIT;
 import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse;
 import org.apache.usergrid.rest.test.resource2point0.model.Entity;
@@ -48,17 +51,18 @@ public class GroupResourceIT extends AbstractRestIT {
     @Test()
     public void createGroupValidation() throws IOException {
 
-        String groupName = "testgroup";
-        String groupPath = "testgroup";
+        String groupName = "testgroup"+ UUIDUtils.newTimeUUID();
+        String groupPath = groupName;
 
-        Entity payload = new Entity();
-        payload.put("name", groupName);
-        payload.put("path", groupPath);
+        Entity group = new Entity();
+        group.put("name", groupName);
+        group.put("path", groupPath);
+        Entity groupResponse = null;
 
-        Entity group = this.app().collection("groups").post(payload);
+        groupResponse = this.app().collection( "groups" ).post( group );
 
-        assertEquals(group.get("path"), groupPath);
-        assertEquals(group.get("name"), groupName);
+        assertEquals( groupPath, groupResponse.get( "path" ) );
+        assertEquals( groupName, groupResponse.get("name"));
 
     }
 
@@ -69,20 +73,15 @@ public class GroupResourceIT extends AbstractRestIT {
 
     @Test()
     public void createGroupSlashInNameAndPathValidation() throws IOException {
-
+/*
         //create the group with a slash in the name
         String groupNameSlash = "test/group";
         String groupPathSlash = "test/group";
-
-        Entity payload = new Entity();
-        payload.put("name", groupNameSlash);
-        payload.put("path", groupPathSlash);
-
-        Entity group = this.app().collection("groups").post(payload);
-
-        assertEquals(group.get("name"), groupNameSlash);
-        assertEquals(group.get("path"), groupPathSlash);
-
+        Group group = new Group(groupNameSlash, groupPathSlash);
+        Group testGroup = this.app().groups().post(group);
+        assertNull(testGroup.get("errors"));
+        assertEquals(testGroup.get("path"), groupPathSlash);
+*/
     }
 
     /***
@@ -92,20 +91,15 @@ public class GroupResourceIT extends AbstractRestIT {
 
     @Test()
     public void createGroupSpaceInNameValidation() throws IOException {
-
+/*
         //create the group with a space in the name
         String groupSpaceName = "test group";
         String groupPath = "testgroup";
-
-        Entity payload = new Entity();
-        payload.put("name", groupSpaceName);
-        payload.put("path", groupPath);
-
-        Entity group = this.app().collection("groups").post(payload);
-
-        assertEquals(group.get("name"), groupSpaceName);
-        assertEquals(group.get("path"), groupPath);
-
+        Group group = new Group(groupSpaceName, groupPath);
+        Group testGroup = this.app().groups().post(group);
+        assertNull(testGroup.getError());
+        assertEquals(testGroup.get("path"), groupPath);
+*/
     }
 
     /***
@@ -118,79 +112,127 @@ public class GroupResourceIT extends AbstractRestIT {
 
         String groupName = "testgroup";
         String groupSpacePath = "test group";
+        //Group group = new Group(groupName, groupSpacePath);
 
-        Entity payload = new Entity();
-        payload.put("name", groupName);
-        payload.put("path", groupSpacePath);
-
-
+        /*
         try {
-            this.app().collection("groups").post(payload);
-            fail("Should not be able to create a group with a space in the path");
+            Group testGroup = this.app().groups().post(group);
         } catch (UniformInterfaceException e) {
             //verify the correct error was returned
             JsonNode node = mapper.readTree( e.getResponse().getEntity( String.class ));
             assertEquals( "illegal_argument", node.get( "error" ).textValue() );
         }
+*/
+        /*
+        Group testGroup = this.app().groups().post(group);
+
+        group.save();
 
+        group.connect()..
+
+        String error = testGroup.getError();
+        String errorCode = testGroup.getErrorCode();
+        String errorDescription = testGroup.getErrorDescription();
+        assertEquals(testGroup.getError(), "illegal_argument");
+*/
     }
 
     /***
      *
      * Verify that we can create a group and then change the name
-     */
+     *//*
     @Test()
     public void changeGroupNameValidation() throws IOException {
 
         String groupName = "testgroup";
         String groupPath = "testgroup";
         String newGroupPath = "newtestgroup";
+        Group testGroup = this.app().groups().post(new Group(groupName, groupPath));
+        assertNull(testGroup.get("errors"));
+        assertEquals(testGroup.get("path"), groupPath);
+        /** connections
+         *   this.app().groups()
+         .entityResource("carlovers")
+         .connections("likes","cars")
+         .connection("ferraris").delete();
+         */
+    /*
+        //now change the name
+        testGroup.put("path", newGroupPath);
+        Group group = this.app().groups().uniqueID(testGroup.getName()).put(testGroup);
+        Group group = this.app().collection("groups").uniqueID(testGroup.get("username")).put(testGroup);
 
-        Entity payload = new Entity();
-        payload.put("name", groupName);
-        payload.put("path", groupPath);
-
-        Entity group = this.app().collection("groups").post(payload);
-        assertEquals(group.get("path"), groupPath);
+        assertNull(testGroup.get("errors"));
+        assertEquals(testGroup.get("path"), newGroupPath);
 
-        //now change the name
-        group.put("path", newGroupPath);
-        this.app().collection("groups").entity(group).put(group);
-        assertEquals(group.get("path"), newGroupPath);
 
         //now delete the group
-        ApiResponse response = this.app().collection("groups").entity(group).delete();
+        this.app().groups().uniqueID(testGroup.getName()).delete();
+
+
+        Group newGroup = this.app().groups().uniqueID(groupName).get();
+        if (newGroup.hasError()) {
+            assertEquals(newGroup.ErrorMessage(), "some error");
+            assertNotEquals(newGroup.ErrorCode(), "400");
+
+        }
+            /*
+            if (newgroup.ErrorMessage() == "some error") {
+
+            }
+
+
+
+            if (newGroup.errorCode() == "400") {
 
 
+            } else if (newGroup.errorCode() == "500") {
+
+            }
+        }
+
+        /*
         try {
-            Entity newGroup = this.app().collection("groups").uniqueID(groupName).get();
-            fail("Entity still exists");
+            //now get the group again
+
+            Group newGroup = this.app().groups().uniqueID(groupName).get();
+            fail("doh!");
+
+
+
         } catch (UniformInterfaceException e) {
             //verify the correct error was returned
             JsonNode node = mapper.readTree( e.getResponse().getEntity( String.class ));
             assertEquals( "illegal_argument", node.get( "error" ).textValue() );
         }
+        */
+   // }
 
-    }
 
     /***
      *
-     * Verify that we can create a group and then add a user to it
+     * Verify that we cannot create a group with a space in the path
      */
-    @Test()
-    public void createGroupAndAddAUserValidation() throws IOException {
+    /*
+    @Test
+    public void postGroupActivity() throws IOException {
 
-    }
-    /***
-     *
-     * Verify that we can create a group and then add a role to it
-     */
-    @Test()
-    public void createGroupAndAddARoleValidation() throws IOException {
 
-    }
+        //1. create a group
+        GroupsCollection groups = context.groups();
 
-    /*
+        //create a group with a normal name
+        String groupName = "groupTitle";
+        String groupPath = "groupPath";
+        JsonNode testGroup = groups.create(groupName, groupPath);
+        //verify the group was created
+        assertNull(testGroup.get("errors"));
+        assertEquals(testGroup.get("path").asText(), groupPath);
+
+        //2. post group activity
+
+        //TODO: actually post a group activity
+    }
 
     @Test
     public void addRemovePermission() throws IOException {
@@ -344,33 +386,4 @@ public class GroupResourceIT extends AbstractRestIT {
     }
     */
 
-
-    /***
-     *
-     * Post a group activity
-     */
-
-    @Test
-    public void postGroupActivity() throws IOException {
-
-        /*
-
-        //1. create a group
-        GroupsCollection groups = context.groups();
-
-        //create a group with a normal name
-        String groupName = "groupTitle";
-        String groupPath = "groupPath";
-        JsonNode testGroup = groups.create(groupName, groupPath);
-        //verify the group was created
-        assertNull(testGroup.get("errors"));
-        assertEquals(testGroup.get("path").asText(), groupPath);
-
-        //2. post group activity
-
-        //TODO: actually post a group activity
-        */
-    }
-
-
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2a76dbc7/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/CollectionEndpoint.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/CollectionEndpoint.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/CollectionEndpoint.java
index c060536..b96e999 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/CollectionEndpoint.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/CollectionEndpoint.java
@@ -16,6 +16,8 @@
  */
 package org.apache.usergrid.rest.test.resource2point0.endpoints;
 
+import java.util.Map;
+
 import com.sun.jersey.api.client.WebResource;
 import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse;
 import org.apache.usergrid.rest.test.resource2point0.model.Collection;
@@ -177,7 +179,7 @@ public class CollectionEndpoint extends NamedResource {
      */
     public Entity post(Entity payload){
         ApiResponse response = getResource(true).type( MediaType.APPLICATION_JSON_TYPE ).accept(MediaType.APPLICATION_JSON)
-                .post(ApiResponse.class, payload.getDynamicProperties());
+                .post(ApiResponse.class, payload);
         return new Entity(response);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2a76dbc7/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Entity.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Entity.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Entity.java
index 22217f8..be6efca 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Entity.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Entity.java
@@ -39,7 +39,6 @@ import static org.apache.usergrid.persistence.Schema.PROPERTY_NAME;
  * minumum of what other classes use. Such as . users or groups.
  */
 
-@XmlRootElement
 public class Entity implements Serializable, Map<String,Object> {
 
 
@@ -57,86 +56,12 @@ public class Entity implements Serializable, Map<String,Object> {
         this.response = response;
 
         if(response.getEntities() !=null &&  response.getEntities().size()>=1){
-            List<Entity>  entities =  response.getEntities();
-            Map<String,Object> entity = entities.get(0);
-            this.putAll(entity);
-        }
+                    List<Entity>  entities =  response.getEntities();
+                    Map<String,Object> entity = entities.get(0);
+                    this.putAll(entity);
+                }
     }
 
-    public UUID getUuid(){
-        return  UUID.fromString( (String) get("uuid") );
-    }
-
-
-    public void setUuid( UUID uuid ) {
-        put("uuid", uuid);
-    }
-
-    //TODO: see if this is needed
-    //    @JsonSerialize( include = JsonSerialize.Inclusion.NON_NULL )
-    public String getType() {
-        return (String) get( "type" );
-    }
-
-
-    public void setType( String type ) {
-        put("type",type);
-    }
-
-    public Long getCreated() {
-        return (Long) get( "created" );
-    }
-
-
-    public void setCreated( Long created ) {
-        if ( created == null ) {
-            created = System.currentTimeMillis();
-        }
-        put( "created", created );
-    }
-
-
-    public Long getModified() {
-        return (Long) get( "modified" );
-    }
-
-
-    public void setModified( Long modified ) {
-        if ( modified == null ) {
-            modified = System.currentTimeMillis();
-        }
-        put( "modified", modified );
-    }
-
-
-    public String getName() {
-        Object value = getProperty( PROPERTY_NAME );
-
-        if ( value instanceof UUID ) {
-            // fixes existing data that uses UUID in USERGRID-2099
-            return value.toString();
-        }
-
-        return (String) get( "name" );
-    }
-
-
-    @JsonIgnore
-    public Map<String, Object> getProperties() {
-        return dynamic_properties;
-    }
-
-
-    public final Object getProperty( String propertyName ) {
-        return get( propertyName );
-    }
-
-
-
-    public Entity addProperty(String key, Object value){
-        put(key,value);
-        return this;
-    }
     public void setProperties( Map<String, Object> properties ) {
         putAll( properties );
     }
@@ -150,107 +75,6 @@ public class Entity implements Serializable, Map<String,Object> {
         return this;
     }
 
-    public Object getMetadata( String key ) {
-        return getDataset( "metadata", key );
-    }
-
-
-    public void setMetadata( String key, Object value ) {
-        setDataset( "metadata", key, value );
-    }
-
-
-    public void mergeMetadata( Map<String, Object> new_metadata ) {
-        mergeDataset( "metadata", new_metadata );
-    }
-
-
-    public void clearMetadata() {
-        clearDataset("metadata");
-    }
-
-
-    public <T> T getDataset( String property, String key ) {
-        Object md = get( property );
-        if ( md == null ) {
-            return null;
-        }
-        if ( !( md instanceof Map<?, ?> ) ) {
-            return null;
-        }
-        @SuppressWarnings( "unchecked" ) Map<String, T> metadata = ( Map<String, T> ) md;
-        return metadata.get( key );
-    }
-
-
-    public <T> void setDataset( String property, String key, T value ) {
-        if ( key == null ) {
-            return;
-        }
-        Object md = get( property );
-        if ( !( md instanceof Map<?, ?> ) ) {
-            md = new HashMap<String, T>();
-            put( property, md );
-        }
-        @SuppressWarnings( "unchecked" ) Map<String, T> metadata = ( Map<String, T> ) md;
-        metadata.put(key, value);
-    }
-
-
-    public <T> void mergeDataset( String property, Map<String, T> new_metadata ) {
-        Object md = get( property );
-        if ( !( md instanceof Map<?, ?> ) ) {
-            md = new HashMap<String, T>();
-            put( property, md );
-        }
-        @SuppressWarnings( "unchecked" ) Map<String, T> metadata = ( Map<String, T> ) md;
-        metadata.putAll( new_metadata );
-    }
-
-
-    public void clearDataset( String property ) {
-        remove(property);
-    }
-
-
-    public List<org.apache.usergrid.persistence.Entity> getCollections( String key ) {
-        return getDataset( "collections", key );
-    }
-
-
-    public void setCollections( String key, List<org.apache.usergrid.persistence.Entity> results ) {
-        setDataset("collections", key, results);
-    }
-
-
-    public List<org.apache.usergrid.persistence.Entity> getConnections( String key ) {
-        return getDataset( "connections", key );
-    }
-
-
-    public void setConnections( String key, List<org.apache.usergrid.persistence.Entity> results ) {
-        setDataset( "connections", key, results );
-    }
-
-
-    public String toString() {
-        return "Entity(" + getProperties() + ")";
-    }
-
-    @JsonAnySetter
-    public void setDynamicProperty( String key, Object value ) {
-        if ( value == null || value.equals( "" ) ) {
-            if ( containsKey( key ) ) {
-                remove( key );
-            }
-        }
-        else {
-            put( key, value );
-        }
-    }
-
-
-    @JsonAnyGetter
     public Map<String, Object> getDynamicProperties() {
         return dynamic_properties;
     }