How to use wait_stack_done method in localstack

Best Python code snippet using localstack_python

test_cloudformation_stacks.py

Source:test_cloudformation_stacks.py Github

copy

Full Screen

...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 = """...

Full Screen

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run localstack automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful