Skip to content

Commit

Permalink
fixing unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
simonsdave committed Jun 6, 2015
1 parent c7ff757 commit c017c92
Showing 1 changed file with 24 additions and 17 deletions.
41 changes: 24 additions & 17 deletions cloudfeaster/tests/spider_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,33 +141,38 @@ class MySpider(spider.Spider):
expected_version = expected_version.hexdigest()
self.assertEqual(expected_version, MySpider.version())

def test_walk_all_good(self):

class TestSpiderCrawler(unittest.TestCase):

def test_crawl_all_good(self):
the_rv = spider.CrawlResponseOk()

class MySpider(spider.Spider):
@classmethod
def get_metadata(cls):
return {"url": "http://www.example.com"}

def crawl(self):
return spider.CrawlResponseOk()
rv = MySpider.walk()
self.assertIsNotNone(rv)
self.assertTrue(isinstance(rv, spider.CrawlResponseOk))
return the_rv

spider_crawler = spider.SpiderCrawler(MySpider)
rv = spider_crawler.crawl()
self.assertTrue(rv is the_rv)

def test_walk_with_spider_ctr_that_raises_exception(self):
class MySpider(spider.Spider):
def __init__(self):
spider.Spider(self)
raise Exception("oops!")

@classmethod
def get_metadata(cls):
return {"url": "http://www.example.com"}

def crawl(self):
return spider.CrawlResponseOk()
def __init__(self):
spider.Spider(self)
raise Exception("oops!")

# :NOTE: crawl() not even defined

rv = MySpider.walk()
self.assertIsNotNone(rv)
spider_crawler = spider.SpiderCrawler(MySpider)
rv = spider_crawler.crawl()
self.assertTrue(isinstance(rv, spider.CrawlResponse))
self.assertEqual(
rv.status_code,
Expand All @@ -181,8 +186,9 @@ def get_metadata(cls):

def crawl(self):
raise Exception()
rv = MySpider.walk()
self.assertIsNotNone(rv)

spider_crawler = spider.SpiderCrawler(MySpider)
rv = spider_crawler.crawl()
self.assertTrue(isinstance(rv, spider.CrawlResponse))
self.assertEqual(
rv.status_code,
Expand All @@ -196,8 +202,9 @@ def get_metadata(cls):

def crawl(self):
return None
rv = MySpider.walk()
self.assertIsNotNone(rv)

spider_crawler = spider.SpiderCrawler(MySpider)
rv = spider_crawler.crawl()
self.assertTrue(isinstance(rv, spider.CrawlResponse))
self.assertEqual(
rv.status_code,
Expand Down

0 comments on commit c017c92

Please sign in to comment.