I was getting so frustrated.
I knew how to raise the exception with side_effect=. But, how do you mock the exception?
try: connection = connect_to_sqs except BotoServerError as m: if m.error_code == "AlreadyExistsException"
To get it to work, I inherited the exception class – BotoServerError
from boto.exceptions import BotoServerError class MockBotoServerError(BotoServerError): def __init__(self, error_code) self.error_code = error_code @mock.patch('cloudwhale.build.connect_to_sqs', side_effect=MockBotoServerError())
Order of decorator
Also, pay attention to the order of parameters. My assertions were failing left and right.