Add opsworks app mocks (#1481)
* Add implementation for OpsWorks create_app and describe_apps * Fix the name of the test * Add some more exception tests
This commit is contained in:
parent
fceeb5d55f
commit
b7ae704ad2
3 changed files with 227 additions and 0 deletions
102
tests/test_opsworks/test_apps.py
Normal file
102
tests/test_opsworks/test_apps.py
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
from __future__ import unicode_literals
|
||||
import boto3
|
||||
from freezegun import freeze_time
|
||||
import sure # noqa
|
||||
import re
|
||||
|
||||
from moto import mock_opsworks
|
||||
|
||||
|
||||
@freeze_time("2015-01-01")
|
||||
@mock_opsworks
|
||||
def test_create_app_response():
|
||||
client = boto3.client('opsworks', region_name='us-east-1')
|
||||
stack_id = client.create_stack(
|
||||
Name="test_stack_1",
|
||||
Region="us-east-1",
|
||||
ServiceRoleArn="service_arn",
|
||||
DefaultInstanceProfileArn="profile_arn"
|
||||
)['StackId']
|
||||
|
||||
response = client.create_app(
|
||||
StackId=stack_id,
|
||||
Type="other",
|
||||
Name="TestApp"
|
||||
)
|
||||
|
||||
response.should.contain("AppId")
|
||||
|
||||
second_stack_id = client.create_stack(
|
||||
Name="test_stack_2",
|
||||
Region="us-east-1",
|
||||
ServiceRoleArn="service_arn",
|
||||
DefaultInstanceProfileArn="profile_arn"
|
||||
)['StackId']
|
||||
|
||||
response = client.create_app(
|
||||
StackId=second_stack_id,
|
||||
Type="other",
|
||||
Name="TestApp"
|
||||
)
|
||||
|
||||
response.should.contain("AppId")
|
||||
|
||||
# ClientError
|
||||
client.create_app.when.called_with(
|
||||
StackId=stack_id,
|
||||
Type="other",
|
||||
Name="TestApp"
|
||||
).should.throw(
|
||||
Exception, re.compile(r'already an app named "TestApp"')
|
||||
)
|
||||
|
||||
# ClientError
|
||||
client.create_app.when.called_with(
|
||||
StackId="nothere",
|
||||
Type="other",
|
||||
Name="TestApp"
|
||||
).should.throw(
|
||||
Exception, "nothere"
|
||||
)
|
||||
|
||||
@freeze_time("2015-01-01")
|
||||
@mock_opsworks
|
||||
def test_describe_apps():
|
||||
client = boto3.client('opsworks', region_name='us-east-1')
|
||||
stack_id = client.create_stack(
|
||||
Name="test_stack_1",
|
||||
Region="us-east-1",
|
||||
ServiceRoleArn="service_arn",
|
||||
DefaultInstanceProfileArn="profile_arn"
|
||||
)['StackId']
|
||||
app_id = client.create_app(
|
||||
StackId=stack_id,
|
||||
Type="other",
|
||||
Name="TestApp"
|
||||
)['AppId']
|
||||
|
||||
rv1 = client.describe_apps(StackId=stack_id)
|
||||
rv2 = client.describe_apps(AppIds=[app_id])
|
||||
rv1['Apps'].should.equal(rv2['Apps'])
|
||||
|
||||
rv1['Apps'][0]['Name'].should.equal("TestApp")
|
||||
|
||||
# ClientError
|
||||
client.describe_apps.when.called_with(
|
||||
StackId=stack_id,
|
||||
AppIds=[app_id]
|
||||
).should.throw(
|
||||
Exception, "Please provide one or more app IDs or a stack ID"
|
||||
)
|
||||
# ClientError
|
||||
client.describe_apps.when.called_with(
|
||||
StackId="nothere"
|
||||
).should.throw(
|
||||
Exception, "Unable to find stack with ID nothere"
|
||||
)
|
||||
# ClientError
|
||||
client.describe_apps.when.called_with(
|
||||
AppIds=["nothere"]
|
||||
).should.throw(
|
||||
Exception, "nothere"
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue