Exemplo n.º 1
0
    def test_publish_user(self, producer_pool):
        payload = {'action': 'create', 'user': {'id': 'foobar'}}
        producer = producer_pool['foobar'].acquire().__enter__()
        exchange = realtime.get_exchange()
        request = DummyRequest()

        publisher = realtime.Publisher(request)
        publisher.publish_user(payload)

        producer.publish.assert_called_once_with(payload,
                                                 exchange=exchange,
                                                 declare=[exchange],
                                                 routing_key='user')
Exemplo n.º 2
0
    def test_publish_user(self, matchers, producer_pool, pyramid_request):
        payload = {'action': 'create', 'user': {'id': 'foobar'}}
        producer = producer_pool['foobar'].acquire().__enter__()
        exchange = realtime.get_exchange()

        publisher = realtime.Publisher(pyramid_request)
        publisher.publish_user(payload)

        expected_headers = matchers.MappingContaining('timestamp')
        producer.publish.assert_called_once_with(payload,
                                                 exchange=exchange,
                                                 declare=[exchange],
                                                 routing_key='user',
                                                 headers=expected_headers)
Exemplo n.º 3
0
    def test_publish_user(self, producer_pool, pyramid_request, retry_policy):
        payload = {"action": "create", "user": {"id": "foobar"}}
        producer = producer_pool["foobar"].acquire().__enter__()
        exchange = realtime.get_exchange()

        publisher = realtime.Publisher(pyramid_request)
        publisher.publish_user(payload)

        producer.publish.assert_called_once_with(
            payload,
            exchange=exchange,
            declare=[exchange],
            routing_key="user",
            retry=True,
            retry_policy=retry_policy,
        )
Exemplo n.º 4
0
    def test_publish_annotation(self, producer_pool, pyramid_request,
                                retry_policy):
        payload = {"action": "create", "annotation": {"id": "foobar"}}
        producer = producer_pool["foobar"].acquire().__enter__()
        exchange = realtime.get_exchange()

        publisher = realtime.Publisher(pyramid_request)
        publisher.publish_annotation(payload)

        producer.publish.assert_called_once_with(
            payload,
            exchange=exchange,
            declare=[exchange],
            routing_key="annotation",
            headers=Any.dict.containing(["timestamp"]),
            retry=True,
            retry_policy=retry_policy,
        )
Exemplo n.º 5
0
 def publisher(self, pyramid_request):
     return realtime.Publisher(pyramid_request)