| 
									
										
										
										
											2016-04-12 16:23:35 -04:00
										 |  |  | import boto3 | 
					
						
							| 
									
										
										
										
											2021-10-18 19:44:29 +00:00
										 |  |  | import sure  # noqa # pylint: disable=unused-import | 
					
						
							| 
									
										
										
										
											2016-04-14 16:28:53 -04:00
										 |  |  | import re | 
					
						
							| 
									
										
										
										
											2016-04-12 16:23:35 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-14 16:28:53 -04:00
										 |  |  | from moto import mock_opsworks | 
					
						
							| 
									
										
										
										
											2016-04-12 16:23:35 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_opsworks | 
					
						
							|  |  |  | def test_create_stack_response(): | 
					
						
							| 
									
										
										
										
											2016-04-18 16:03:13 -04:00
										 |  |  |     client = boto3.client("opsworks", region_name="us-east-1") | 
					
						
							| 
									
										
										
										
											2016-04-12 16:23:35 -04:00
										 |  |  |     response = client.create_stack( | 
					
						
							|  |  |  |         Name="test_stack_1", | 
					
						
							|  |  |  |         Region="us-east-1", | 
					
						
							|  |  |  |         ServiceRoleArn="service_arn", | 
					
						
							|  |  |  |         DefaultInstanceProfileArn="profile_arn", | 
					
						
							|  |  |  |     ) | 
					
						
							|  |  |  |     response.should.contain("StackId") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_opsworks | 
					
						
							|  |  |  | def test_describe_stacks(): | 
					
						
							| 
									
										
										
										
											2016-04-18 16:03:13 -04:00
										 |  |  |     client = boto3.client("opsworks", region_name="us-east-1") | 
					
						
							| 
									
										
										
										
											2016-04-18 15:44:21 -04:00
										 |  |  |     for i in range(1, 4): | 
					
						
							| 
									
										
										
										
											2016-04-12 16:23:35 -04:00
										 |  |  |         client.create_stack( | 
					
						
							| 
									
										
										
										
											2016-04-18 16:36:30 -04:00
										 |  |  |             Name="test_stack_{0}".format(i), | 
					
						
							| 
									
										
										
										
											2016-04-12 16:23:35 -04:00
										 |  |  |             Region="us-east-1", | 
					
						
							|  |  |  |             ServiceRoleArn="service_arn", | 
					
						
							|  |  |  |             DefaultInstanceProfileArn="profile_arn", | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     response = client.describe_stacks() | 
					
						
							|  |  |  |     response["Stacks"].should.have.length_of(3) | 
					
						
							| 
									
										
										
										
											2016-04-14 16:28:53 -04:00
										 |  |  |     for stack in response["Stacks"]: | 
					
						
							|  |  |  |         stack["ServiceRoleArn"].should.equal("service_arn") | 
					
						
							|  |  |  |         stack["DefaultInstanceProfileArn"].should.equal("profile_arn") | 
					
						
							| 
									
										
										
										
											2016-04-12 16:23:35 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |     _id = response["Stacks"][0]["StackId"] | 
					
						
							|  |  |  |     response = client.describe_stacks(StackIds=[_id]) | 
					
						
							|  |  |  |     response["Stacks"].should.have.length_of(1) | 
					
						
							|  |  |  |     response["Stacks"][0]["Arn"].should.contain(_id) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-14 16:28:53 -04:00
										 |  |  |     # ClientError/ResourceNotFoundException | 
					
						
							|  |  |  |     client.describe_stacks.when.called_with(StackIds=["foo"]).should.throw( | 
					
						
							|  |  |  |         Exception, re.compile(r"foo") | 
					
						
							|  |  |  |     ) |