test_url_queue.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. from datetime import datetime
  2. from queue import Queue
  3. from mwmbl.crawler.urls import FoundURL, URLStatus
  4. from mwmbl.url_queue import URLQueue
  5. def test_url_queue_empties():
  6. new_item_queue = Queue()
  7. queued_batches = Queue()
  8. url_queue = URLQueue(new_item_queue, queued_batches, min_top_domains=1)
  9. new_item_queue.put([FoundURL("https://google.com", "123", 10.0, URLStatus.NEW.value, datetime(2023, 1, 19))])
  10. url_queue.update()
  11. items = queued_batches.get(block=False)
  12. assert items == ["https://google.com"]
  13. def test_url_queue_multiple_puts():
  14. new_item_queue = Queue()
  15. queued_batches = Queue()
  16. url_queue = URLQueue(new_item_queue, queued_batches, min_top_domains=1)
  17. new_item_queue.put([FoundURL("https://google.com", "123", 10.0, URLStatus.NEW.value, datetime(2023, 1, 19))])
  18. url_queue.update()
  19. new_item_queue.put([FoundURL("https://www.supermemo.com", "124", 10.0, URLStatus.NEW.value, datetime(2023, 1, 20))])
  20. url_queue.update()
  21. items = queued_batches.get(block=False)
  22. assert items == ["https://google.com"]
  23. items_2 = queued_batches.get(block=False)
  24. assert items_2 == ["https://www.supermemo.com"]