opendirectories-bot/spec/RedditBot_spec.py
2018-02-07 19:51:06 -05:00

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"))