def test_check_ready_missing(self): self.store.get('1234').AndRaise(KeyError) self.mox.ReplayAll() queue = Queue(self.store, self.relay, store_pool=Pool(5)) queue._add_queued((10, '1234')) queue._check_ready(20) queue.store_pool.join()
def test_check_ready(self): self.store.get('1234').AndReturn((self.env, 0)) self.relay._attempt(self.env, 0) self.store.remove('1234') self.mox.ReplayAll() queue = Queue(self.store, self.relay, store_pool=Pool(5)) queue._add_queued((10, '1234')) queue._check_ready(20) queue.store_pool.join()
def test_wait_ready_nonequeued(self): queue = Queue(self.store, self.relay) def wait_func(): queue._wait_ready(20) thread = gevent.spawn(wait_func) gevent.sleep(0) self.assertFalse(thread.ready()) queue._add_queued((10, '1234')) gevent.sleep(0) self.assertTrue(thread.ready())
def test_wait_ready_noneready(self): queue = Queue(self.store, self.relay) queue._add_queued((20, '1234')) queue.wake.clear() def wait_func(): queue._wait_ready(10) thread = gevent.spawn(wait_func) gevent.sleep(0) self.assertFalse(thread.ready()) queue._add_queued((5, '5678')) gevent.sleep(0) self.assertTrue(thread.ready())
def test_add_queued(self): queue = Queue(self.store, self.relay) queue._add_queued((10, 'one')) queue._add_queued((5, 'two')) queue._add_queued((99, 'one')) queue._add_queued((7, 'three')) self.assertEqual([(5, 'two'), (7, 'three'), (10, 'one')], queue.queued) self.assertTrue(queue.wake.isSet())
def test_flush(self): self.store.get('three').AndReturn((self.env, 1)) self.store.get('two').AndReturn((self.env, 2)) self.store.get('one').AndReturn((self.env, 3)) self.relay._attempt(self.env, 1) self.store.remove('three') self.relay._attempt(self.env, 2) self.store.remove('two') self.relay._attempt(self.env, 3) self.store.remove('one') self.mox.ReplayAll() queue = Queue(self.store, self.relay, store_pool=5, relay_pool=5) queue._add_queued((float('inf'), 'one')) queue._add_queued((0, 'two')) queue._add_queued((float('-inf'), 'three')) queue.flush() queue.store_pool.join() queue.relay_pool.join()
def test_wait_ready_nowait(self): queue = Queue(self.store, self.relay) queue._add_queued((10, '1234')) with gevent.Timeout(1.0): queue._wait_ready(20)
def test_check_ready_empty(self): self.mox.ReplayAll() queue = Queue(self.store, self.relay, store_pool=5) queue._add_queued((20, '1234')) queue._check_ready(10) queue.store_pool.join()