[POC] Go-VCR: Wrap state change data structures #42930
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rollback Plan
If a change needs to be reverted, we will publish an updated version of the library.
Changes to Security Controls
Are there any changes to security controls (access controls, encryption, logging) in this pull request? If so, explain.
Description
A proof-of-concept for wrapping state change data structures from the Terraform Plugin-SDK V2
retry
package with logic to enable replayed VCR acceptance tests. Specifically, when VCR is enabled the delay and poll interval between state change checks is reduced to allow replayed interactions to quickly pass through the CRUD handler's waiting logic. This can significantly reduce test execution times for resources which are slow to provision. For example, ElastiCache clusters:Standard:
Replayed Interaction:
Relations
Relates #25602
Relates #43039 (an alternative implementation)
Output from Acceptance Testing
Prototyping with the
elasticache
service, test execution times for basic cluster resource configurations were reduced to ~10 seconds.