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) {