TaskCat testing tool

 

All new Quick Starts and updates are validated by our internal automated validation and integration (CI/CD) system. As part of this process, the CloudFormation templates go through mandatory automated testing through a tool called TaskCat. TaskCat deploys your AWS CloudFormation template in multiple AWS Regions and generates a report with a pass/fail grade for each region. You can specify the regions and number of Availability Zones you want to include in the test, and pass in parameter values from your AWS CloudFormation template.

 

TaskCat is implemented as a Python class that you import, instantiate, and run. It was developed by the AWS Quick Start team to test AWS CloudFormation templates for Quick Starts. We’re pleased to make the tool available to all developers who want to validate their Quick Start templates during development, or test their custom AWS CloudFormation templates. TaskCat is available as an open-source tool in GitHub.

TaskCat handles the following:

  • Powers the Quick Start CI system. Every change that is published to the master branch of a Quick Start runs through TaskCat.
  • Stages your code to Amazon S3 for testing in one or more regions.
  • Uses a parameters file to pass input parameters to CreateStack.
  • Uses runtime injection to dynamically generate stack inputs.
  • Collects logs from the CloudFormation stack (including nested stacks).
  • Cleans up stacks and staging assets.
  • Generates test reports for every requested test region.

TaskCat supports all major Linux distributions and MacOS. (For Windows, use the Bash shell.) For installation instructions, see the next section.

For an example Quick Start project and input files you can use to explore TaskCat, see the GitHub repository sample-taskcat-project.

For information about TaskCat APIs, see the TaskCat API reference.