Skip to content

Commit

Permalink
add test case
Browse files Browse the repository at this point in the history
  • Loading branch information
michaeloffner committed Aug 17, 2023
1 parent 36f302f commit 3e92bbf
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 1 deletion.
4 changes: 3 additions & 1 deletion source/java/src/org/lucee/extension/resource/s3/S3.java
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,13 @@ public class S3 {

public static final String DEFAULT_HOST = "s3.amazonaws.com";
public static final long DEFAULT_LIVE_TIMEOUT = 600000L;
public static final String GOOGLE = ".googleapis.com";

public static final String[] PROVIDERS = new String[] { ".amazonaws.com", ".wasabisys.com", ".backblazeb2.com", ".digitaloceanspaces.com", ".dream.io" };
public static final String[] PROVIDERS = new String[] { ".amazonaws.com", ".wasabisys.com", ".backblazeb2.com", ".digitaloceanspaces.com", ".dream.io", GOOGLE };

private static final ConcurrentHashMap<String, Object> tokens = new ConcurrentHashMap<String, Object>();
private static final int CHECK_INTERVALL = 1000;

private final String host;
private final String secretAccessKey;
private final String accessKeyId;
Expand Down
70 changes: 70 additions & 0 deletions tests/functions/S3Copy.cfc
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
component extends="org.lucee.cfml.test.LuceeTestCase" labels="s3" {
function run( testResults , testBox ) {
describe( title="Test suite for S3Copy()", body=function() {
it(title="check region with blackbaze",skip=isBackBlazeNotSupported(), body = function( currentSpec ) {
var cred=getBackBlazeCredentials();

// create variables
var srcBucketName=cred.PREFIX&"src-filecopy";
var trgBucketName=cred.PREFIX&"trg-filecopy";
var srcObjectName="src/test.txt";
var trgObjectName="trg/test.txt";

// create source bucket
S3Write(
location:"us-east-1",
value:"Susi Sorglos",
bucketName:srcBucketName, objectName:srcObjectName,
accessKeyId:cred.ACCESS_KEY_ID, secretAccessKey:cred.SECRET_KEY);

// copy
S3Copy(
location:"us-east-1",
srcBucketName:srcBucketName, srcObjectName:srcObjectName, trgBucketName:trgBucketName, trgObjectName:trgObjectName,
accessKeyId:cred.ACCESS_KEY_ID, secretAccessKey:cred.SECRET_KEY);



//assertEquals("http://bundle-download.s3.eu-west-1.amazonaws.com/sentry-log4j-1.7.22.jar", res);
});

});
}

private function doFind(value){
return value EQ "world";
}

private boolean function isNotSupported() {
res= getCredentials();
return isNull(res) || len(res)==0;
}
private struct function getCredentials() {
var ACCESS_KEY_ID=server.system.environment.S3_ACCESS_ID_TEST?:nullValue();
if(isNull(ACCESS_KEY_ID) || isEmpty(ACCESS_KEY_ID)) return {};
var SECRET_KEY=server.system.environment.S3_SECRET_KEY_TEST?:nullValue();
if(isNull(SECRET_KEY) || isEmpty(SECRET_KEY)) return {};

return {ACCESS_KEY_ID:ACCESS_KEY_ID,SECRET_KEY:SECRET_KEY};
}

private boolean function isBackBlazeNotSupported() {
res= getBackBlazeCredentials();
return isNull(res) || len(res)==0;
}
private struct function getBackBlazeCredentials() {
var ACCESS_KEY_ID=server.system.environment.S3_BACKBLAZE_ACCESS_KEY_ID?:nullValue();
if(isNull(ACCESS_KEY_ID) || isEmpty(ACCESS_KEY_ID)) return {};

var SECRET_KEY=server.system.environment.S3_BACKBLAZE_SECRET_KEY?:nullValue();
if(isNull(SECRET_KEY) || isEmpty(SECRET_KEY)) return {};

var HOST=server.system.environment.S3_BACKBLAZE_HOST?:nullValue();
if(isNull(HOST) || isEmpty(HOST)) return {};

var PREFIX=server.system.environment.S3_BACKBLAZE_BUCKET_PREFIX?:nullValue();
if(isNull(PREFIX) || isEmpty(PREFIX)) return {};

return {ACCESS_KEY_ID:ACCESS_KEY_ID,SECRET_KEY:SECRET_KEY,HOST:HOST,PREFIX:PREFIX};
}
}

0 comments on commit 3e92bbf

Please sign in to comment.