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 17:16:00 UTC

incubator-usergrid git commit: Fix test problems and re-enable AssetResourceIT tests.

Repository: incubator-usergrid
Updated Branches:
  refs/heads/USERGRID=745 [created] 47db44c89


Fix test problems and re-enable AssetResourceIT 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/47db44c8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/47db44c8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/47db44c8

Branch: refs/heads/USERGRID=745
Commit: 47db44c8930f91dc9aa77eb3142b6a8da3f57e37
Parents: b51b668
Author: Dave Johnson <dm...@apigee.com>
Authored: Thu Jun 18 11:15:48 2015 -0400
Committer: Dave Johnson <dm...@apigee.com>
Committed: Thu Jun 18 11:15:48 2015 -0400

----------------------------------------------------------------------
 .../applications/assets/AssetsResource.java     | 41 +++++-----------
 .../applications/assets/AssetResourceIT.java    | 50 +++++++++++---------
 .../assets/data/LocalFileBinaryStore.java       |  5 ++
 3 files changed, 46 insertions(+), 50 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/47db44c8/stack/rest/src/main/java/org/apache/usergrid/rest/applications/assets/AssetsResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/assets/AssetsResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/assets/AssetsResource.java
index b43827b..ef43cfd 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/applications/assets/AssetsResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/applications/assets/AssetsResource.java
@@ -18,32 +18,8 @@ package org.apache.usergrid.rest.applications.assets;
 
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-import java.io.InputStream;
-import java.util.Date;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Scope;
-import org.springframework.stereotype.Component;
+import com.sun.jersey.api.json.JSONWithPadding;
+import com.sun.jersey.multipart.FormDataParam;
 import org.apache.usergrid.persistence.EntityManager;
 import org.apache.usergrid.persistence.entities.Asset;
 import org.apache.usergrid.rest.AbstractContextResource;
@@ -52,9 +28,18 @@ import org.apache.usergrid.rest.security.annotations.RequireApplicationAccess;
 import org.apache.usergrid.services.assets.data.AssetUtils;
 import org.apache.usergrid.services.assets.data.BinaryStore;
 import org.apache.usergrid.utils.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Component;
 
