本文整理汇总了Python中reviewboard.reviews.models.ReviewRequestDraft类的典型用法代码示例。如果您正苦于以下问题:Python ReviewRequestDraft类的具体用法?Python ReviewRequestDraft怎么用?Python ReviewRequestDraft使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ReviewRequestDraft类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_get_or_create_user_auth_backend
def test_get_or_create_user_auth_backend(self):
"""Testing the PUT review-requests/<id>/draft/ API
with AuthBackend.get_or_create_user failure
"""
class SandboxAuthBackend(AuthBackend):
backend_id = 'test-id'
name = 'test'
def get_or_create_user(self, username, request=None,
password=None):
raise Exception
backend = SandboxAuthBackend()
self.spy_on(auth.get_backends, call_fake=lambda: [backend])
# The first spy messes with permissions, this lets it through
self.spy_on(ReviewRequest.is_mutable_by, call_fake=lambda x, y: True)
self.spy_on(backend.get_or_create_user)
review_request = self.create_review_request(
submitter=self.user)
ReviewRequestDraft.create(review_request)
rsp = self.api_put(
get_review_request_draft_url(review_request, None),
{
'target_people': 'Target',
},
expected_status=400)
self.assertEqual(rsp['stat'], 'fail')
self.assertTrue(backend.get_or_create_user.called)
开发者ID:teotikalki,项目名称:reviewboard,代码行数:34,代码来源:test_review_request_draft.py
示例2: test_create_with_existing_new_draft
def test_create_with_existing_new_draft(self):
"""Testing ReviewRequestDraft.create with existing draft"""
review_request = self.create_review_request(
publish=True,
bugs_closed='1,20,300',
commit_id='abc123',
description_rich_text=True,
rich_text=True,
testing_done_rich_text=True,
extra_data={
'key': {
'values': [1, 2, 3],
},
'mybool': True,
})
# Create the first draft.
orig_draft = ReviewRequestDraft.create(review_request)
self.assertIsNotNone(orig_draft.changedesc)
# Try to create it again.
draft = ReviewRequestDraft.create(review_request)
self.assertIsNotNone(draft.changedesc)
self.assertEqual(orig_draft, draft)
self.assertEqual(orig_draft.changedesc, draft.changedesc)
开发者ID:chipx86,项目名称:reviewboard,代码行数:26,代码来源:test_review_request_draft.py
示例3: test_post_no_history_allowed
def test_post_no_history_allowed(self):
"""Testing the POST <URL> API for a review request created without
history support
"""
repository = self.create_repository(tool_name='Git')
review_request = self.create_review_request(
repository=repository,
submitter=self.user,
create_with_history=False)
ReviewRequestDraft.create(review_request)
diffset = self.create_diffset(review_request, draft=True)
diff = SimpleUploadedFile('diff',
self._DEFAULT_DIFF_CONTENTS,
content_type='text/x-patch')
with override_feature_checks(self.override_features):
rsp = self.api_post(
get_draft_diffcommit_list_url(review_request,
diffset.revision),
dict(self._DEFAULT_POST_DATA, **{
'diff': diff,
}),
expected_status=400)
self.assertEqual(rsp['stat'], 'fail')
self.assertEqual(rsp['err']['code'], INVALID_ATTRIBUTE.code)
self.assertEqual(
rsp['reason'],
'This review request was not created with support for multiple '
'commits.\n\n'
'Use the draft_diff resource to upload diffs instead. See the '
'draft_diff link on the parent resource for the URL.')
开发者ID:chipx86,项目名称:reviewboard,代码行数:33,代码来源:test_draft_diffcommit.py
示例4: setup_basic_delete_test
def setup_basic_delete_test(self, user, with_local_site, local_site_name):
review_request = self.create_review_request(
with_local_site=with_local_site,
submitter=user,
publish=True)
ReviewRequestDraft.create(review_request)
return (get_review_request_draft_url(review_request, local_site_name),
[review_request])
开发者ID:teotikalki,项目名称:reviewboard,代码行数:9,代码来源:test_review_request_draft.py
示例5: test_outgoing_requests
def test_outgoing_requests(self):
"""Testing counters with creating outgoing review requests"""
# The review request was already created
self._check_counters(total_outgoing=1,
pending_outgoing=1)
ReviewRequestDraft.create(self.review_request)
self.review_request.publish(self.user)
self._check_counters(total_outgoing=1,
pending_outgoing=1,
starred_public=1)
开发者ID:sgallagher,项目名称:reviewboard,代码行数:12,代码来源:test_counters.py
示例6: test_remove_person_and_fail_publish
def test_remove_person_and_fail_publish(self):
"""Testing counters when removing a person reviewer and then
failing to publish the draft
"""
self.test_add_person()
draft = ReviewRequestDraft.create(self.review_request)
draft.target_people.remove(self.user)
self._check_counters(total_outgoing=1,
pending_outgoing=1,
direct_incoming=1,
total_incoming=1,
starred_public=1)
self.spy_on(ReviewRequestDraft.publish,
call_fake=self._raise_publish_error)
with self.assertRaises(NotModifiedError):
self.review_request.publish(self.user)
self._check_counters(total_outgoing=1,
pending_outgoing=1,
direct_incoming=1,
total_incoming=1,
starred_public=1)
开发者ID:darmhoo,项目名称:reviewboard,代码行数:26,代码来源:test_counters.py
示例7: test_populate_counters
def test_populate_counters(self):
"""Testing counters when populated from a fresh upgrade or clear"""
# The review request was already created
draft = ReviewRequestDraft.create(self.review_request)
draft.target_groups.add(self.group)
draft.target_people.add(self.user)
self.review_request.publish(self.user)
self._check_counters(total_outgoing=1,
pending_outgoing=1,
total_incoming=1,
direct_incoming=1,
starred_public=1,
group_incoming=1)
LocalSiteProfile.objects.update(
direct_incoming_request_count=None,
total_incoming_request_count=None,
pending_outgoing_request_count=None,
total_outgoing_request_count=None,
starred_public_request_count=None)
Group.objects.update(incoming_request_count=None)
self._check_counters(total_outgoing=1,
pending_outgoing=1,
total_incoming=1,
direct_incoming=1,
starred_public=1,
group_incoming=1)
开发者ID:darmhoo,项目名称:reviewboard,代码行数:29,代码来源:test_counters.py
示例8: test_put_with_commit_id_and_used_in_draft
def test_put_with_commit_id_and_used_in_draft(self):
"""Testing the PUT review-requests/<id>/draft/ API with commit_id
used in another review request draft
"""
commit_id = 'abc123'
existing_review_request = self.create_review_request(
submitter=self.user,
publish=True)
existing_draft = ReviewRequestDraft.create(existing_review_request)
existing_draft.commit_id = commit_id
existing_draft.save()
review_request = self.create_review_request(submitter=self.user,
publish=True)
self.api_put(
get_review_request_draft_url(review_request),
{
'commit_id': commit_id,
},
expected_status=409)
review_request = ReviewRequest.objects.get(pk=review_request.pk)
self.assertIsNone(review_request.commit_id, None)
开发者ID:teotikalki,项目名称:reviewboard,代码行数:25,代码来源:test_review_request_draft.py
示例9: test_put_publish
def test_put_publish(self):
"""Testing the PUT review-requests/<id>/draft/?public=1 API"""
self.siteconfig.set("mail_send_review_mail", True)
self.siteconfig.save()
review_request = self.create_review_request(submitter=self.user, publish=True)
draft = ReviewRequestDraft.create(review_request)
draft.summary = "My Summary"
draft.description = "My Description"
draft.testing_done = "My Testing Done"
draft.branch = "My Branch"
draft.target_people.add(User.objects.get(username="doc"))
draft.save()
mail.outbox = []
rsp = self.apiPut(
get_review_request_draft_url(review_request),
{"public": True},
expected_mimetype=review_request_draft_item_mimetype,
)
self.assertEqual(rsp["stat"], "ok")
review_request = ReviewRequest.objects.get(pk=review_request.id)
self.assertEqual(review_request.summary, "My Summary")
self.assertEqual(review_request.description, "My Description")
self.assertEqual(review_request.testing_done, "My Testing Done")
self.assertEqual(review_request.branch, "My Branch")
self.assertTrue(review_request.public)
self.assertEqual(len(mail.outbox), 1)
self.assertEqual(mail.outbox[0].subject, "Re: Review Request %s: My Summary" % review_request.pk)
self.assertValidRecipients(["doc", "grumpy"])
开发者ID:romko-hr,项目名称:reviewboard,代码行数:34,代码来源:test_review_request_draft.py
示例10: test_update_from_committed_change_with_rich_text_reset
def test_update_from_committed_change_with_rich_text_reset(self):
"""Testing ReviewRequestDraft.update_from_commit_id resets rich text
fields
"""
def get_change(repository, commit_to_get):
commit = Commit(
message='* This is a summary\n\n* This is a description.')
diff_filename = os.path.join(self.testdata_dir, 'git_readme.diff')
with open(diff_filename, 'r') as f:
commit.diff = f.read()
return commit
def get_file_exists(repository, path, revision, base_commit_id=None,
request=None):
return (path, revision) in [('/readme', 'd6613f5')]
review_request = ReviewRequest.objects.create(self.user,
self.repository)
draft = ReviewRequestDraft.create(review_request)
self.spy_on(draft.repository.get_change, call_fake=get_change)
self.spy_on(draft.repository.get_file_exists,
call_fake=get_file_exists)
draft.description_rich_text = True
draft.update_from_commit_id('4')
self.assertEqual(draft.summary, '* This is a summary')
self.assertEqual(draft.description, '* This is a description.')
self.assertFalse(draft.description_rich_text)
self.assertFalse(review_request.description_rich_text)
开发者ID:davidt,项目名称:reviewboard,代码行数:33,代码来源:test_review_request_draft.py
示例11: _test_put_with_text_type_escaping_all_fields
def _test_put_with_text_type_escaping_all_fields(
self, text_type, text, expected_text):
self.assertIn(text_type, ('markdown', 'plain'))
rich_text = (text_type == 'markdown')
review_request = self.create_review_request(submitter=self.user,
publish=True)
review_request.rich_text = not rich_text
review_request.description = text
review_request.testing_done = text
review_request.save()
draft = ReviewRequestDraft.create(review_request)
draft.changedesc.text = text
draft.changedesc.save()
rsp = self.api_put(
get_review_request_draft_url(review_request),
{
'text_type': text_type,
},
expected_mimetype=review_request_draft_item_mimetype)
self.assertEqual(rsp['stat'], 'ok')
draft_rsp = rsp['draft']
self.assertEqual(draft_rsp['text_type'], text_type)
self.assertEqual(draft_rsp['changedescription'], expected_text)
self.assertEqual(draft_rsp['description'], expected_text)
self.assertEqual(draft_rsp['testing_done'], expected_text)
draft = ReviewRequestDraft.objects.get(pk=rsp['draft']['id'])
self.compare_item(draft_rsp, draft)
开发者ID:dnozay,项目名称:reviewboard,代码行数:33,代码来源:test_review_request_draft.py
示例12: test_limited_recipients_other_fields
def test_limited_recipients_other_fields(self):
"""Testing that recipient limiting only happens when adding reviewers
"""
review_request = self.create_review_request(
summary='My test review request',
public=True)
review_request.email_message_id = "junk"
review_request.target_people.add(User.objects.get(username='dopey'))
review_request.save()
draft = ReviewRequestDraft.create(review_request)
draft.summary = 'Changed summary'
draft.target_people.add(User.objects.get(username='grumpy'))
draft.publish(user=review_request.submitter)
from_email = get_email_address_for_user(review_request.submitter)
self.assertEqual(len(mail.outbox), 1)
self.assertEqual(mail.outbox[0].from_email, self.sender)
self.assertEqual(mail.outbox[0].extra_headers['From'], from_email)
self.assertEqual(mail.outbox[0].subject,
'Re: Review Request %s: Changed summary'
% review_request.pk)
self.assertValidRecipients([review_request.submitter.username,
'dopey', 'grumpy'])
message = mail.outbox[0].message()
self.assertEqual(message['Sender'],
self._get_sender(review_request.submitter))
开发者ID:Anastasiya2307,项目名称:reviewboard,代码行数:29,代码来源:tests.py
示例13: test_recipients_with_muted_review_requests
def test_recipients_with_muted_review_requests(self):
"""Testing e-mail recipients when users mute a review request"""
dopey = User.objects.get(username='dopey')
admin = User.objects.get(username='admin')
group = Group.objects.create(name='group')
group.users.add(admin)
group.save()
review_request = self.create_review_request(
summary='My test review request',
public=True)
review_request.target_people.add(dopey)
review_request.target_people.add(User.objects.get(username='grumpy'))
review_request.target_groups.add(group)
review_request.save()
visit = self.create_visit(review_request, ReviewRequestVisit.MUTED,
dopey)
visit.save()
visit = self.create_visit(review_request, ReviewRequestVisit.MUTED,
admin)
visit.save()
draft = ReviewRequestDraft.create(review_request)
draft.summary = 'Summary changed'
draft.publish(user=review_request.submitter)
self.assertEqual(len(mail.outbox), 1)
self.assertValidRecipients(['doc', 'grumpy'])
开发者ID:Anastasiya2307,项目名称:reviewboard,代码行数:31,代码来源:tests.py
示例14: test_add_reviewer_review_request_email
def test_add_reviewer_review_request_email(self):
"""Testing limited e-mail recipients
when adding a reviewer to an existing review request
"""
review_request = self.create_review_request(
summary='My test review request',
public=True)
review_request.email_message_id = "junk"
review_request.target_people.add(User.objects.get(username='dopey'))
review_request.save()
draft = ReviewRequestDraft.create(review_request)
draft.target_people.add(User.objects.get(username='grumpy'))
draft.publish(user=review_request.submitter)
from_email = get_email_address_for_user(review_request.submitter)
self.assertEqual(len(mail.outbox), 1)
self.assertEqual(mail.outbox[0].from_email, self.sender)
self.assertEqual(mail.outbox[0].extra_headers['From'], from_email)
self.assertEqual(mail.outbox[0].subject,
'Re: Review Request %s: My test review request'
% review_request.pk)
# The only included users should be the submitter and 'grumpy' (not
# 'dopey', since he was already included on the review request earlier)
self.assertValidRecipients([review_request.submitter.username,
'grumpy'])
message = mail.outbox[0].message()
self.assertEqual(message['Sender'],
self._get_sender(review_request.submitter))
开发者ID:Anastasiya2307,项目名称:reviewboard,代码行数:31,代码来源:tests.py
示例15: test_create_with_new_draft_and_custom_changedesc
def test_create_with_new_draft_and_custom_changedesc(self):
"""Testing ReviewRequestDraft.create with new draft and custom
ChangeDescription
"""
review_request = self.create_review_request(
publish=True,
bugs_closed='1,20,300',
commit_id='abc123',
description_rich_text=True,
rich_text=True,
testing_done_rich_text=True,
extra_data={
'key': {
'values': [1, 2, 3],
},
'mybool': True,
})
# Create the draft.
changedesc = ChangeDescription.objects.create()
orig_draft = ReviewRequestDraft.create(review_request,
changedesc=changedesc)
self.assertEqual(orig_draft.changedesc_id, changedesc.pk)
self.assertEqual(ChangeDescription.objects.count(), 1)
# Reload to be sure.
draft = ReviewRequestDraft.objects.get(pk=orig_draft.pk)
self.assertEqual(orig_draft, draft)
self.assertEqual(draft.changedesc, changedesc)
开发者ID:chipx86,项目名称:reviewboard,代码行数:30,代码来源:test_review_request_draft.py
示例16: test_update_from_committed_change_with_rich_text_reset
def test_update_from_committed_change_with_rich_text_reset(self):
"""Testing ReviewRequestDraft.update_from_commit_id resets rich text
fields
"""
def get_change(repository, commit_to_get):
commit = Commit(
message='* This is a summary\n\n* This is a description.',
diff=self.DEFAULT_GIT_README_DIFF)
return commit
review_request = ReviewRequest.objects.create(self.user,
self.repository)
draft = ReviewRequestDraft.create(review_request)
self.spy_on(draft.repository.get_change, call_fake=get_change)
self.spy_on(draft.repository.get_file_exists)
draft.description_rich_text = True
draft.update_from_commit_id('4')
self.assertFalse(draft.repository.get_file_exists.called)
self.assertEqual(draft.summary, '* This is a summary')
self.assertEqual(draft.description, '* This is a description.')
self.assertFalse(draft.description_rich_text)
self.assertFalse(review_request.description_rich_text)
开发者ID:chipx86,项目名称:reviewboard,代码行数:26,代码来源:test_review_request_draft.py
示例17: create
def create(self, file, review_request, filediff=None):
caption = self.cleaned_data['caption'] or file.name
if (not file.content_type or
file.content_type == 'application/octet-stream'):
# We can't rely on the browser for the file type here, so
# attempt to guess it.
mimetype = self._guess_mimetype(file)
else:
mimetype = file.content_type
filename = '%s__%s' % (uuid4(), file.name)
attachment_kwargs = {
'caption': '',
'draft_caption': caption,
'orig_filename': os.path.basename(file.name),
'mimetype': mimetype,
}
if filediff:
file_attachment = FileAttachment.objects.create_from_filediff(
filediff,
save=False,
**attachment_kwargs)
else:
file_attachment = FileAttachment(**attachment_kwargs)
file_attachment.file.save(filename, file, save=True)
draft = ReviewRequestDraft.create(review_request)
draft.file_attachments.add(file_attachment)
draft.save()
return file_attachment
开发者ID:alefiyaj,项目名称:reviewboard,代码行数:35,代码来源:forms.py
示例18: _test_put_with_text_type_escaping_unspecified_fields
def _test_put_with_text_type_escaping_unspecified_fields(self, text_type, text, expected_text):
self.assertIn(text_type, ("markdown", "plain"))
rich_text = text_type == "markdown"
description = "`This` is the **description**"
review_request = self.create_review_request(submitter=self.user, publish=True)
review_request.rich_text = not rich_text
review_request.description = text
review_request.testing_done = text
review_request.save()
draft = ReviewRequestDraft.create(review_request)
draft.changedesc.text = text
draft.changedesc.save()
rsp = self.api_put(
get_review_request_draft_url(review_request),
{"text_type": text_type, "description": description},
expected_mimetype=review_request_draft_item_mimetype,
)
self.assertEqual(rsp["stat"], "ok")
draft_rsp = rsp["draft"]
self.assertEqual(draft_rsp["text_type"], text_type)
self.assertEqual(draft_rsp["changedescription"], expected_text)
self.assertEqual(draft_rsp["description"], description)
self.assertEqual(draft_rsp["testing_done"], expected_text)
draft = ReviewRequestDraft.objects.get(pk=rsp["draft"]["id"])
self.compare_item(draft_rsp, draft)
开发者ID:sichenzhao,项目名称:reviewboard,代码行数:32,代码来源:test_review_request_draft.py
示例19: create_screenshot
def create_screenshot(self, review_request, caption='My caption',
draft=False, active=True, **kwargs):
"""Create a Screenshot for testing.
The screenshot is tied to the given
:py:class:`~reviewboard.reviews.models.review_request.ReviewRequest`.
It's populated with default data that can be overridden by the caller.
Args:
review_request (reviewboard.reviews.models.review_request.
ReviewRequest):
The review request that ultimately owns the screenshot.
caption (unicode, optional):
The caption to use for the screenshot.
draft (bool or
reviewboard.reviews.models.review_request_draft.
ReviewRequestDraft):
A draft to associate the screenshot with. This can also be
a boolean, for legacy reasons, which will attempt to look up
or create a draft for the review request.
active (bool):
Whether this screenshot is considered active (not deleted).
**kwargs (dict):
Additional fields to set on the screenshot.
Returns:
reviewboard.reviews.models.screenshot.Screenshot:
The resulting screenshot.
"""
screenshot = Screenshot(caption=caption, **kwargs)
filename = os.path.join(settings.STATIC_ROOT, 'rb', 'images',
'logo.png')
with open(filename, 'r') as f:
screenshot.image.save(filename, File(f), save=True)
if draft:
if isinstance(draft, ReviewRequestDraft):
review_request_draft = draft
else:
review_request_draft = \
ReviewRequestDraft.create(review_request)
if active:
screenshots = review_request_draft.screenshots
else:
screenshots = review_request_draft.inactive_screenshots
else:
if active:
screenshots = review_request.screenshots
else:
screenshots = review_request.inactive_screenshots
screenshots.add(screenshot)
return screenshot
开发者ID:xiaogao6681,项目名称:reviewboard,代码行数:60,代码来源:testcase.py
示例20: create_diffset
def create_diffset(self, review_request=None, revision=1, repository=None,
draft=False, name='diffset'):
"""Creates a DiffSet for testing.
The DiffSet defaults to revision 1. This can be overriden by the
caller.
DiffSets generally are tied to a ReviewRequest, but it's optional.
"""
if review_request:
repository = review_request.repository
diffset = DiffSet.objects.create(
name=name,
revision=revision,
repository=repository)
if review_request:
if draft:
review_request_draft = \
ReviewRequestDraft.create(review_request)
review_request_draft.diffset = diffset
review_request_draft.save()
else:
review_request.diffset_history.diffsets.add(diffset)
return diffset
开发者ID:prodigeni,项目名称:reviewboard,代码行数:27,代码来源:testcase.py
注:本文中的reviewboard.reviews.models.ReviewRequestDraft类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论