Мне нужно смоделировать сообщения boto sqs, но я получаю сообщение об ошибке:
AttributeError: у объекта 'Stubber' нет атрибута 'receive_message'
sqs_client свойство является Stubber, но receive_message не распознано, и я не знаю почему.
import unittest
from api.modules.sqs_consumer import SqsConsumer
from botocore.stub import Stubber
from botocore.stub import ANY
class TestSqsConsumer(unittest.TestCase):
def test_should(self):
# given
sqs_consumer = SqsConsumer()
sqs_consumer_stup = Stubber(sqs_consumer.sqs_client)
expected_params = dict(
QueueUrl=ANY,
MaxNumberOfMessages=ANY,
WaitTimeSeconds=ANY,
MessageAttributeNames=[
'All'
])
sqs_consumer_stup.add_response(
method='receive_message',
service_response={},
expected_params=expected_params
)
sqs_consumer_stup.activate()
sqs_consumer.sqs_client = sqs_consumer_stup
# when
sqs_consumer.process()
# then
self.assertEqual(True, True)
if __name__ == '__main__':
unittest.main()