Esempio n. 1
0
	def test_should_convert_v0_page_to_v1_page(self):
		# for reference, the v0 properties are:
		#class Version1Page(db.Model):
		#	version = db.IntegerProperty()
		#	url = db.URLProperty(required=True)
		#	_content_url = db.URLProperty()
		#	content = db.TextProperty()
		#	title = db.StringProperty()
		#	owner = db.UserProperty(required=True)
		#	date = db.DateTimeProperty(auto_now_add=True)
		#	_messages = db.StringListProperty()

		expect(page.deferred).defer.never()

		p = Page(version=0, url=some_url, _content_url=some_url + "/content", content='content', title='title',
				owner=a_user, _messages = ['info something bad happened...'])
		p.put()
		p = Page.get(p.key())
		self.assertEqual(p.version, 1)
		self.assertEqual(p.url, some_url)
		self.assertEqual(p.content, 'content')
		self.assertEqual(p.title, "title")
		self.assertEqual(p.owner, a_user)
		self.assertEqual(p._messages, ['info something bad happened...'])
		self.assertEqual(p.content_url, some_url + "/content")
Esempio n. 2
0
	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)
Esempio n. 3
0
	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_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)
Esempio n. 5
0
	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")