コード例 #1
0
ファイル: test_worker.py プロジェクト: sauramirez/pysqes
    def test_worker_sqs(self):
        """
        Actually test with sqs as the backend
        """
        if not AWS_ACCESS_KEY_ID:
            return

        conn = SQSConnection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
        logging.debug("Conn created %s" % conn)
        backend = WorkerBackend()
        queue = Queue(conn, 'pysqes_test', backend=backend)
        queue.enqueue(add_func, 1, 2)

        runner = GeventRunner()
        worker = Worker(queue, runner=runner)
        runner.worker = worker
        workThread = WorkerThread()
        workThread.worker = worker
        workThread.start()
        try:
            time.sleep(1)
            worker.shutdown()
        except:
            pass

        logger.info("Verifying result {0}".format(backend.result))
        self.assertEqual(backend.result, '3')
コード例 #2
0
ファイル: test_worker.py プロジェクト: cjpetrus/pysqes
    def test_worker_sqs(self):
        """
        Actually test with sqs as the backend
        """
        if not AWS_ACCESS_KEY_ID:
            return

        conn = SQSConnection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
        logging.debug("Conn created %s" % conn)
        backend = WorkerBackend()
        queue = Queue(conn, 'pysqes_test', backend=backend)
        queue.enqueue(add_func, 1, 2)

        runner = GeventRunner()
        worker = Worker(queue, runner=runner)
        runner.worker = worker
        workThread = WorkerThread()
        workThread.worker = worker
        workThread.start()
        try:
            time.sleep(1)
            worker.shutdown()
        except:
            pass

        logger.info("Verifying result {0}".format(backend.result))
        self.assertEqual(backend.result, '3')
コード例 #3
0
class TestQueue(unittest.TestCase):
    def setUp(self):
        connection = SQSConnStub()
        self.queue = Queue(connection, 'pysqes_test')

    def test_enqueue_task(self):
        """
        Here we're actually testing both enqueue and dequeue methods
        from the queue.
        """

        task = Task(add_func, [1, 2])
        self.queue.enqueue_task(task)

        messages = self.queue.dequeue()
        self.assertEqual(messages[0][1]._args, [1, 2])

        task2 = Task(data={"key": 3})

        self.queue.enqueue_task(task2)
        messages2 = self.queue.dequeue()
        self.assertEqual(messages2[0][1].data, {"key": 3})

    def test_enqueue(self):
        self.queue.enqueue(add_func, 1, 2)

        messages = self.queue.dequeue()
        self.assertEqual(messages[0][1]._args, [1, 2])

    def test_get_queue(self):
        """Test getting queue name from dictionary"""
        connection = SQSConnStub()
        queue = Queue(connection, 'pysqes_test', {'pysqes_test': 'test'})
        queue_stub = queue.queue
        self.assertEqual(queue_stub.name, 'test')

    def test_not_queue_lookup(self):
        connection = SQSConnStub()
        queue = Queue(connection, False)
        queue_stub = queue.queue
        self.assertIsInstance(queue_stub, SQSQueueStub)

    def test_delete_messages(self):
        messages = self.queue.delete_message_batch(['message'])
        self.assertEqual(messages, ['message'])

    def test_delete_message(self):
        messages = self.queue.delete_message('message')
        self.assertEqual(messages, 'message')

    def test_enqueue_validation(self):
        def fn():
            pass

        fn.__module__ = '__main__'
        with self.assertRaises(ValueError):
            self.queue.enqueue(fn)
コード例 #4
0
 def test_not_queue_lookup(self):
     connection = SQSConnStub()
     queue = Queue(connection, False)
     queue_stub = queue.queue
     self.assertIsInstance(queue_stub, SQSQueueStub)
コード例 #5
0
 def test_get_queue(self):
     """Test getting queue name from dictionary"""
     connection = SQSConnStub()
     queue = Queue(connection, 'pysqes_test', {'pysqes_test': 'test'})
     queue_stub = queue.queue
     self.assertEqual(queue_stub.name, 'test')
コード例 #6
0
 def setUp(self):
     connection = SQSConnStub()
     self.queue = Queue(connection, 'pysqes_test')
コード例 #7
0
ファイル: test_worker.py プロジェクト: sauramirez/pysqes
 def setUp(self):
     connection = SQSConnStub()
     self.backend = WorkerBackend()
     self.queue = Queue(connection, 'pysqes_test', backend=self.backend)