-import com.sun.jersey.api.json.JSONWithPadding;
-import com.sun.jersey.multipart.FormDataParam;
+import javax.ws.rs.*;
+import javax.ws.rs.core.*;
+import java.io.InputStream;
+import java.util.Date;
+import java.util.Map;
+import java.util.UUID;
 
 
 /** @deprecated  */

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/47db44c8/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AssetResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AssetResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AssetResourceIT.java
index 5c49709..2b0cbf7 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AssetResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AssetResourceIT.java
@@ -58,7 +58,6 @@ public class AssetResourceIT extends AbstractRestIT {
 
     /** @Deprecated Tests legacy API */
     @Test
-    @Ignore
     public void verifyBinaryCrud() throws Exception {
 
         userRepo.load();
@@ -102,7 +101,6 @@ public class AssetResourceIT extends AbstractRestIT {
 
 
     @Test
-    @Ignore
     public void octetStreamOnDynamicEntity() throws Exception {
 
         this.refreshIndex();
@@ -111,8 +109,10 @@ public class AssetResourceIT extends AbstractRestIT {
 
         String orgAppPath = clientSetup.getOrganizationName() + "/" + clientSetup.getAppName();
 
-        JsonNode node = mapper.readTree( resource().path( orgAppPath + "/foos" ).queryParam( "access_token", access_token )
-            .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+        JsonNode node = mapper.readTree( resource().path( orgAppPath + "/foos" )
+            .queryParam( "access_token", access_token )
+            .accept( MediaType.APPLICATION_JSON )
+            .type( MediaType.APPLICATION_JSON_TYPE )
             .post( String.class, payload ) );
 
         JsonNode idNode = node.get( "entities" ).get( 0 ).get( "uuid" );
@@ -120,21 +120,28 @@ public class AssetResourceIT extends AbstractRestIT {
         assertNotNull( uuid );
 
         byte[] data = IOUtils.toByteArray( this.getClass().getResourceAsStream( "/cassandra_eye.jpg" ) );
-        resource().path( orgAppPath + "/foos/" + uuid ).queryParam( "access_token", access_token )
-                .type( MediaType.APPLICATION_OCTET_STREAM_TYPE ).put( data );
+        resource().path( orgAppPath + "/foos/" + uuid )
+            .queryParam( "access_token", access_token )
+            .type( MediaType.APPLICATION_OCTET_STREAM_TYPE )
+            .put( data );
 
         // get entity
-        node = mapper.readTree( resource().path( orgAppPath + "/foos/" + uuid ).queryParam( "access_token", access_token )
-                .accept( MediaType.APPLICATION_JSON_TYPE ).get( String.class ));
+        node = mapper.readTree( resource().path( orgAppPath + "/foos/" + uuid )
+            .queryParam( "access_token", access_token )
+            .accept( MediaType.APPLICATION_JSON_TYPE )
+            .get( String.class ));
+        LOG.info( "Node: " + mapToFormattedJsonString( node ) );
+
         Assert.assertEquals( "image/jpeg", node.findValue( AssetUtils.CONTENT_TYPE ).textValue() );
         Assert.assertEquals( 7979, node.findValue( "content-length" ).intValue() );
         idNode = node.get( "entities" ).get( 0 ).get( "uuid" );
         assertEquals( uuid, idNode.textValue() );
 
         // get data by UUID
-        InputStream is =
-                resource().path( orgAppPath + "/foos/" + uuid ).queryParam( "access_token", access_token )
-                        .accept( MediaType.APPLICATION_OCTET_STREAM_TYPE ).get( InputStream.class );
+        InputStream is = resource().path( orgAppPath + "/foos/" + uuid )
+            .queryParam( "access_token", access_token )
+            .accept( MediaType.APPLICATION_OCTET_STREAM_TYPE )
+            .get( InputStream.class );
 
         byte[] foundData = IOUtils.toByteArray( is );
         assertEquals( 7979, foundData.length );
@@ -151,7 +158,6 @@ public class AssetResourceIT extends AbstractRestIT {
 
 
     @Test
-    @Ignore
     public void multipartPostFormOnDynamicEntity() throws Exception {
 
         this.refreshIndex();
@@ -199,13 +205,14 @@ public class AssetResourceIT extends AbstractRestIT {
         assertEquals( 5324800, foundData.length );
 
         // delete
-        node = mapper.readTree( resource().path( orgAppPath + "/foos/" + uuid ).queryParam( "access_token", access_token )
-                .accept( MediaType.APPLICATION_JSON_TYPE ).delete( String.class ));
+        node = mapper.readTree( resource().path( orgAppPath + "/foos/" + uuid )
+            .queryParam( "access_token", access_token )
+            .accept( MediaType.APPLICATION_JSON_TYPE )
+            .delete( String.class ));
     }
 
 
     @Test
-    @Ignore
     public void multipartPutFormOnDynamicEntity() throws Exception {
 
         this.refreshIndex();
@@ -214,9 +221,11 @@ public class AssetResourceIT extends AbstractRestIT {
 
         String orgAppPath = clientSetup.getOrganizationName() + "/" + clientSetup.getAppName();
 
-        JsonNode node = mapper.readTree( resource().path( orgAppPath + "/foos" ).queryParam( "access_token", access_token )
-                .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
-                .post( String.class, payload ));
+        JsonNode node = mapper.readTree( resource().path( orgAppPath + "/foos" )
+            .queryParam( "access_token", access_token )
+            .accept( MediaType.APPLICATION_JSON )
+            .type( MediaType.APPLICATION_JSON_TYPE )
+            .post( String.class, payload ));
 
         JsonNode idNode = node.get( "entities" ).get( 0 ).get( "uuid" );
         String uuid = idNode.textValue();
@@ -272,7 +281,6 @@ public class AssetResourceIT extends AbstractRestIT {
 
 
     @Test
-    @Ignore
     public void largeFileInS3() throws Exception {
 
         this.refreshIndex();
@@ -319,7 +327,6 @@ public class AssetResourceIT extends AbstractRestIT {
     }
 
     @Test
-    @Ignore
     public void fileTooLargeShouldResultInError() throws Exception {
 
         this.refreshIndex();
@@ -378,7 +385,6 @@ public class AssetResourceIT extends AbstractRestIT {
      * Deleting a connection to an asset should not delete the asset or the asset's data
      */
     @Test
-    @Ignore
     public void deleteConnectionToAsset() throws IOException {
 
         this.refreshIndex();
@@ -393,7 +399,7 @@ public class AssetResourceIT extends AbstractRestIT {
 
         Map<String, String> payload = hashMap("name", "cassandra_eye.jpg");
 
-        JsonNode node = resource().path("/test-organization/test-app/foos")
+        JsonNode node = resource().path(orgAppPath + "/foos")
                 .queryParam("access_token", access_token)
                 .accept(MediaType.APPLICATION_JSON)
                 .type(MediaType.APPLICATION_JSON_TYPE)

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/47db44c8/stack/services/src/main/java/org/apache/usergrid/services/assets/data/LocalFileBinaryStore.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/LocalFileBinaryStore.java b/stack/services/src/main/java/org/apache/usergrid/services/assets/data/LocalFileBinaryStore.java
index f4cc735..85711b1 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/assets/data/LocalFileBinaryStore.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/assets/data/LocalFileBinaryStore.java
@@ -111,6 +111,11 @@ public class LocalFileBinaryStore implements BinaryStore {
         fileMetadata.put( AssetUtils.LAST_MODIFIED, System.currentTimeMillis() );
         fileMetadata.put( AssetUtils.E_TAG, RandomStringUtils.randomAlphanumeric( 10 ) );
 
+        // if we were successful, write the mime type
+        if ( file.exists() ) {
+            fileMetadata.put( AssetUtils.CONTENT_TYPE , AssetMimeHandler.get().getMimeType( entity, file ));
+        }
+
         try {
             em.update( entity );
         } catch (Exception e) {