test changing visibility improperly

This commit is contained in:
Clint Ecker 2014-06-20 16:29:40 -05:00
commit 049b73485f
3 changed files with 65 additions and 16 deletions

View file

@ -6,21 +6,14 @@ import re
from moto.core import BaseBackend
from moto.core.utils import camelcase_to_underscores, get_random_message_id
from .utils import generate_receipt_handle, unix_time_millis
from .exceptions import (
ReceiptHandleIsInvalid,
MessageNotInflight
)
DEFAULT_ACCOUNT_ID = 123456789012
class MessageNotInflight(Exception):
description = "The message referred to is not in flight."
status_code = 400
class ReceiptHandleIsInvalid(Exception):
description = "The receipt handle provided is not valid."
status_code = 400
class Message(object):
def __init__(self, message_id, body):
self.id = message_id

View file

@ -3,6 +3,10 @@ from jinja2 import Template
from moto.core.responses import BaseResponse
from moto.core.utils import camelcase_to_underscores
from .models import sqs_backend
from .exceptions import (
MessageNotInflight,
ReceiptHandleIsInvalid
)
MAXIMUM_VISIBILTY_TIMEOUT = 43200
@ -46,11 +50,14 @@ class QueueResponse(BaseResponse):
MAXIMUM_VISIBILTY_TIMEOUT
), dict(status=400)
sqs_backend.change_message_visibility(
queue_name=queue_name,
receipt_handle=receipt_handle,
visibility_timeout=visibility_timeout
)
try:
sqs_backend.change_message_visibility(
queue_name=queue_name,
receipt_handle=receipt_handle,
visibility_timeout=visibility_timeout
)
except (ReceiptHandleIsInvalid, MessageNotInflight) as e:
return "Invalid request: {}".format(e.description), dict(status=e.status_code)
template = Template(CHANGE_MESSAGE_VISIBILITY_RESPONSE)
return template.render()