Beispiel #1
0
class TestCachingCarrier(TestCase):
    def setUp(self):
        self.carrier = CachingCarrier()
        self.carrier.default_queues = ['queue1', 'queue2']

    @patch('parker.carriers.cache')
    @patch('parker.carriers.time')
    @patch('parker.carriers.publish')
    def test_publish(self, publish, time, cache):
        time.time.return_value = 100
        self.carrier.publish('message')
        cache.set.assert_called_any('queue1', (100, 'message'))
        cache.set.assert_called_any('queue2', (100, 'message'))
        self.assertEqual(cache.set.call_count, 2)

    @patch('parker.carriers.cache')
    @patch('parker.carriers.publish')
    def test_publish_none(self, pub, cache):
        self.carrier.publish(None)
        self.assertFalse(pub.called)
        self.assertFalse(cache.set.called)

    @patch('parker.carriers.cache')
    def test_get_context(self, cache):
        cdict = {}
        for q, t in zip(self.carrier.default_queues, range(2)):
            cdict[self.carrier.cache_key % q] = (t, q)
        cache.get = lambda x: cdict[x]

        context = self.carrier.get_context(self.carrier.default_queues)
        self.assertEqual(context, 'queue2')
Beispiel #2
0
 def setUp(self):
     self.carrier = CachingCarrier()
     self.carrier.default_queues = ['queue1', 'queue2']