Ejemplo n.º 1
0
    def test_get_message_read(self, publish_mock):
        # Check the format of the read message marker.
        token = views.new_token(Request(post={}))['token']
        request = Request(post={
            'action': 'read',
            'key': 'key'
        },
                          matchdict={'queue': token})
        response = views.new_message(request)['messages'][0]

        req = Request(matchdict={'queue': token})
        self.assertListEqual(
            views.get_messages(req)['messages'],
            [{
                'body': {
                    'read': 'key'
                },
                'queue': '/queue/%s/' % token,
                'key': response['key'],
                'timestamp': str(response['timestamp'])
            }])

        # The format should match the pubsub'd message.
        expected = views.get_messages(req)['messages'][0]
        publish_mock.assert_called_with(request, token, expected)
Ejemplo n.º 2
0
    def test_get_messages_since(self, time_mock):
        # Check that we honor the since parameter.
        time_mock.time = [3, 2, 1].pop

        queue = self.queuey.new_queue()
        self.storage.new_queue(queue, 'user', 'domain')

        msg = json.dumps({'queue': queue, 'body': {}})
        key1 = self.queuey.new_message(queue, msg)['messages'][0]['key']
        key2 = self.queuey.new_message(queue, msg)['messages'][0]['key']

        request = Request(params={
            'since': 1,
            'token': 'user'
        },
                          matchdict={'queue': queue})
        eq_(
            views.get_messages(request), {
                'messages': [{
                    'body': {},
                    'timestamp': '2',
                    'queue': '/queue/%s/' % queue,
                    'key': key2
                }]
            })
Ejemplo n.º 3
0
    def test_get_message_read(self, publish_mock):
        # Check the format of the read message marker.
        token = views.new_token(Request(post={}))['token']
        request = Request(post={'action': 'read', 'key': 'key'},
                          matchdict={'queue': token})
        response = views.new_message(request)['messages'][0]

        req = Request(matchdict={'queue': token})
        self.assertListEqual(views.get_messages(req)['messages'],
                             [{'body': {'read': 'key'},
                               'queue': '/queue/%s/' % token,
                               'key': response['key'],
                               'timestamp': str(response['timestamp'])}])

        # The format should match the pubsub'd message.
        expected = views.get_messages(req)['messages'][0]
        publish_mock.assert_called_with(request, token, expected)
Ejemplo n.º 4
0
    def test_get_messages_since(self, time_mock):
        # Check that we honor the since parameter.
        time_mock.time = [3, 2, 1].pop

        queue = self.queuey.new_queue()
        self.storage.new_queue(queue, 'user', 'domain')

        msg = json.dumps({'queue': queue, 'body': {}})
        key1 = self.queuey.new_message(queue, msg)['messages'][0]['key']
        key2 = self.queuey.new_message(queue, msg)['messages'][0]['key']

        request = Request(params={'since': 1, 'token': 'user'},
                          matchdict={'queue': queue})
        eq_(views.get_messages(request), {
            'messages': [{'body': {},
                          'timestamp': '2',
                          'queue': '/queue/%s/' % queue,
                          'key': key2}]})
Ejemplo n.º 5
0
 def test_get_messages_404(self):
     # Asking for a queue without a matching token returns a 404.
     request = Request(params={'token': 'ok'}, matchdict={'queue': 'queue'})
     eq_(views.get_messages(request).code, 404)
Ejemplo n.º 6
0
 def test_get_messages_404(self):
     # Asking for a queue without a matching token returns a 404.
     request = Request(params={'token': 'ok'}, matchdict={'queue': 'queue'})
     eq_(views.get_messages(request).code, 404)