Skip to content

Latest commit

 

History

History
 
 

testing-pac-ts

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Writing Policies for Testing Pulumi Programs

An example of writing tests based on Policy as Code ("CrossGuard") with both infrastructure definition and tests written in TypeScript.

Prerequisites

  1. Ensure you have the latest Node.js and NPM.
  2. Install Pulumi.
  3. Configure Pulumi to Use AWS (if your AWS CLI is configured, no further changes are required).

Running the tests

The tests will run while Pulumi deploys the code, right before the deployment of each resource.

  1. Restore NPM dependencies:

    $ npm install
    
  2. Create a new stack, which is an isolated deployment target for this example:

    $ pulumi stack init
  3. Set the AWS region for this program:

    $ pulumi config set aws:region us-west-2
  4. Run pulumi up with tests folder as policy:

    $ pulumi up --policy-pack tests
    

    The preview displays that Policy Pack will run:

    Policy Packs run:
    Name                Version
    tests-pack (tests)  (local)
    

    Confirm the preview with yes and watch the deployment happen with tests running in parallel. If a test fails, the deployment will stop.

  5. Tear down your stack's resources by destroying and removing it:

    $ pulumi destroy --yes
    $ pulumi stack rm --yes

Further steps

Learn more about testing Pulumi programs: