Skip to content

CFn: add tests for capturing change set process #12438

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 31, 2025

Conversation

simonrw
Copy link
Contributor

@simonrw simonrw commented Mar 25, 2025

Motivation

We are currently working on a new deployment engine for CloudFormation. We want to have some easy to use end to end tests that capture information about the deploy and update process (using Change Sets) to guide our implementation.

Changes

  • Add a testing framework for capturing lots of useful information about the deployment process
  • Add a helper function for capturing per-resource update steps
  • Add some initial tests and findings from executing the tests
    • tests are skipped if not using the new provider so the change does not impact the current provider

@simonrw simonrw added the semver: patch Non-breaking changes which can be included in patch releases label Mar 25, 2025
@simonrw simonrw self-assigned this Mar 25, 2025
Copy link

github-actions bot commented Mar 25, 2025

LocalStack Community integration with Pro

  2 files  ±    0    2 suites  ±0   20m 18s ⏱️ - 1h 35m 25s
431 tests  - 3 874  311 ✅  - 3 673  120 💤  - 201  0 ❌ ±0 
433 runs   - 3 874  311 ✅  - 3 673  122 💤  - 201  0 ❌ ±0 

Results for commit be59a3b. ± Comparison against base commit 69d4d34.

This pull request removes 3883 and adds 9 tests. Note that renamed tests count towards both.
tests.aws.scenario.bookstore.test_bookstore.TestBookstoreApplication ‑ test_lambda_dynamodb
tests.aws.scenario.bookstore.test_bookstore.TestBookstoreApplication ‑ test_opensearch_crud
tests.aws.scenario.bookstore.test_bookstore.TestBookstoreApplication ‑ test_search_books
tests.aws.scenario.bookstore.test_bookstore.TestBookstoreApplication ‑ test_setup
tests.aws.scenario.kinesis_firehose.test_kinesis_firehose.TestKinesisFirehoseScenario ‑ test_kinesis_firehose_s3
tests.aws.scenario.lambda_destination.test_lambda_destination_scenario.TestLambdaDestinationScenario ‑ test_destination_sns
tests.aws.scenario.lambda_destination.test_lambda_destination_scenario.TestLambdaDestinationScenario ‑ test_infra
tests.aws.scenario.loan_broker.test_loan_broker.TestLoanBrokerScenario ‑ test_prefill_dynamodb_table
tests.aws.scenario.loan_broker.test_loan_broker.TestLoanBrokerScenario ‑ test_stepfunctions_input_recipient_list[step_function_input0-SUCCEEDED]
tests.aws.scenario.loan_broker.test_loan_broker.TestLoanBrokerScenario ‑ test_stepfunctions_input_recipient_list[step_function_input1-SUCCEEDED]
…
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_conditions
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_direct_update
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_dynamic_update
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_mappings_with_parameter_lookup
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_mappings_with_static_fields
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_parameter_changes
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_unrelated_changes_requires_replacement
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_unrelated_changes_update_propagation
tests.aws.services.cloudformation.resources.test_stepfunctions ‑ test_statemachine_create_with_logging_configuration
This pull request removes 209 skipped tests and adds 8 skipped tests. Note that renamed tests count towards both.
tests.aws.scenario.kinesis_firehose.test_kinesis_firehose.TestKinesisFirehoseScenario ‑ test_kinesis_firehose_s3
tests.aws.scenario.loan_broker.test_loan_broker.TestLoanBrokerScenario ‑ test_stepfunctions_input_recipient_list[step_function_input4-FAILED]
tests.aws.scenario.mythical_mysfits.test_mythical_misfits.TestMythicalMisfitsScenario ‑ test_deployed_infra_state
tests.aws.scenario.mythical_mysfits.test_mythical_misfits.TestMythicalMisfitsScenario ‑ test_populate_data
tests.aws.scenario.mythical_mysfits.test_mythical_misfits.TestMythicalMisfitsScenario ‑ test_user_clicks_are_stored
tests.aws.services.apigateway.test_apigateway_api.TestApiGatewayApiRestApi ‑ test_get_api_case_insensitive
tests.aws.services.apigateway.test_apigateway_api.TestApigatewayIntegration ‑ test_put_integration_request_parameter_bool_type
tests.aws.services.apigateway.test_apigateway_basic.TestAPIGateway ‑ test_api_gateway_authorizer_crud
tests.aws.services.apigateway.test_apigateway_basic.TestAPIGateway ‑ test_api_gateway_http_integration_with_path_request_parameter
tests.aws.services.apigateway.test_apigateway_basic.TestAPIGateway ‑ test_api_gateway_lambda_proxy_integration[/lambda/foo1]
…
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_conditions
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_direct_update
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_dynamic_update
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_mappings_with_parameter_lookup
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_mappings_with_static_fields
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_parameter_changes
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_unrelated_changes_requires_replacement
tests.aws.services.cloudformation.api.test_changesets.TestCaptureUpdateProcess ‑ test_unrelated_changes_update_propagation

♻️ This comment has been updated with latest results.

@simonrw simonrw marked this pull request as ready for review March 27, 2025 15:57
@simonrw simonrw requested a review from MEPalma March 27, 2025 15:57
@simonrw simonrw merged commit c3ee300 into master Mar 31, 2025
35 checks passed
@simonrw simonrw deleted the cfn/capture-change-set-behaviour branch March 31, 2025 11:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver: patch Non-breaking changes which can be included in patch releases
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant