adding first error handling
This commit is contained in:
parent
e9eb36e58c
commit
1cc0e0eac7
@ -21,6 +21,9 @@ class DynamoHandler(object):
|
|||||||
if match:
|
if match:
|
||||||
return match.split(".")[1]
|
return match.split(".")[1]
|
||||||
|
|
||||||
|
def error(self, type_, status=400):
|
||||||
|
return json.dumps({'__type': type_}), dict(status=400)
|
||||||
|
|
||||||
def dispatch(self):
|
def dispatch(self):
|
||||||
method = self.get_method_name(self.headers)
|
method = self.get_method_name(self.headers)
|
||||||
if method:
|
if method:
|
||||||
@ -35,7 +38,11 @@ class DynamoHandler(object):
|
|||||||
|
|
||||||
def DescribeTable(self, uri, body, headers):
|
def DescribeTable(self, uri, body, headers):
|
||||||
name = json.loads(body)['TableName']
|
name = json.loads(body)['TableName']
|
||||||
|
try:
|
||||||
table = dynamodb_backend.tables[name]
|
table = dynamodb_backend.tables[name]
|
||||||
|
except KeyError:
|
||||||
|
er = 'com.amazonaws.dynamodb.v20111205#ResourceNotFoundException'
|
||||||
|
return self.error(er)
|
||||||
return json.dumps(table.describe)
|
return json.dumps(table.describe)
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,6 +5,8 @@ from freezegun import freeze_time
|
|||||||
from moto import mock_dynamodb
|
from moto import mock_dynamodb
|
||||||
from moto.dynamodb import dynamodb_backend
|
from moto.dynamodb import dynamodb_backend
|
||||||
|
|
||||||
|
from boto.exception import DynamoDBResponseError
|
||||||
|
|
||||||
|
|
||||||
@mock_dynamodb
|
@mock_dynamodb
|
||||||
def test_list_tables():
|
def test_list_tables():
|
||||||
@ -14,6 +16,12 @@ def test_list_tables():
|
|||||||
assert conn.list_tables() == ['TestTable']
|
assert conn.list_tables() == ['TestTable']
|
||||||
|
|
||||||
|
|
||||||
|
@mock_dynamodb
|
||||||
|
def test_describe_missing_table():
|
||||||
|
conn = boto.connect_dynamodb('the_key', 'the_secret')
|
||||||
|
conn.describe_table.when.called_with('messages').should.throw(DynamoDBResponseError)
|
||||||
|
|
||||||
|
|
||||||
@freeze_time("2012-01-14")
|
@freeze_time("2012-01-14")
|
||||||
@mock_dynamodb
|
@mock_dynamodb
|
||||||
def test_describe_table():
|
def test_describe_table():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user