Skip to content
This repository has been archived by the owner on Jun 10, 2024. It is now read-only.

Latest commit

 

History

History
46 lines (36 loc) · 1.75 KB

integration.md

File metadata and controls

46 lines (36 loc) · 1.75 KB

Integration Testing

There are very few integration tests for AWS. Those that exist are in tests/integration/targets/ in the relevant collection repository.

Policy

Following the 2.4 release, all modules marked stableinterface MUST have integration tests for new features. Upgrading to boto3 shall be considered a feature request.

Following the 2.5 release, all new modules MUST have integration tests.

Bug fixes for modules that currently have integration tests SHOULD have tests added. Depending upon the urgency of the bug fix, we may accept bug fixes without tests.

Where integration tests are impractical due to the need for non-AWS resources, unit tests can be used instead. The placebo Python library provides a nice mechanism for recording and mocking boto3 API responses and is preferred to writing and maintaining AWS fixtures when possible.

Expected test criteria

  • Resource creation under check mode
  • Resource creation
  • Resource creation again (idempotency) under check mode
  • Resource creation again (idempotency)
  • Resource modification under check mode
  • Resource modification
  • Resource modification again (idempotency) under check mode
  • Resource modification again (idempotency)
  • Resource deletion under check mode
  • Resource deletion
  • Resource deletion (of a non-existent resource) under check mode
  • Resource deletion (of a non-existent resource)

Where modules have multiple parameters we recommend running through the 4-step modification cycle for each parameter the module accepts, as well as a modification cycle where as most, if not all, parameters are modified at the same time.

Modules which still use boto and need to be ported are tracked on the AWS Project Board. .