Skip to content
This repository has been archived by the owner on Jan 17, 2022. It is now read-only.

Testing cloudmig

David Pineau edited this page Aug 24, 2015 · 8 revisions

To avoid regressions or breaking anything within the program, everything must be thoroughly tested after each feature addition. If you add a new feature, please update this page to describe any tests associated with the feature that you add.

A testing framework for Cloudmig is currently in development, and shall be made available soon, in order to help test the multiple scenarios.

The following is a list of tests to conduct before validating a new feature:

  • Migrate one bucket to another (with bucket sizes ranging from several bytes to several gigabytes):
    • without naming a destination bucket (Currently not supported):
      • on the same account/storage space (source/destination) (computation of bucket name as cloudmig-timestamp-bucketname)
      • on two different storage spaces (source/destination):
        • if source bucket name already exists in any account on the destination storage system
          (computation of new bucket name as cloudmig-timestamp-bucketname)
        • if source bucket name does not exist in the destination storage system
          (creation of a new bucket with the same name as the source)
    • using the option to name a destination bucket:
      • within the same account (moving a bucket)
      • between two accounts
  • Migrate one account to another:
    • with one bucket:
      • without virtual directories
      • with virtual directories
    • with multiple buckets
  • Interrupt and resume a migration:
    • Interrupt migration:
      • with ^C (SIGINT: only signal caught by the tool)
      • with another method (any other signal not caught by the tool, ABORT for instance)
    • Resume migration
  • Delete source data:
    • Try with the option activated:
      • Ensure only the transferred files within the transferred buckets were deleted.
      • Ensure the Status data is removed.
    • Try without the option activated:
      • Ensure that the files are still around within Source bucket
      • Ensure that the files are still around within the status bucket (Can be done by trying tu re-start the migration, which will end up migration nothing).
  • Review log output:
    • Test that errors display in the standard error output (foreground mode)
    • Test that everything is logged to the tool log file
  • Set to background mode:
    • Test that nothing displays in the standard error output (after args/config retrieval)
    • Test that the log file is set to "cloudmig.log" by default
  • Change configuration settings:
    • Test all equivalents to command-line arguments except config, src-profile, and dst-profile
    • Test that empty values in the source or destination sections prevent the tool from starting
Clone this wiki locally