def test_store_best_content_should_do_nothing_if_content_is_already_set(self): p = Page(url=some_url, owner=a_user, pending=False) p.put() expect(Content).for_url.never() page.task_store_best_content(p.key())
def test_store_best_content_should_do_nothing_if_not_all_processors_have_completed(self): p = Page(url=some_url, owner=a_user) p.put() modify(page).content_extractors = [1,2, 3, 4, 5, 6] when(Content).for_url(p.url).then_return([Content(url=some_url)]) page.task_store_best_content(p.key()) p = Page.get(p.key()) self.assertEquals(p._title, None) self.assertEquals(p.content, None)
def test_store_best_content_should_store_empty_values_if_forced(self): p = Page(url=some_url, owner=a_user) p.put() modify(page).content_extractors = [1,2, 3, 4, 5, 6] when(Content).for_url(p.url).then_return([]) page.task_store_best_content(p.key(), force=True) p = Page.get(p.key()) self.assertEquals(p.title, '[localhost saved item]') self.assertEquals(p.content, None)
def test_should_accept_the_best_content(self): page = Page(url=some_url, owner=a_user, pending=True) content1 = Content(url=some_url, title='bad', body='not much') content2 = Content(url=some_url, title='good', body='much more voluminous content') put(page, content1, content2) expect(Content).for_url(some_url).and_return([content1, content2]) page_module.task_store_best_content(page.key()) page = Page.get(page.key()) self.assertEqual(page.title, content2.title) self.assertEqual(page.content, content2.body)
def test_store_best_content_should_do_so_if_all_extractors_are_complete(self): p = Page(url=some_url, owner=a_user, pending=True) p.put() modify(page).content_extractors = [1,2] best_content = Content(url=some_url, title='best title', body='best body') worst_content = Content(url=some_url) contents = [best_content, worst_content] when(Content).for_url(p.url).then_return(contents) page.task_store_best_content(p.key()) p = Page.get(p.key()) self.assertEquals(p.title, "best title") self.assertEquals(p.content, "best body")