def test_basic(self):
     sot = claim.Claim()
     self.assertEqual('claims', sot.resources_key)
     self.assertEqual('/queues/%(queue_name)s/claims', sot.base_path)
     self.assertEqual('messaging', sot.service.service_type)
     self.assertTrue(sot.allow_create)
     self.assertFalse(sot.allow_retrieve)
     self.assertFalse(sot.allow_update)
     self.assertFalse(sot.allow_delete)
     self.assertFalse(sot.allow_list)
    def test_claim_messages_no_invalid_response(self):
        sess = mock.Mock()
        resp = mock.Mock()
        resp.status_code = 204
        sess.post = mock.Mock(
            side_effect=exceptions.InvalidResponse(response=resp))
        sot = claim.Claim()

        messages = list(sot.claim_messages(
            sess, claim.Claim.new(client_id=CLIENT, queue_name=QUEUE, **FAKE)))

        self.assertEqual(0, len(messages))
Exemple #3
0
    def test_claim_messages_invalid_response(self):
        sess = mock.Mock()
        resp = mock.Mock()
        resp.status_code = 400
        sess.post = mock.Mock(side_effect=exceptions.InvalidResponse(
            response=resp))
        sot = claim.Claim()

        try:
            list(
                sot.claim_messages(
                    sess, claim.Claim.new(client=CLIENT, queue=QUEUE, **FAKE)))
        except exceptions.InvalidResponse as e:
            self.assertEqual(400, e.response.status_code)
    def test_create(self):
        sess = mock.Mock()
        obj = mock.Mock()
        fake_attrs = [{'foo': 'bar'}, {'zoo': 'lah'}]
        obj.json = mock.Mock(return_value=fake_attrs)
        sess.post = mock.Mock(return_value=obj)
        sot = claim.Claim()

        c = claim.Claim.new(client_id=CLIENT, queue_name=QUEUE, **FAKE)
        list(sot.claim_messages(sess, c))

        url = '/queues/%s/claims' % QUEUE
        sess.post.assert_called_with(
            url,
            headers={'Client-ID': CLIENT}, params=None,
            data=json.dumps(FAKE, cls=claim.ClaimEncoder))
    def test_create(self):
        sess = mock.Mock()
        sess.post = mock.Mock()
        sess.post.return_value = mock.MagicMock()
        sot = claim.Claim()

        list(
            sot.claim_messages(
                sess, claim.Claim.new(client=CLIENT, queue=QUEUE, **FAKE)))

        url = '/queues/%s/claims' % QUEUE
        sess.post.assert_called_with(url,
                                     service=sot.service,
                                     headers={'Client-ID': CLIENT},
                                     params=None,
                                     data=json.dumps(FAKE,
                                                     cls=claim.ClaimEncoder))