mirror of
https://github.com/simon987/opendirectories-bot.git
synced 2025-04-10 14:06:44 +00:00
80 lines
2.2 KiB
Python
80 lines
2.2 KiB
Python
from unittest import TestCase
|
|
from reddit_bot import RedditBot, TaskQueue, CrawTask
|
|
import os
|
|
|
|
|
|
class RedditBotTest(TestCase):
|
|
|
|
def test_load_crawled(self):
|
|
|
|
with open("crawled.txt", "r") as f:
|
|
saved_len = len(f.read())
|
|
|
|
bot = RedditBot("crawled.txt")
|
|
|
|
self.assertTrue(bot.has_crawled("384390"))
|
|
self.assertFalse(bot.has_crawled("123456"))
|
|
|
|
with open("crawled.txt", "r") as f:
|
|
self.assertEqual(saved_len, len(f.read()))
|
|
|
|
def test_save_crawled(self):
|
|
|
|
if os.path.isfile("crawled_empty.txt"):
|
|
os.remove("crawled_empty.txt")
|
|
|
|
open("crawled_empty.txt", "w").close()
|
|
|
|
tmp_bot = RedditBot("crawled_empty.txt")
|
|
tmp_bot.log_crawl("000000")
|
|
|
|
bot = RedditBot("crawled_empty.txt")
|
|
|
|
self.assertTrue(bot.has_crawled("000000"))
|
|
|
|
|
|
class TaskQueueTest(TestCase):
|
|
|
|
def tearDown(self):
|
|
if os.path.isfile("task_queue_test.txt"):
|
|
os.remove("task_queue_test.txt")
|
|
|
|
# def test_push_pop_test(self):
|
|
#
|
|
# if os.path.isfile("task_queue_test.txt"):
|
|
# os.remove("task_queue_test.txt")
|
|
#
|
|
# tq = TaskQueue("task_queue_test.txt")
|
|
# tq.push(CrawTask(dict()))
|
|
#
|
|
# task1 = tq.pop()
|
|
#
|
|
# self.assertEqual(tq.pop(), None)
|
|
# self.assertEqual(task1.submission.url, "http://awebsite.com/")
|
|
# self.assertEqual(task1.submission.post_id, "postid")
|
|
#
|
|
# def test_multiple_tasks(self):
|
|
# if os.path.isfile("task_queue_test.txt"):
|
|
# os.remove("task_queue_test.txt")
|
|
#
|
|
# tq = TaskQueue("task_queue_test.txt")
|
|
#
|
|
# tq.push(CrawTask(dict()))
|
|
# tq.push(CrawTask(dict()))
|
|
# tq.push(CrawTask(dict()))
|
|
#
|
|
# self.assertIsNotNone(tq.pop())
|
|
# self.assertIsNotNone(tq.pop())
|
|
# self.assertIsNotNone(tq.pop())
|
|
# self.assertIsNone(tq.pop())
|
|
#
|
|
# def test_is_queued(self):
|
|
# if os.path.isfile("task_queue_test.txt"):
|
|
# os.remove("task_queue_test.txt")
|
|
#
|
|
# tq = TaskQueue("task_queue_test.txt")
|
|
#
|
|
# tq.push(CrawTask({id: "postid"}))
|
|
#
|
|
# self.assertTrue(tq.is_queued("postid"))
|
|
# self.assertFalse(tq.is_queued("123456")) |