Example #1
0
    def test_acquire_timeout(self):
        queue = Queue(maxsize=1)
        self.assertEqual(queue.qsize(), 0)
        self.assertEqual(queue.full(), False)

        queue.put("1.txt", {"content": "file content"}, timeout=10)
        self.assertEqual(queue.qsize(), 1)
        self.assertEqual(queue.full(), True)

        queue_message = queue.get(timeout=1, acquire_timeout=0.1)
        self.assertEqual(queue.qsize(), 1)
        self.assertEqual(queue.full(), True)
        self.assertEqual(queue_message.content, {"content": "file content"})
        self.assertEqual(queue_message.id, "1.txt")

        time.sleep(0.5)

        queue_message = queue.get(timeout=1, acquire_timeout=10)
        self.assertEqual(queue.qsize(), 1)
        self.assertEqual(queue.full(), True)
        self.assertEqual(queue_message.content, {"content": "file content"})
        self.assertEqual(queue_message.id, "1.txt")

        with self.assertRaises(Empty):
            queue_message = queue.get(timeout=1, acquire_timeout=10)
Example #2
0
    def test_delete(self):
        queue = Queue(maxsize=1)
        self.assertEqual(queue.qsize(), 0)
        self.assertEqual(queue.full(), False)

        queue.put("1.txt", {"content": "file content"}, timeout=10)
        self.assertEqual(queue.qsize(), 1)
        self.assertEqual(queue.full(), True)

        queue_message = queue.get(timeout=1, acquire_timeout=10)
        self.assertEqual(queue.qsize(), 1)
        self.assertEqual(queue.full(), True)
        self.assertEqual(queue_message.content, {"content": "file content"})
        self.assertEqual(queue_message.id, "1.txt")

        queue.delete(queue_message.id)
        self.assertEqual(queue.qsize(), 0)
        self.assertEqual(queue.full(), False)

        queue.put("1.txt", {"content": "file content"}, timeout=10)
        queue_message = queue.get(timeout=1, acquire_timeout=10)
        self.assertEqual(queue.qsize(), 1)
        self.assertEqual(queue.full(), True)

        with self.assertRaises(DeleteAttemptToUnknownMessage):
            queue.delete("random_file.txt")
Example #3
0
    def test_put(self):
        queue = Queue(maxsize=1)

        self.assertEqual(queue.qsize(), 0)
        self.assertEqual(queue.full(), False)
        queue.put("1.txt", {"content": "file content"}, timeout=10)
        self.assertEqual(queue.qsize(), 1)
        self.assertEqual(queue.full(), True)

        with self.assertRaises(Full):
            queue.put("2.txt", {"content": "file content"}, timeout=1)

        queue = Queue(maxsize=1)

        with self.assertRaises(ValueError):
            queue.put("1.txt", {"content": "file content"}, timeout=-4)

        queue = Queue(maxsize=2)
        self.assertEqual(queue.qsize(), 0)
        self.assertEqual(queue.full(), False)
        queue.put("1.txt", {"content": "file content"}, timeout=1)
        self.assertEqual(queue.qsize(), 1)
        self.assertEqual(queue.full(), False)

        with self.assertRaises(RepeatedMessage):
            queue.put("1.txt", {"content": "file content"}, timeout=1)

        queue = Queue(maxsize=0)
        self.assertEqual(queue.qsize(), 0)
        self.assertEqual(queue.full(), False)
        queue.put("1.txt", {"content": "file content"}, timeout=1)
        self.assertEqual(queue.qsize(), 1)
        self.assertEqual(queue.full(), False)
Example #4
0
    def test_get(self):
        queue = Queue(maxsize=1)
        self.assertEqual(queue.qsize(), 0)
        self.assertEqual(queue.full(), False)

        with self.assertRaises(Empty):
            queue.get(timeout=1)

        with self.assertRaises(ValueError):
            queue.get(timeout=-4)

        queue.put("1.txt", {"content": "file content"}, timeout=10)
        self.assertEqual(queue.qsize(), 1)
        self.assertEqual(queue.full(), True)
        queue_message = queue.get(timeout=1)
        self.assertEqual(queue_message.content, {"content": "file content"})
        self.assertEqual(queue.qsize(), 1)
        self.assertEqual(queue.full(), True)

        queue = Queue(maxsize=2)

        queue.put("1.txt", {"content": "file content"}, timeout=10)
        self.assertEqual(queue.qsize(), 1)
        self.assertEqual(queue.full(), False)

        queue_message = queue.get()
        self.assertEqual(queue_message.id, "1.txt")
        self.assertEqual(queue_message.content, {"content": "file content"})
        self.assertEqual(queue.qsize(), 1)
        self.assertEqual(queue.full(), False)

        queue.put("2.txt", {"content": "file content"}, timeout=10)
        self.assertEqual(queue.qsize(), 2)
        self.assertEqual(queue.full(), True)

        queue_message = queue.get()
        self.assertEqual(queue_message.id, "2.txt")
        self.assertEqual(queue_message.content, {"content": "file content"})
        self.assertEqual(queue.qsize(), 2)
        self.assertEqual(queue.full(), True)