X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=libs3-1.4%2Ftest%2Ftest.sh;fp=libs3-1.4%2Ftest%2Ftest.sh;h=3acfc86cbf2d1a55843f53a3d641098ea79819a8;hb=1d62668cef91cf8f93f078ff47b4f99dec0f1669;hp=0000000000000000000000000000000000000000;hpb=45a4f324927f8fe3b7e689dd0c9a28716d0d1e93;p=bluesky.git diff --git a/libs3-1.4/test/test.sh b/libs3-1.4/test/test.sh new file mode 100755 index 0000000..3acfc86 --- /dev/null +++ b/libs3-1.4/test/test.sh @@ -0,0 +1,173 @@ +#!/bin/sh + +# Environment: +# S3_ACCESS_KEY_ID - must be set to S3 Access Key ID +# S3_SECRET_ACCESS_KEY - must be set to S3 Secret Access Key +# TEST_BUCKET_PREFIX - must be set to the test bucket prefix to use +# S3_COMMAND - may be set to s3 command to use (i.e. valgrind s3); defaults +# to "s3" + +if [ -z "$S3_ACCESS_KEY_ID" ]; then + echo "S3_ACCESS_KEY_ID required" + exit -1; +fi + +if [ -z "$S3_SECRET_ACCESS_KEY" ]; then + echo "S3_SECRET_ACCESS_KEY required" + exit -1; +fi + +if [ -z "$TEST_BUCKET_PREFIX" ]; then + echo "TEST_BUCKET_PREFIX required" + exit -1; +fi + +if [ -z "$S3_COMMAND" ]; then + S3_COMMAND=s3 +fi + +TEST_BUCKET=${TEST_BUCKET_PREFIX}.testbucket + +# Create the test bucket in EU +echo "$S3_COMMAND create $TEST_BUCKET locationConstraint=EU" +$S3_COMMAND create $TEST_BUCKET + +# List to find it +echo "$S3_COMMAND list | grep $TEST_BUCKET" +$S3_COMMAND list | grep $TEST_BUCKET + +# Test it +echo "$S3_COMMAND test $TEST_BUCKET" +$S3_COMMAND test $TEST_BUCKET + +# List to ensure that it is empty +echo "$S3_COMMAND list $TEST_BUCKET" +$S3_COMMAND list $TEST_BUCKET + +# Put some data +rm -f seqdata +seq 1 10000 > seqdata +echo "$S3_COMMAND put $TEST_BUCKET/testkey filename=seqdata noStatus=1" +$S3_COMMAND put $TEST_BUCKET/testkey filename=seqdata noStatus=1 + +rm -f testkey +# Get the data and make sure that it matches +echo "$S3_COMMAND get $TEST_BUCKET/testkey filename=testkey" +$S3_COMMAND get $TEST_BUCKET/testkey filename=testkey +diff seqdata testkey +rm -f seqdata testkey + +# Delete the file +echo "$S3_COMMAND delete $TEST_BUCKET/testkey" +$S3_COMMAND delete $TEST_BUCKET/testkey + +# Remove the test bucket +echo "$S3_COMMAND delete $TEST_BUCKET" +$S3_COMMAND delete $TEST_BUCKET + +# Make sure it's not there +echo "$S3_COMMAND list | grep $TEST_BUCKET" +$S3_COMMAND list | grep $TEST_BUCKET + +# Now create it again +echo "$S3_COMMAND create $TEST_BUCKET" +$S3_COMMAND create $TEST_BUCKET + +# Put 10 files in it +for i in `seq 0 9`; do + echo "echo \"Hello\" | $S3_COMMAND put $TEST_BUCKET/key_$i" + echo "Hello" | $S3_COMMAND put $TEST_BUCKET/key_$i +done + +# List with all details +echo "$S3_COMMAND list $TEST_BUCKET allDetails=1" +$S3_COMMAND list $TEST_BUCKET allDetails=1 + +COPY_BUCKET=${TEST_BUCKET_PREFIX}.copybucket + +# Create another test bucket and copy a file into it +echo "$S3_COMMAND create $COPY_BUCKET" +$S3_COMMAND create $COPY_BUCKET +echo <> acl +Group Authenticated AWS Users READ +EOF +echo <> acl +Group All Users READ_ACP +EOF +echo "$S3_COMMAND setacl $TEST_BUCKET filename=acl" +$S3_COMMAND setacl $TEST_BUCKET filename=acl + +# Test to make sure that it worked +rm -f acl_new +echo "$S3_COMMAND getacl $TEST_BUCKET filename=acl_new allDetails=1" +$S3_COMMAND getacl $TEST_BUCKET filename=acl_new allDetails=1 +diff acl acl_new +rm -f acl acl_new + +# Get the key acl +rm -f acl +echo "$S3_COMMAND getacl $TEST_BUCKET/aclkey filename=acl allDetails=1" +$S3_COMMAND getacl $TEST_BUCKET/aclkey filename=acl allDetails=1 + +# Add READ for all AWS users, and READ_ACP for everyone +echo <> acl +Group Authenticated AWS Users READ +EOF +echo <> acl +Group All Users READ_ACP +EOF +echo "$S3_COMMAND setacl $TEST_BUCKET/aclkey filename=acl" +$S3_COMMAND setacl $TEST_BUCKET/aclkey filename=acl + +# Test to make sure that it worked +rm -f acl_new +echo "$S3_COMMAND getacl $TEST_BUCKET/aclkey filename=acl_new allDetails=1" +$S3_COMMAND getacl $TEST_BUCKET/aclkey filename=acl_new allDetails=1 +diff acl acl_new +rm -f acl acl_new + +# Remove the test file +echo "$S3_COMMAND delete $TEST_BUCKET/aclkey" +$S3_COMMAND delete $TEST_BUCKET/aclkey +echo "$S3_COMMAND delete $TEST_BUCKET" +$S3_COMMAND delete $TEST_BUCKET