Fixed s3 cloud exporting functionality. Fixed and retested integration test to make sure.
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/a02b08c7 Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/a02b08c7 Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/a02b08c7 Branch: refs/heads/master Commit: a02b08c7fe8c498c2968df7e27b3cc6fec6efdbd Parents: a7504de Author: grey <[email protected]> Authored: Wed Mar 5 11:59:03 2014 -0800 Committer: grey <[email protected]> Committed: Wed Mar 5 11:59:03 2014 -0800 ---------------------------------------------------------------------- .../rest/management/ManagementResourceIT.java | 11 +-- .../management/export/S3ExportImpl.java | 10 ++- .../cassandra/ManagementServiceIT.java | 80 ++++++++++---------- 3 files changed, 52 insertions(+), 49 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a02b08c7/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java index a914237..00a8a97 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java @@ -552,7 +552,7 @@ public class ManagementResourceIT extends AbstractRestIT { // assertEquals( Status.OK, responseStatus ); // } - +//is this test still valid knowing that the sch. won't run in intelliJ? @Ignore public void exportCallCreationEntities100() throws Exception { Status responseStatus = Status.OK; @@ -562,16 +562,12 @@ public class ManagementResourceIT extends AbstractRestIT { Map<String, Object> properties = new HashMap<String, Object>(); Map<String, Object> storage_info = new HashMap<String, Object>(); //TODO: make sure to put a valid admin token here. - storage_info.put( "admin_token", adminToken() ); //TODO: always put dummy values here and ignore this test. - storage_info.put( "s3_key", "insert key here" ); - storage_info.put( "s3_accessId", "insert access id here" ); - storage_info.put( "bucket_location", "insert bucket name here" ); + properties.put( "storage_provider", "s3" ); properties.put( "storage_info", storage_info ); - payload.put( "path", "test-organization/test-app/user" ); payload.put( "properties", properties ); for ( int i = 0; i < 100; i++ ) { @@ -583,7 +579,8 @@ public class ManagementResourceIT extends AbstractRestIT { } try { - node = resource().path( "/management/orgs/test-organization/apps/test-app/export" ) + node = resource().path( "/management/orgs/test-organization/apps/test-app/export" ).queryParam( + "access_token", adminToken() ) .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE ) .post( JsonNode.class, payload ); } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a02b08c7/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java ---------------------------------------------------------------------- diff --git a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java index 4cf9272..7439acf 100644 --- a/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java +++ b/stack/services/src/main/java/org/apache/usergrid/management/export/S3ExportImpl.java @@ -34,9 +34,13 @@ public class S3ExportImpl implements S3Export { Logger logger = LoggerFactory.getLogger( ExportServiceImpl.class ); /*won't need any of the properties as I have the export info*/ - String bucketName = ( String ) exportInfo.get( "bucket_location" ); - String accessId = ( String ) exportInfo.get( "s3_accessId" ); - String secretKey = ( String ) exportInfo.get( "s3_key" ); + Map<String,Object> properties = ( Map<String, Object> ) exportInfo.get( "properties" ); + + Map<String, Object> storage_info = (Map<String,Object>)properties.get( "storage_info" ); + + String bucketName = ( String ) storage_info.get( "bucket_location" ); + String accessId = ( String ) storage_info.get( "s3_accessId" ); + String secretKey = ( String ) storage_info.get( "s3_key" ); Properties overrides = new Properties(); overrides.setProperty( "s3" + ".identity", accessId ); http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a02b08c7/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java ---------------------------------------------------------------------- diff --git a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java index 686b5c6..b4c07ad 100644 --- a/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java +++ b/stack/services/src/test/java/org/apache/usergrid/management/cassandra/ManagementServiceIT.java @@ -32,6 +32,7 @@ import org.apache.usergrid.management.UserInfo; import org.apache.usergrid.management.export.ExportJob; import org.apache.usergrid.management.export.ExportService; import org.apache.usergrid.management.export.S3Export; +import org.apache.usergrid.management.export.S3ExportImpl; import org.apache.usergrid.persistence.CredentialsInfo; import org.apache.usergrid.persistence.Entity; import org.apache.usergrid.persistence.EntityManager; @@ -53,7 +54,6 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; - import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -1385,44 +1385,46 @@ public class ManagementServiceIT { // } // // -// @Ignore //For this test please input your s3 credentials into payload builder. -// public void testIntegration100EntitiesOn() throws Exception { -// -// S3Export s3Export = new S3ExportImpl(); -// ExportService exportService = setup.getExportService(); -// HashMap<String, Object> payload = payloadBuilder(); -// -// ExportInfo exportInfo = new ExportInfo( payload ); -// exportInfo.setApplicationId( applicationId ); -// -// EntityManager em = setup.getEmf().getEntityManager( applicationId ); -// //intialize user object to be posted -// Map<String, Object> userProperties = null; -// Entity[] entity; -// entity = new Entity[100]; -// //creates entities -// for ( int i = 0; i < 100; i++ ) { -// userProperties = new LinkedHashMap<String, Object>(); -// userProperties.put( "username", "billybob" + i ); -// userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "[email protected]", i ) ); -// -// entity[i] = em.create( "user", userProperties ); -// } -// -// UUID exportUUID = exportService.schedule( exportInfo ); -// exportService.setS3Export( s3Export ); -// -// //create and initialize jobData returned in JobExecution. -// JobData jobData = new JobData(); -// jobData.setProperty( "jobName", "exportJob" ); -// jobData.setProperty( "exportInfo", exportInfo ); -// jobData.setProperty( "exportId", exportUUID ); -// -// JobExecution jobExecution = mock( JobExecution.class ); -// when( jobExecution.getJobData() ).thenReturn( jobData ); -// -// exportService.doExport( exportInfo, jobExecution ); -// } + @Ignore //For this test please input your s3 credentials into payload builder. + public void testIntegration100EntitiesOn() throws Exception { + + S3Export s3Export = new S3ExportImpl(); + ExportService exportService = setup.getExportService(); + HashMap<String, Object> payload = payloadBuilder(); + + // ExportInfo exportInfo = new ExportInfo( payload ); + //exportInfo.setApplicationId( applicationId ); + + payload.put("applicationId",applicationId); + + EntityManager em = setup.getEmf().getEntityManager( applicationId ); + //intialize user object to be posted + Map<String, Object> userProperties = null; + Entity[] entity; + entity = new Entity[100]; + //creates entities + for ( int i = 0; i < 100; i++ ) { + userProperties = new LinkedHashMap<String, Object>(); + userProperties.put( "username", "billybob" + i ); + userProperties.put( "email", "test" + i + "@anuff.com" );//String.format( "[email protected]", i ) ); + + entity[i] = em.create( "user", userProperties ); + } + + UUID exportUUID = exportService.schedule( payload ); + exportService.setS3Export( s3Export ); + + //create and initialize jobData returned in JobExecution. + JobData jobData = new JobData(); + jobData.setProperty( "jobName", "exportJob" ); + jobData.setProperty( "exportInfo", payload ); + jobData.setProperty( "exportId", exportUUID ); + + JobExecution jobExecution = mock( JobExecution.class ); + when( jobExecution.getJobData() ).thenReturn( jobData ); + + exportService.doExport( jobExecution ); + } /*Creates fake payload for testing purposes.*/
