Skip to content

Release Verification

kellymclaughlin edited this page Jan 26, 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
      2. Create a bucket
      3. Verify the bucket is now listed for the user
      4. Delete the bucket
      5. Verify the bucket is no longer listed for the user
      6. Re-create the bucket
      7. Verify the bucket is empty
      8. Store a file
      9. List the bucket contents and verify the file is listed
      10. Retrieve the file. Store it at a different name than the original.
      11. Verify the size and cryptographic hash (i.e. sha256) match those of the original file.
      12. Delete the file.
      13. List the contents of the bucket and verify that the file is no longer listed.
      14. Sync a directory with several files in it (preferably with nested subdirectories).
      15. Verify the reported size of the files that were synced.
      16. Create another bucket
      17. Store a file in the new bucket.
      18. List the buckets for the user and verify the new bucket is listed.
      19. List the files in all buckets and verify the output is correct.
      20. Attempt to delete one of the buckets and verify that an error is generated due to the bucket not being empty.
  • 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

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