Best Python code snippet using localstack_python
test_cloudformation_stacks.py
Source:test_cloudformation_stacks.py  
...81        TemplateBody=load_template_raw("cfn_reuse_param.yaml"),82        Parameters=[{"ParameterKey": "DeployParam", "ParameterValue": "no"}],83    )84    stack_id = create_response["StackId"]85    def wait_stack_done():86        return cfn_client.describe_stacks(StackName=stack_id)["Stacks"][0]["StackStatus"] in [87            "CREATE_COMPLETE",88            "UPDATE_COMPLETE",89        ]90    assert wait_until(wait_stack_done)91    stack_describe_response = cfn_client.describe_stacks(StackName=stack_id)["Stacks"][0]92    assert len(stack_describe_response["Outputs"]) == 193    # 2. update using UsePreviousValue. DeployParam should still be "no", still overriding the default and the only change should be the changed tag on the required topic94    cfn_client.update_stack(95        StackName=stack_name,96        TemplateBody=load_template_raw("cfn_reuse_param.yaml"),97        Parameters=[98            {"ParameterKey": "CustomTag", "ParameterValue": "trigger-change"},99            {"ParameterKey": "DeployParam", "UsePreviousValue": True},100        ],101    )102    assert wait_until(wait_stack_done)103    stack_describe_response = cfn_client.describe_stacks(StackName=stack_id)["Stacks"][0]104    assert len(stack_describe_response["Outputs"]) == 1105    # 3. update with setting the deployparam to "yes" not. The condition will evaluate to true and thus create the topic + output106    # note: for an even trickier challenge for the cloudformation engine, remove the second parameter key. Behavior should stay the same.107    cfn_client.update_stack(108        StackName=stack_name,109        TemplateBody=load_template_raw("cfn_reuse_param.yaml"),110        Parameters=[111            {"ParameterKey": "CustomTag", "ParameterValue": "trigger-change-2"},112            {"ParameterKey": "DeployParam", "ParameterValue": "yes"},113        ],114    )115    assert wait_until(wait_stack_done)116    stack_describe_response = cfn_client.describe_stacks(StackName=stack_id)["Stacks"][0]117    assert len(stack_describe_response["Outputs"]) == 2118@pytest.mark.aws_validated119def test_stack_time_attributes(cfn_client, deploy_cfn_template):120    api_name = f"test_{short_uid()}"121    template_path = os.path.join(os.path.dirname(__file__), "../templates/simple_api.yaml")122    deployed = deploy_cfn_template(123        template_path=template_path,124        parameters={"ApiName": api_name},125    )126    stack_name = deployed.stack_name127    assert "CreationTime" in cfn_client.describe_stacks(StackName=stack_name)["Stacks"][0]128    api_name = f"test_{short_uid()}"129    stack_id = deployed.stack_id130    cfn_client.update_stack(131        StackName=stack_name,132        TemplateBody=load_template_file(template_path),133        Parameters=[{"ParameterKey": "ApiName", "ParameterValue": api_name}],134    )135    def wait_stack_done():136        return cfn_client.describe_stacks(StackName=stack_id)["Stacks"][0]["StackStatus"] in [137            "CREATE_COMPLETE",138            "UPDATE_COMPLETE",139        ]140    assert wait_until(wait_stack_done)141    assert "LastUpdatedTime" in cfn_client.describe_stacks(StackName=stack_name)["Stacks"][0]142    cfn_client.delete_stack(143        StackName=stack_name,144    )145    assert "DeletionTime" in cfn_client.describe_stacks(StackName=stack_name)["Stacks"][0]146@pytest.mark.aws_validated147def test_stack_description_special_chars(cfn_client, deploy_cfn_template, snapshot):148    snapshot.add_transformer(snapshot.transform.cloudformation_api())149    template = """...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
