def setUp(self): super(AddRemoveLeaderTests, self).setUp() self.user = UserFactory() add_permission(self.user, GroupProfile, 'change_groupprofile') self.leader = UserFactory() self.group_profile = GroupProfileFactory() self.client.login(username=self.user.username, password='******')
def setUp(self): super(AddRemoveLeaderTests, self).setUp() self.user = user(save=True) add_permission(self.user, GroupProfile, 'change_groupprofile') self.leader = user(save=True) self.group_profile = group_profile(group=group(save=True), save=True) self.client.login(username=self.user.username, password='******')
def test_user_can_edit_others_profile_with_permission(self): u1 = user(save=True) url = reverse('users.edit_profile', args=[u1.username]) u2 = user(save=True) add_permission(u2, Profile, 'change_profile') self.client.login(username=u2.username, password='******') # Try GET r = self.client.get(url) eq_(200, r.status_code) # Try POST data = {'name': 'John Doe', 'public_email': True, 'bio': 'my bio', 'website': 'http://google.com/', 'twitter': '', 'facebook': '', 'mozillians': '', 'irc_handle': 'johndoe', 'timezone': 'America/New_York', 'country': 'US', 'city': 'Disney World', 'locale': 'en-US'} r = self.client.post(url, data) eq_(302, r.status_code) profile = Profile.objects.get(user=u1) for key in data: if key != 'timezone': eq_(data[key], getattr(profile, key)) eq_(data['timezone'], profile.timezone.zone)
def setUp(self, switch_is_active): switch_is_active.return_value = True super(KarmaAPITests, self).setUp() try: self.mgr = KarmaManager() redis_client('karma').flushdb() except RedisError: raise SkipTest self.user1 = user(save=True) self.user2 = user(save=True) self.user3 = user(save=True) TestAction1(user=self.user1).save() TestAction2(user=self.user2).save() TestAction2(user=self.user2).save() TestAction1(user=self.user3).save() TestAction1(user=self.user3).save() TestAction1(user=self.user3).save() self.mgr.update_top() self.client.login(username=self.user1.username, password='******') add_permission(self.user1, models.Title, 'view_dashboard')
def test_needs_change(self): """Test setting and unsetting the needs change flag""" # Create a new document and edit it, setting needs_change. comment = 'Please update for Firefix.next' doc = RevisionFactory().document data = new_document_data() data.update({'needs_change': True, 'needs_change_comment': comment, 'form': 'doc'}) # Verify that needs_change can't be set if the user doesn't have # the permission. self.client.post(reverse('wiki.edit_document', args=[doc.slug]), data) doc = Document.objects.get(pk=doc.pk) assert not doc.needs_change assert not doc.needs_change_comment # Give the user permission, now it should work. add_permission(self.u, Document, 'edit_needs_change') self.client.post(reverse('wiki.edit_document', args=[doc.slug]), data) doc = Document.objects.get(pk=doc.pk) assert doc.needs_change eq_(comment, doc.needs_change_comment) # Clear out needs_change. data.update({'needs_change': False, 'needs_change_comment': comment}) self.client.post(reverse('wiki.edit_document', args=[doc.slug]), data) doc = Document.objects.get(pk=doc.pk) assert not doc.needs_change eq_('', doc.needs_change_comment)
def setUp(self): super(AddRemoveMemberTests, self).setUp() self.user = user(save=True) self.member = user(save=True) add_permission(self.user, GroupProfile, "change_groupprofile") self.group_profile = group_profile(group=group(save=True), save=True) self.client.login(username=self.user.username, password="******")
def test_elastic_clickthrough_post(self): """Test elastic clickthrough write API.""" u = user(save=True) add_permission(u, Metric, 'add_metric') click_kind, search_kind = self._make_elastic_metric_kinds() # POST the new object: url = reverse('api_dispatch_list', kwargs={'resource_name': 'elastic-clickthrough-rate', 'api_name': 'v1'}) auth = 'Basic ' + b64encode('%s:%s' % (u.username, 'testpass')) response = self.client.post(url, json.dumps({'start': '2000-01-02', 'searches': 1e8, 'clicks': 5e7}), content_type='application/json', HTTP_AUTHORIZATION=auth) eq_(response.status_code, 201) # Do a GET, and see if the round trip worked: response = self.client.get(url + '?format=json') self.assertContains( # Beware of dict order changes someday. response, '"objects": [{"clicks": 50000000, "resource_uri": "", ' '"searches": 100000000, "start": "2000-01-02"}]')
def test_needs_change(self): """Test setting and unsetting the needs change flag""" # Create a new document and edit it, setting needs_change. comment = "Please update for Firefix.next" doc = revision(save=True).document data = new_document_data() data.update({"needs_change": True, "needs_change_comment": comment, "form": "doc"}) # Verify that needs_change can't be set if the user doesn't have # the permission. self.client.post(reverse("wiki.edit_document", args=[doc.slug]), data) doc = Document.objects.get(pk=doc.pk) assert not doc.needs_change assert not doc.needs_change_comment # Give the user permission, now it should work. add_permission(self.u, Document, "edit_needs_change") self.client.post(reverse("wiki.edit_document", args=[doc.slug]), data) doc = Document.objects.get(pk=doc.pk) assert doc.needs_change eq_(comment, doc.needs_change_comment) # Clear out needs_change. data.update({"needs_change": False, "needs_change_comment": comment}) self.client.post(reverse("wiki.edit_document", args=[doc.slug]), data) doc = Document.objects.get(pk=doc.pk) assert not doc.needs_change eq_("", doc.needs_change_comment)
def setUp(self): super(AddRemoveLeaderTests, self).setUp() self.locale = locale(locale='es', save=True) self.user = user(save=True) add_permission(self.user, Locale, 'change_locale') self.leader = user(save=True) self.client.login(username=self.user.username, password='******')
def setUp(self): super(AddRemoveLeaderTests, self).setUp() self.locale = LocaleFactory(locale='es') self.user = UserFactory() add_permission(self.user, Locale, 'change_locale') self.leader = UserFactory() self.client.login(username=self.user.username, password='******')
def setUp(self): """Have a user watch for revision approval. Log in.""" self.approved_watcher = user(email="*****@*****.**", save=True) ApproveRevisionInLocaleEvent.notify(self.approved_watcher, locale="en-US") approver = user(save=True) add_permission(approver, Revision, "review_revision") add_permission(approver, Revision, "mark_ready_for_l10n") self.client.login(username=approver.username, password="******")
def setUp(self): """Have a user watch for revision approval. Log in.""" self.ready_watcher = user(email="*****@*****.**", save=True) ReadyRevisionEvent.notify(self.ready_watcher) readyer = user(save=True) add_permission(readyer, Revision, "mark_ready_for_l10n") self.client.login(username=readyer.username, password="******")
def setUp(self): super(AddRemoveContributorTests, self).setUp() self.user = UserFactory() self.contributor = UserFactory() add_permission(self.user, Document, 'change_document') self.client.login(username=self.user.username, password='******') self.revision = RevisionFactory() self.document = self.revision.document
def setUp(self): super(AddRemoveContributorTests, self).setUp() self.user = user(save=True) self.contributor = user(save=True) add_permission(self.user, Document, "change_document") self.client.login(username=self.user.username, password="******") self.revision = revision(save=True) self.document = self.revision.document
def setUp(self): """Have a user watch for revision approval. Log in.""" self.ready_watcher = UserFactory(email='*****@*****.**') ReadyRevisionEvent.notify(self.ready_watcher) readyer = UserFactory() add_permission(readyer, Revision, 'mark_ready_for_l10n') self.client.login(username=readyer.username, password='******')
def setUp(self): super(FlaggedQueueTestCase, self).setUp() self.answer = AnswerFactory() self.flagger = UserFactory() u = UserFactory() add_permission(u, FlaggedObject, 'can_moderate') self.client.login(username=u.username, password='******')
def setUp(self): """Have a user watch for revision approval. Log in.""" self.approved_watcher = UserFactory(email='*****@*****.**') ApproveRevisionInLocaleEvent.notify(self.approved_watcher, locale='en-US') approver = UserFactory() add_permission(approver, Revision, 'review_revision') add_permission(approver, Revision, 'mark_ready_for_l10n') self.client.login(username=approver.username, password='******')
def test_delete_image(self): """Deleting an uploaded image works.""" im = image() u = user(save=True) add_permission(u, Image, 'delete_image') self.client.login(username=u.username, password='******') r = post(self.client, 'gallery.delete_media', args=['image', im.id]) eq_(200, r.status_code) eq_(0, Image.objects.count())
def test_edit_image_with_permissions(self): """Editing image sets the updated_by field.""" img = image() u = user(save=True) add_permission(u, Image, 'change_image') self.client.login(username=u.username, password='******') r = post(self.client, 'gallery.edit_media', {'description': 'arrr'}, args=['image', img.id]) eq_(200, r.status_code) eq_(u.username, Image.objects.get().updated_by.username)
def test_schedule_rebuild_kb_on_delete(self, schedule_rebuild_kb): """KB rebuild scheduled on delete""" im = image() u = user(save=True) add_permission(u, Image, 'delete_image') self.client.login(username=u.username, password='******') r = post(self.client, 'gallery.delete_media', args=['image', im.id]) eq_(200, r.status_code) eq_(0, Image.objects.count()) assert schedule_rebuild_kb.called
def test_permission_required(self): url = reverse('flagit.queue', force_locale=True) resp = self.client.get(url) eq_(302, resp.status_code) self.client.login(username=self.user.username, password='******') resp = self.client.get(url) eq_(403, resp.status_code) add_permission(self.user, FlaggedObject, 'can_moderate') resp = self.client.get(url) eq_(200, resp.status_code)
def setUp(self): super(KBBelongsTestCase, self).setUp() u = UserFactory() self.doc = DocumentFactory(title='spam') self.doc_2 = DocumentFactory(title='eggs') self.thread = ThreadFactory(creator=u, document=self.doc, is_locked=False) self.thread_2 = ThreadFactory(creator=u, document=self.doc_2, is_locked=False) permissions = ('sticky_thread', 'lock_thread', 'delete_thread', 'delete_post') for permission in permissions: add_permission(u, self.thread, permission) self.post = self.thread.new_post(creator=self.thread.creator, content='foo') self.client.login(username=u.username, password='******')
def setUp(self): super(FlaggedQueueTestCase, self).setUp() q = question(creator=user(save=True), save=True) self.answer = answer(question=q, creator=user(save=True), save=True) self.flagger = user(save=True) u = user(save=True) add_permission(u, FlaggedObject, 'can_moderate') self.client.login(username=u.username, password='******')
def setUp(self): u = user(save=True) add_permission(u, Question, 'change_question') self.user = u p = product(save=True) t = topic(product=p, save=True) q = question(product=p, topic=t, save=True) self.product = p self.topic = t self.question = q
def test_add_tags(self): q = question(save=True) eq_(0, q.tags.count()) u = profile().user add_permission(u, Tag, 'add_tag') self.client.force_authenticate(user=u) res = self.client.post(reverse('question-add-tags', args=[q.id]), content_type='application/json', data=json.dumps({'tags': ['test', 'more', 'tags']})) eq_(res.status_code, 200) eq_(3, q.tags.count())
def test_mods_can_see_spam_details(self): self.question.is_spam = True self.question.save() res = get(self.client, 'questions.details', args=[self.question.id]) eq_(404, res.status_code) u = user(save=True) add_permission(u, FlaggedObject, 'can_moderate') self.client.login(username=u.username, password='******') res = get(self.client, 'questions.details', args=[self.question.id]) eq_(200, res.status_code)
def setUp(self): u = UserFactory() add_permission(u, Question, 'change_question') assert u.has_perm('questions.change_question') self.user = u p = ProductFactory() t = TopicFactory(product=p) q = QuestionFactory(product=p, topic=t) self.product = p self.topic = t self.question = q
def test_flag_kbforum_post(self): u = user(save=True) t = thread(save=True) p = t.new_post(creator=u, content='foo') f = FlaggedObject(content_object=p, reason='spam', creator_id=u.id) f.save() # Make sure flagit queue page works u2 = user(save=True) add_permission(u2, FlaggedObject, 'can_moderate') self.client.login(username=u2.username, password='******') response = get(self.client, 'flagit.queue') eq_(200, response.status_code) doc = pq(response.content) eq_(1, len(doc('#flagged-queue li')))
def setUp(self): u = user(save=True) add_permission(u, Question, "change_question") self.user = u p = product(save=True) t = topic(product=p, save=True) q = question(save=True) q.products.add(p) q.topics.add(t) q.save() self.question = q
def setUp(self): # Set up some ignored users self.ignored_usernames = ['deanj', 'r1cky', 'mythmon'] for username in self.ignored_usernames: twitter_account(username=username, ignored=True, save=True) # Now a few normal users self.normal_usernames = ['willkg', 'marcell', 'ian'] for username in self.normal_usernames: twitter_account(username=username, ignored=False, save=True) # Create a user with permissions to ignore u = user(save=True) add_permission(u, TwitterAccount, 'ignore_account') self.client.login(username=u.username, password='******')
def test_flagged_and_deleted_ProfileFactory(self): u = UserFactory() p = u.profile flag_user = UserFactory() # Flag a profile and delete it f = FlaggedObject(content_object=p, reason='spam', creator_id=flag_user.id) f.save() p.delete() # Verify flagit queue u = UserFactory() add_permission(u, FlaggedObject, 'can_moderate') self.client.login(username=u.username, password='******') response = get(self.client, 'flagit.queue') eq_(200, response.status_code) doc = pq(response.content) eq_(1, len(doc('#flagged-queue form.update')))
def test_profile_deactivate(self): """Test user deactivation""" p = UserFactory().profile self.client.login(username=self.user.username, password='******') res = self.client.post(reverse('users.deactivate', locale='en-US'), {'user_id': p.user.id}) eq_(403, res.status_code) add_permission(self.user, Profile, 'deactivate_users') res = self.client.post(reverse('users.deactivate', locale='en-US'), {'user_id': p.user.id}) eq_(302, res.status_code) log = Deactivation.objects.get(user_id=p.user_id) eq_(log.moderator_id, self.user.id) p = Profile.objects.get(user_id=p.user_id) assert not p.user.is_active
def test_user_can_edit_others_profile_with_permission(self): user1 = UserFactory() url = reverse("users.edit_profile", args=[user1.username]) user2 = UserFactory() add_permission(user2, Profile, "change_profile") self.client.login(username=user2.username, password="******") # Try GET resp = self.client.get(url) eq_(200, resp.status_code) # Try POST data = { "username": "******", "name": "John Doe", "public_email": True, "bio": "my bio", "website": "http://google.com/", "twitter": "", "community_mozilla_org": "", "people_mozilla_org": "", "matrix_handle": "johndoe", "timezone": "America/New_York", "country": "US", "city": "Disney World", "locale": "en-US", } resp = self.client.post(url, data) eq_(302, resp.status_code) profile = Profile.objects.get(user=user1) for key in data: if key not in ["timezone", "username"]: assert data[key] == getattr(profile, key), "%r != %r (for key '%s')" % ( data[key], getattr(profile, key), key, ) eq_(data["timezone"], profile.timezone.zone) eq_(data["username"], profile.user.username)
def test_edit_post_moderator(self): """Editing post as a moderator works.""" u = UserFactory() add_permission(u, Post, "change_post") self.client.login(username=u.username, password="******") p = PostFactory() t = p.thread d = t.document r = post( self.client, "wiki.discuss.edit_post", {"content": "More new content"}, args=[d.slug, t.id, p.id], ) eq_(200, r.status_code) edited_p = Post.objects.get(pk=p.pk) eq_("More new content", edited_p.content)
def test_user_can_edit_others_profile_with_permission(self): u1 = UserFactory() url = reverse('users.edit_profile', args=[u1.username]) u2 = UserFactory() add_permission(u2, Profile, 'change_profile') self.client.login(username=u2.username, password='******') # Try GET r = self.client.get(url) eq_(200, r.status_code) # Try POST data = { 'name': 'John Doe', 'public_email': True, 'bio': 'my bio', 'website': 'http://google.com/', 'twitter': '', 'facebook': '', 'mozillians': '', 'irc_handle': 'johndoe', 'timezone': 'America/New_York', 'country': 'US', 'city': 'Disney World', 'locale': 'en-US' } r = self.client.post(url, data) eq_(302, r.status_code) profile = Profile.objects.get(user=u1) for key in data: if key != 'timezone': assert data[key] == getattr( profile, key), ("%r != %r (for key '%s')" % (data[key], getattr(profile, key), key)) eq_(data['timezone'], profile.timezone.zone)
def test_edit_with_perm(self): add_permission(self.user, GroupProfile, 'change_groupprofile') self._verify_get_and_post()
def setUp(self): super(DocumentEditingTests, self).setUp() self.u = UserFactory() add_permission(self.u, Document, "change_document") self.client.login(username=self.u.username, password="******")
def setUp(self): super(EditAvatarTests, self).setUp() self.user = UserFactory() add_permission(self.user, GroupProfile, 'change_groupprofile') self.group_profile = GroupProfileFactory() self.client.login(username=self.user.username, password='******')
def test_has_permission(self): u = user(save=True) add_permission(u, Announcement, 'add_announcement') self.client.login(username=u.username, password='******') self._create_test(200, 1)
def test_has_permission(self): u = user(save=True) add_permission(u, Announcement, 'add_announcement') self.client.login(username=u.username, password='******') self._delete_test(self.announcement.id, 204, 0)
def setUp(self): u = user(save=True) add_permission(u, Profile, 'screen_share') self.user = u self.question = question(save=True)
def test_check_has_perm(self): """User with django permission has perm to change video.""" vid = VideoFactory(creator=self.user) u = UserFactory() add_permission(u, Video, "change_video") check_media_permissions(vid, u, "change")
def setUp(self): self.user = UserFactory() add_permission(self.user, Profile, "screen_share") self.question = QuestionFactory()
def setUp(self): super(EditAvatarTests, self).setUp() self.user = user(save=True) add_permission(self.user, GroupProfile, 'change_groupprofile') self.group_profile = group_profile(group=group(save=True), save=True) self.client.login(username=self.user.username, password='******')
def test_has_permission(self): u = UserFactory() add_permission(u, Announcement, "add_announcement") self.client.login(username=u.username, password="******") self._delete_test(self.announcement.id, 204, 0)
def test_check_has_perm(self): """User with django permission has perm to change video.""" vid = video(creator=self.user) u = user(save=True) add_permission(u, Video, 'change_video') check_media_permissions(vid, u, 'change')
def setUp(self): self.user = user(save=True) add_permission(self.user, Revision, 'review_revision')
def setUp(self): self.user = UserFactory() add_permission(self.user, Revision, 'review_revision')
def setUp(self): super(DocumentEditingTests, self).setUp() self.u = user(save=True) add_permission(self.u, Document, 'change_document') self.client.login(username=self.u.username, password='******')
def test_has_permission(self): u = UserFactory() add_permission(u, Announcement, "add_announcement") self.client.login(username=u.username, password="******") self._create_test(200, 1)