98
100
[[MESSENGER_EVENT.DELETED, obj]], producer.messages)
102
def test_publish_message_publishes_message(self):
103
event = factory.getRandomString()
104
instance = {factory.getRandomString(): factory.getRandomString()}
105
messenger = TestMessenger(MessagesTestModel, FakeProducer())
106
messenger.publish_message(messenger.create_msg(event, instance))
107
self.assertEqual([[event, instance]], messenger.producer.messages)
109
def test_publish_message_swallows_missing_rabbit(self):
110
event = factory.getRandomString()
111
instance = {factory.getRandomString(): factory.getRandomString()}
113
def fail_for_lack_of_rabbit(*args, **kwargs):
114
raise NoRabbit("I'm pretending not to have a RabbitMQ.")
116
messenger = TestMessenger(MessagesTestModel, FakeProducer())
117
messenger.producer.publish = fail_for_lack_of_rabbit
119
messenger.publish_message(messenger.create_msg(event, instance))
120
self.assertEqual([], messenger.producer.messages)
122
def test_publish_message_propagates_exceptions(self):
123
event = factory.getRandomString()
124
instance = {factory.getRandomString(): factory.getRandomString()}
126
def fail_despite_having_a_rabbit(*args, **kwargs):
127
raise socket.error("I have a rabbit but I fail anyway.")
129
messenger = TestMessenger(MessagesTestModel, FakeProducer())
130
messenger.producer.publish = fail_despite_having_a_rabbit
134
messenger.publish_message, messenger.create_msg(event, instance))
135
self.assertEqual([], messenger.producer.messages)
101
138
class MAASMessengerTest(TestModelTestCase):