Skip to content

Release Verification

kellymclaughlin edited this page Jan 27, 2012 · 12 revisions

Tests to complete

  • User Creation

  • Create a user account (instructions) and record the credentials for use in other tests.

  • Create a user using the same name and verify the user credentials are different.

  • S3 Compliance

    • Run the prototype_parity.py test. The file can be found in the test subdirectory of the riak_moss repo. The file will first need to be edited to replace the default credentials with the credentials for the test user that was created.
    • Verify s3cmd commands. Information on configuring s3cmd can be found here.
      1. Verify the user has no bucket - s3cmd ls
      2. Create a bucket - s3cmd mb s3://testbucket
      3. Verify the bucket is now listed for the user - s3cmd ls
      4. Delete the bucket - s3cmd rb s3://testbucket
      5. Verify the bucket is no longer listed for the user - s3cmd ls
      6. Re-create the bucket - s3cmd mb s3://testbucket
      7. Verify the bucket is empty - s3cmd ls s3://testbucket
      8. Store a file - s3cmd put <filename> s3://testbucket/
      9. List the bucket contents and verify the file is listed - s3cmd ls s3://testbucket
      10. Retrieve the file. Store it at a different name than the original - s3cmd get s3://testbucket/<filename> <filename>.out
      11. Verify the size and cryptographic hash (e.g. sha256) match those of the original file. ls -l <filename> <filename>out;sha256sum <filename> <filename>.out
      12. Delete the file - s3cmd del s3://testbucket/<filename>
      13. List the contents of the bucket and verify that the file is no longer listed - s3cmd ls s3://testbucket
      14. Sync to a remote directory with several files in it (preferably with nested subdirectories) - s3cmd sync ./ s3://testbucket/
      15. Verify the reported size of the files that were synced - s3cmd du s3://testbucket
      16. Make an empty directory and move to it and sync the files from the remote directory to the local directory and verify the files - s3cmd sync s3://testbucket ./
      17. Create another bucket - s3cmd mb s3://testbucket2
      18. Store a file in the new bucket - s3cmd put <filename> s3://testbucket/
      19. List the buckets for the user and verify the new bucket is listed - s3cmd ls
      20. List the files in all buckets and verify the output is correct - s3cmd la
      21. Attempt to delete one of the buckets and verify that an error is generated due to the bucket not being empty - s3cmd rb s3://testbucket2
  • Large File Testing

    • Use s3cmd subcommands get, put, and del to store, retrieve, and delete a file of at least 2 GB (max 4 GB) in size. Ensure that the size and cryptographic hash of the retrieved file matches that of the original.
    • Upload at least 2 different files of size greater than 2GB simultaneously and verify there are no errors or timeouts. Then retrieve the files simultaneously.
    • Begin the upload of a file of at least 2 GB using s3cmd put and give it several seconds to begin uploading. In a different shell load a much smaller file (maybe a few KB) to the same location. Wait for the loading of the first file to complete and then fetch the location and verify that the size and cryptographic hash of the retrieved file matches those of the smaller file.
    • Attempt to upload a file of size greater than 4 GB and ensure that an error about the file being too large is generated.
  • Billing and Usage Testing

    • Pending code completion
  • Globally Unique Bucket Names

    • Pending code completion
  • Stats Testing

    • Pending code completion
  • Replication Testing

    • Pending code completion

Test Setups

  • Test with Riak and MOSS running locally without the use of any load balancers.
  • Test using the SilverLining configuration (e.g. test1.moss.basho.com).