本文整理汇总了Python中wiki.tests.revision函数的典型用法代码示例。如果您正苦于以下问题:Python revision函数的具体用法?Python revision怎么用?Python revision使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了revision函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_revisions_feed
def test_revisions_feed(self):
d = document(title='HTML9')
d.save()
for i in xrange(1, 6):
revision(save=True, document=d,
title='HTML9', comment='Revision %s' % i,
content="Some Content %s" % i,
is_approved=True,
created=datetime.datetime.now()\
+ datetime.timedelta(seconds=5 * i))
resp = self.client.get(reverse('wiki.feeds.recent_revisions',
args=(), kwargs={'format': 'rss'}))
eq_(200, resp.status_code)
feed = pq(resp.content)
eq_(5, len(feed.find('item')))
for i, item in enumerate(feed.find('item')):
desc_text = pq(item).find('description').text()
ok_('by:</h3><p>testuser</p>' in desc_text)
ok_('<h3>Comment:</h3><p>Revision' in desc_text)
if "Edited" in desc_text:
ok_('$compare?to' in desc_text)
ok_('diff_chg' in desc_text)
ok_('$edit' in desc_text)
ok_('$history' in desc_text)
示例2: test_render
def test_render(self):
"""Assert the main dash and all the readouts render and don't crash."""
# Put some stuff in the DB so at least one row renders for each
# readout:
untranslated = revision(is_approved=True)
untranslated.save()
unreviewed = translated_revision()
unreviewed.save()
out_of_date = translated_revision(is_approved=True)
out_of_date.save()
major_update = revision(document=out_of_date.document.parent,
significance=MAJOR_SIGNIFICANCE,
is_approved=True)
major_update.save()
needing_updates = translated_revision(is_approved=True)
needing_updates.save()
medium_update = revision(document=needing_updates.document.parent,
significance=MEDIUM_SIGNIFICANCE)
medium_update.save()
response = self.client.get(reverse('dashboards.localization',
locale='de'),
follow=False)
eq_(200, response.status_code)
doc = pq(response.content)
self._assert_readout_contains(doc, 'untranslated',
untranslated.document.title)
self._assert_readout_contains(doc, 'unreviewed',
unreviewed.document.title)
示例3: test_unlocalizable
def test_unlocalizable(self):
"""Unlocalizable docs shouldn't show up in the list."""
revision(
document=document(is_localizable=False, save=True),
is_approved=True,
save=True)
self.assertRaises(IndexError, self.row)
示例4: test_hot_topics
def test_hot_topics(self, flag_is_active):
"""Verifies the hot topics section."""
flag_is_active.return_value = True
# Create a product and the hot topics topic.
p = product(save=True)
hot = topic(slug=HOT_TOPIC_SLUG, save=True)
# Create 7 hot documents.
for i in range(7):
doc = revision(is_approved=True, save=True).document
doc.products.add(p)
doc.topics.add(hot)
# Create a not hot document.
doc = revision(is_approved=True, save=True).document
doc.products.add(p)
self.refresh()
# GET the product landing page and verify the content.
url = reverse('products.product', args=[p.slug])
r = self.client.get(url, follow=True)
eq_(200, r.status_code)
doc = pq(r.content)
eq_(7, len(doc('#hot-topics li')))
示例5: test_correct_based_on_to_none
def test_correct_based_on_to_none(self):
"""Assure Revision.clean() changes a bad based_on value to None when
there is no current_revision of the English document."""
r = revision()
r.based_on = revision() # Revision of some other unrelated Document
self.assertRaises(ValidationError, r.clean)
eq_(None, r.based_on)
示例6: test_wiki_topics
def test_wiki_topics(self):
"""Search wiki for topics, includes multiple."""
t1 = topic(slug='doesnotexist', save=True)
t2 = topic(slug='extant', save=True)
t3 = topic(slug='tagged', save=True)
doc = document(locale=u'en-US', category=10, save=True)
doc.topics.add(t2)
revision(document=doc, is_approved=True, save=True)
doc = document(locale=u'en-US', category=10, save=True)
doc.topics.add(t2)
doc.topics.add(t3)
revision(document=doc, is_approved=True, save=True)
self.refresh()
topic_vals = (
(t1.slug, 0),
(t2.slug, 2),
(t3.slug, 1),
([t2.slug, t3.slug], 1),
)
qs = {'a': 1, 'w': 1, 'format': 'json'}
for topics, number in topic_vals:
qs.update({'topics': topics})
response = self.client.get(reverse('search'), qs)
eq_(number, json.loads(response.content)['total'])
示例7: test_suggestions
def test_suggestions(self, get_current):
"""Suggestions API is well-formatted."""
get_current.return_value.domain = 'testserver'
doc = document(title=u'doc1 audio', locale=u'en-US',
is_archived=False, save=True)
revision(document=doc, summary=u'audio', content=u'audio',
is_approved=True, save=True)
ques = question(title=u'q1 audio', save=True)
ques.tags.add(u'desktop')
ans = answer(question=ques, save=True)
answervote(answer=ans, helpful=True, save=True)
self.refresh()
response = self.client.get(reverse('search.suggestions',
locale='en-US'),
{'q': 'audio'})
eq_(200, response.status_code)
eq_('application/x-suggestions+json', response['content-type'])
results = json.loads(response.content)
eq_('audio', results[0])
eq_(2, len(results[1]))
eq_(0, len(results[2]))
eq_(2, len(results[3]))
示例8: test_revisions_feed_diffs
def test_revisions_feed_diffs(self):
d = document(title='HTML9')
d.save()
revision(save=True, document=d,
title='HTML9', comment='Revision 1',
content = "First Content",
is_approved=True,
created=datetime.datetime.now())
r = revision(save=True, document=d,
title='HTML9', comment='Revision 2',
content = "First Content",
is_approved=True,
created=datetime.datetime.now()\
+datetime.timedelta(seconds=1),
tags='"some", "more", "tags"')
r.review_tags.set(*[u'editorial'])
resp = self.client.get(reverse('wiki.feeds.recent_revisions',
args=(), kwargs={'format': 'rss'}))
eq_(200, resp.status_code)
feed = pq(resp.content)
for i, item in enumerate(feed.find('item')):
desc_text = pq(item).find('description').text()
if "Edited" in desc_text:
ok_('<h3>Tag changes:</h3>' in desc_text)
ok_('<span class="diff_add" style="background-color: #afa; text-decoration: none;">"more"<br /> </span>' in desc_text)
ok_('<h3>Review changes:</h3>' in desc_text)
ok_('<span class="diff_add" style="background-color: #afa; text-decoration: none;">editorial</span>' in desc_text)
示例9: test_document_listing
def test_document_listing(self, flag_is_active):
"""Verify /products/<product slug>/<topic slug> renders articles."""
flag_is_active.return_value = True
# Create a topic and product.
t1 = topic(save=True)
t2 = topic(save=True)
p = product(save=True)
# Create 3 documents with the topic and product and one without.
for i in range(3):
doc = revision(is_approved=True, save=True).document
doc.topics.add(t1)
doc.products.add(p)
if i == 1: # Only one document with t2
doc.topics.add(t2)
doc = revision(is_approved=True, save=True).document
self.refresh()
# GET the page and verify the content.
url = reverse('products.documents', args=[p.slug, t1.slug])
r = self.client.get(url, follow=True)
eq_(200, r.status_code)
doc = pq(r.content)
eq_(3, len(doc('#document-list > ul > li')))
# GET the page with refine topic and verify the content.
url = reverse('products.documents', args=[p.slug, t1.slug])
url = urlparams(url, refine=t2.slug)
r = self.client.get(url, follow=True)
eq_(200, r.status_code)
doc = pq(r.content)
eq_(1, len(doc('#document-list > ul > li')))
示例10: test_non_localizable
def test_non_localizable(self):
"""When document isn't localizable, ignore is_ready_for_l10n."""
r1 = revision(is_approved=True, is_ready_for_localization=True, save=True)
r2 = revision(document=r1.document, is_approved=True, is_ready_for_localization=False, save=True)
r1.document.is_localizable = False
r1.document.save()
eq_(r2, r2.document.localizable_or_latest_revision())
示例11: test_previous
def test_previous(self):
r1 = revision(is_approved=True, save=True)
d = r1.document
r2 = revision(document=d, is_approved=True, save=True)
eq_(r1.previous, None)
eq_(r2.previous.id, r1.id)
示例12: test_approved_over_unreviewed
def test_approved_over_unreviewed(self):
"""Favor an approved revision over a more recent unreviewed one."""
approved = revision(is_approved=True, is_ready_for_localization=False, save=True)
revision(
document=approved.document, is_ready_for_localization=False, is_approved=False, reviewed=None, save=True
)
eq_(approved, approved.document.localizable_or_latest_revision())
示例13: test_front_page_search_paging
def test_front_page_search_paging(self):
# Create 30 documents
for i in range(30):
doc = document(
title=u'How to fix your audio %d' % i,
locale=u'en-US',
category=10,
save=True)
doc.tags.add(u'desktop')
revision(document=doc, is_approved=True, save=True)
# Create 20 questions
for i in range(20):
ques = question(title=u'audio', content=u'audio bad.', save=True)
ques.tags.add(u'desktop')
ans = answer(question=ques, save=True)
answervote(answer=ans, helpful=True, save=True)
self.refresh()
response = self.client.get(reverse('search'), {
'q_tags': 'desktop', 'product': 'desktop', 'q': 'audio',
'format': 'json'
})
eq_(200, response.status_code)
content = json.loads(response.content)
# Make sure there are 20 results.
eq_(content['total'], 20)
# Make sure only 10 of them are kb.
docs = [mem for mem in content['results']
if mem['type'] == 'document']
eq_(len(docs), 10)
示例14: test_document_listing
def test_document_listing(self, flag_is_active):
"""Verify /products/<product slug>/<topic slug> renders articles."""
flag_is_active.return_value = True
# Create a topic and product.
t1 = topic(save=True)
p = product(save=True)
# Create 3 documents with the topic and product and one without.
for i in range(3):
doc = revision(is_approved=True, save=True).document
doc.topics.add(t1)
doc.products.add(p)
doc = revision(is_approved=True, save=True).document
self.refresh()
# GET the page and verify the content.
url = reverse('products.documents', args=[p.slug, t1.slug])
r = self.client.get(url, follow=True)
eq_(200, r.status_code)
doc = pq(r.content)
eq_(3, len(doc('#document-list > ul > li')))
eq_(p.slug, doc('#support-search input[name=product]').attr['value'])
示例15: test_default_only_shows_wiki_and_questions
def test_default_only_shows_wiki_and_questions(self):
"""Tests that the default search doesn't show forums
This verifies that we're only showing documents of the type
that should be shown and that the filters on model are working
correctly.
Bug #767394
"""
p = product(slug=u'desktop', save=True)
ques = question(title=u'audio', save=True)
ques.products.add(p)
ans = answer(question=ques, content=u'volume', save=True)
answervote(answer=ans, helpful=True, save=True)
doc = document(title=u'audio', locale=u'en-US', category=10, save=True)
doc.products.add(p)
revision(document=doc, is_approved=True, save=True)
thread1 = thread(title=u'audio', save=True)
post(thread=thread1, save=True)
self.refresh()
response = self.client.get(reverse('search'), {
'q': 'audio', 'format': 'json'})
eq_(200, response.status_code)
content = json.loads(response.content)
eq_(content['total'], 2)