コード例 #8
0
ファイル: test_worker.py プロジェクト: sauramirez/pysqes
class TestPysqesWorker(unittest.TestCase):
    def setUp(self):
        connection = SQSConnStub()
        self.backend = WorkerBackend()
        self.queue = Queue(connection, 'pysqes_test', backend=self.backend)

    def test_worker(self):
        self.queue.enqueue(add_func, 1, 2)

        try:
            import gevent
            from pysqes.runners.gevent_runner import GeventRunner
        except ImportError:
            return

        runner = GeventRunner()
        worker = Worker(self.queue, runner=runner)
        workThread = WorkerThread()
        workThread.worker = worker
        workThread.start()
        try:
            time.sleep(1)
            worker.shutdown()
        except:
            pass

        logger.info("Verifying result {0}".format(self.backend.result))
        self.assertEqual(self.backend.result, '3')

    def test_worker_process(self):
        self.queue.enqueue(add_func, 1, 2)

        worker = Worker(self.queue)
        workThread = WorkerThread()
        workThread.worker = worker
        workThread.start()
        try:
            time.sleep(1)
            worker.shutdown()
        except:
            pass

        logger.info("Verifying result {0}".format(self.backend.result))
        self.assertEqual(self.backend.result, '3')

    def test_worker_sqs(self):
        """
        Actually test with sqs as the backend
        """
        if not AWS_ACCESS_KEY_ID:
            return

        conn = SQSConnection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
        logging.debug("Conn created %s" % conn)
        backend = WorkerBackend()
        queue = Queue(conn, 'pysqes_test', backend=backend)
        queue.enqueue(add_func, 1, 2)

        runner = GeventRunner()
        worker = Worker(queue, runner=runner)
        runner.worker = worker
        workThread = WorkerThread()
        workThread.worker = worker
        workThread.start()
        try:
            time.sleep(1)
            worker.shutdown()
        except:
            pass

        logger.info("Verifying result {0}".format(backend.result))
        self.assertEqual(backend.result, '3')
コード例 #9
0
ファイル: test_worker.py プロジェクト: cjpetrus/pysqes
 def setUp(self):
     connection = SQSConnStub()
     self.backend = WorkerBackend()
     self.queue = Queue(connection, 'pysqes_test', backend=self.backend)
コード例 #10
0
ファイル: test_worker.py プロジェクト: cjpetrus/pysqes
class TestPysqesWorker(unittest.TestCase):

    def setUp(self):
        connection = SQSConnStub()
        self.backend = WorkerBackend()
        self.queue = Queue(connection, 'pysqes_test', backend=self.backend)

    def test_worker(self):
        self.queue.enqueue(add_func, 1, 2)

        try:
            import gevent
            from pysqes.runners.gevent_runner import GeventRunner
        except ImportError:
            return

        runner = GeventRunner()
        worker = Worker(self.queue, runner=runner)
        workThread = WorkerThread()
        workThread.worker = worker
        workThread.start()
        try:
            time.sleep(1)
            worker.shutdown()
        except:
            pass

        logger.info("Verifying result {0}".format(self.backend.result))
        self.assertEqual(self.backend.result, '3')

    def test_worker_process(self):
        self.queue.enqueue(add_func, 1, 2)

        worker = Worker(self.queue)
        workThread = WorkerThread()
        workThread.worker = worker
        workThread.start()
        try:
            time.sleep(1)
            worker.shutdown()
        except:
            pass

        logger.info("Verifying result {0}".format(self.backend.result))
        self.assertEqual(self.backend.result, '3')

    def test_worker_sqs(self):
        """
        Actually test with sqs as the backend
        """
        if not AWS_ACCESS_KEY_ID:
            return

        conn = SQSConnection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
        logging.debug("Conn created %s" % conn)
        backend = WorkerBackend()
        queue = Queue(conn, 'pysqes_test', backend=backend)
        queue.enqueue(add_func, 1, 2)

        runner = GeventRunner()
        worker = Worker(queue, runner=runner)
        runner.worker = worker
        workThread = WorkerThread()
        workThread.worker = worker
        workThread.start()
        try:
            time.sleep(1)
            worker.shutdown()
        except:
            pass

        logger.info("Verifying result {0}".format(backend.result))
        self.assertEqual(backend.result, '3')
コード例 #11
0
ファイル: test_queue.py プロジェクト: cjpetrus/pysqes
class TestQueue(unittest.TestCase):

    def setUp(self):
        connection = SQSConnStub()
        self.queue = Queue(connection, 'pysqes_test')

    def test_enqueue_task(self):
        """
        Here we're actually testing both enqueue and dequeue methods
        from the queue.
        """

        task = Task(add_func, [1, 2])
        self.queue.enqueue_task(task)

        messages = self.queue.dequeue()
        self.assertEqual(messages[0][1]._args, [1, 2])

        task2 = Task(data={
            "key": 3
        })

        self.queue.enqueue_task(task2)
        messages2 = self.queue.dequeue()
        self.assertEqual(messages2[0][1].data, {"key": 3})

    def test_enqueue(self):
        self.queue.enqueue(add_func, 1, 2)

        messages = self.queue.dequeue()
        self.assertEqual(messages[0][1]._args, [1, 2])

    def test_get_queue(self):
        """Test getting queue name from dictionary"""
        connection = SQSConnStub()
        queue = Queue(connection, 'pysqes_test', {'pysqes_test': 'test'})
        queue_stub = queue.queue
        self.assertEqual(queue_stub.name, 'test')

    def test_not_queue_lookup(self):
        connection = SQSConnStub()
        queue = Queue(connection, False)
        queue_stub = queue.queue
        self.assertIsInstance(queue_stub, SQSQueueStub)

    def test_delete_messages(self):
        messages = self.queue.delete_message_batch(['message'])
        self.assertEqual(messages, ['message'])

    def test_delete_message(self):
        messages = self.queue.delete_message('message')
        self.assertEqual(messages, 'message')

    def test_enqueue_validation(self):
        def fn():
            pass
        fn.__module__ = '__main__'
        with self.assertRaises(ValueError):
            self.queue.enqueue(fn)
コード例 #12
0
ファイル: test_queue.py プロジェクト: cjpetrus/pysqes
 def setUp(self):
     connection = SQSConnStub()
     self.queue = Queue(connection, 'pysqes_test')