150 lines
5.0 KiB
Python
150 lines
5.0 KiB
Python
import boto
|
|
from nose.tools import assert_raises
|
|
from sure import expect
|
|
|
|
from moto import mock_swf
|
|
from moto.swf.exceptions import (
|
|
SWFUnknownResourceFault,
|
|
SWFDomainAlreadyExistsFault,
|
|
SWFDomainDeprecatedFault,
|
|
SWFSerializationException,
|
|
)
|
|
|
|
|
|
# RegisterDomain endpoint
|
|
@mock_swf
|
|
def test_register_domain():
|
|
conn = boto.connect_swf("the_key", "the_secret")
|
|
conn.register_domain("test-domain", "60", description="A test domain")
|
|
|
|
all_domains = conn.list_domains("REGISTERED")
|
|
domain = all_domains["domainInfos"][0]
|
|
|
|
domain["name"].should.equal("test-domain")
|
|
domain["status"].should.equal("REGISTERED")
|
|
domain["description"].should.equal("A test domain")
|
|
|
|
@mock_swf
|
|
def test_register_already_existing_domain():
|
|
conn = boto.connect_swf("the_key", "the_secret")
|
|
conn.register_domain("test-domain", "60", description="A test domain")
|
|
|
|
with assert_raises(SWFDomainAlreadyExistsFault) as err:
|
|
conn.register_domain("test-domain", "60", description="A test domain")
|
|
|
|
ex = err.exception
|
|
ex.status.should.equal(400)
|
|
ex.error_code.should.equal("DomainAlreadyExistsFault")
|
|
ex.body.should.equal({
|
|
"__type": "com.amazonaws.swf.base.model#DomainAlreadyExistsFault",
|
|
"message": "test-domain"
|
|
})
|
|
|
|
@mock_swf
|
|
def test_register_with_wrong_parameter_type():
|
|
conn = boto.connect_swf("the_key", "the_secret")
|
|
|
|
with assert_raises(SWFSerializationException) as err:
|
|
conn.register_domain("test-domain", 60, description="A test domain")
|
|
|
|
ex = err.exception
|
|
ex.status.should.equal(400)
|
|
ex.error_code.should.equal("SerializationException")
|
|
ex.body["__type"].should.equal("com.amazonaws.swf.base.model#SerializationException")
|
|
|
|
|
|
# ListDomains endpoint
|
|
@mock_swf
|
|
def test_list_domains_order():
|
|
conn = boto.connect_swf("the_key", "the_secret")
|
|
conn.register_domain("b-test-domain", "60")
|
|
conn.register_domain("a-test-domain", "60")
|
|
conn.register_domain("c-test-domain", "60")
|
|
|
|
all_domains = conn.list_domains("REGISTERED")
|
|
names = [domain["name"] for domain in all_domains["domainInfos"]]
|
|
names.should.equal(["a-test-domain", "b-test-domain", "c-test-domain"])
|
|
|
|
@mock_swf
|
|
def test_list_domains_reverse_order():
|
|
conn = boto.connect_swf("the_key", "the_secret")
|
|
conn.register_domain("b-test-domain", "60")
|
|
conn.register_domain("a-test-domain", "60")
|
|
conn.register_domain("c-test-domain", "60")
|
|
|
|
all_domains = conn.list_domains("REGISTERED", reverse_order=True)
|
|
names = [domain["name"] for domain in all_domains["domainInfos"]]
|
|
names.should.equal(["c-test-domain", "b-test-domain", "a-test-domain"])
|
|
|
|
|
|
# DeprecateDomain endpoint
|
|
@mock_swf
|
|
def test_deprecate_domain():
|
|
conn = boto.connect_swf("the_key", "the_secret")
|
|
conn.register_domain("test-domain", "60", description="A test domain")
|
|
conn.deprecate_domain("test-domain")
|
|
|
|
all_domains = conn.list_domains("DEPRECATED")
|
|
domain = all_domains["domainInfos"][0]
|
|
|
|
domain["name"].should.equal("test-domain")
|
|
|
|
@mock_swf
|
|
def test_deprecate_already_deprecated_domain():
|
|
conn = boto.connect_swf("the_key", "the_secret")
|
|
conn.register_domain("test-domain", "60", description="A test domain")
|
|
conn.deprecate_domain("test-domain")
|
|
|
|
with assert_raises(SWFDomainDeprecatedFault) as err:
|
|
conn.deprecate_domain("test-domain")
|
|
|
|
ex = err.exception
|
|
ex.status.should.equal(400)
|
|
ex.error_code.should.equal("DomainDeprecatedFault")
|
|
ex.body.should.equal({
|
|
"__type": "com.amazonaws.swf.base.model#DomainDeprecatedFault",
|
|
"message": "test-domain"
|
|
})
|
|
|
|
@mock_swf
|
|
def test_deprecate_non_existent_domain():
|
|
conn = boto.connect_swf("the_key", "the_secret")
|
|
|
|
with assert_raises(SWFUnknownResourceFault) as err:
|
|
conn.deprecate_domain("non-existent")
|
|
|
|
ex = err.exception
|
|
ex.status.should.equal(400)
|
|
ex.error_code.should.equal("UnknownResourceFault")
|
|
ex.body.should.equal({
|
|
"__type": "com.amazonaws.swf.base.model#UnknownResourceFault",
|
|
"message": "Unknown domain: non-existent"
|
|
})
|
|
|
|
# DescribeDomain endpoint
|
|
@mock_swf
|
|
def test_describe_domain():
|
|
conn = boto.connect_swf("the_key", "the_secret")
|
|
conn.register_domain("test-domain", "60", description="A test domain")
|
|
|
|
domain = conn.describe_domain("test-domain")
|
|
domain["configuration"]["workflowExecutionRetentionPeriodInDays"].should.equal("60")
|
|
domain["domainInfo"]["description"].should.equal("A test domain")
|
|
domain["domainInfo"]["name"].should.equal("test-domain")
|
|
domain["domainInfo"]["status"].should.equal("REGISTERED")
|
|
|
|
@mock_swf
|
|
def test_describe_non_existent_domain():
|
|
conn = boto.connect_swf("the_key", "the_secret")
|
|
|
|
with assert_raises(SWFUnknownResourceFault) as err:
|
|
conn.describe_domain("non-existent")
|
|
|
|
ex = err.exception
|
|
ex.status.should.equal(400)
|
|
ex.error_code.should.equal("UnknownResourceFault")
|
|
ex.body.should.equal({
|
|
"__type": "com.amazonaws.swf.base.model#UnknownResourceFault",
|
|
"message": "Unknown domain: non-existent"
|
|
})
|