Beispiel #1
0
    def test_send_notification(self):
        with override_service('metrics', FakeMetrics):
            user = create_staff()
            pn = self.api_post('/api/staff/send_notification_email', {
                'action': 'digest',
                'username': user.username,
            }, user=create_staff())
            self.assertAPISuccess(pn)

            self.assertEqual(1, len(Services.metrics.email_sent.records))
Beispiel #2
0
    def test_send_notification(self):
        with override_service('metrics', FakeMetrics):
            user = create_staff()
            pn = self.api_post('/api/staff/send_notification_email', {
                'action': 'digest',
                'username': user.username,
            },
                               user=create_staff())
            self.assertAPISuccess(pn)

            self.assertEqual(1, len(Services.metrics.email_sent.records))
Beispiel #3
0
    def test_as_staff(self):
        group = create_group()
        user = create_staff()
        cmt = self.post_comment(reply_content=create_content().id,
                                category=group.name)
        self.assertFalse(cmt.is_offtopic())
        result = self.api_post('/api/comment/mark_offtopic', {
            'comment_id': cmt.id,
            'ot_hidden': True
        },
                               user=user)
        self.assertAPIFailure(result)
        group.moderators.add(user)
        result = self.api_post('/api/comment/mark_offtopic', {
            'comment_id': cmt.id,
            'ot_hidden': True
        },
                               user=user)
        self.assertAPISuccess(result)
        cmt = Comment.all_objects.get(pk=cmt.pk)
        self.assertTrue(cmt.is_offtopic())

        # Now undo it.
        result = self.api_post('/api/comment/mark_offtopic', {
            'comment_id': cmt.id,
            'ot_hidden': False
        },
                               user=user)
        cmt = Comment.objects.get(pk=cmt.pk)
        self.assertFalse(cmt.is_offtopic())
Beispiel #4
0
    def test_page_loads_with_feed_item(self):
        user = create_staff()
        other = create_user()
        user.follow(other)

        create_comment(author=other, reply_content=create_content())

        self.assertStatus(200, '/feed', user=user)
 def after_setUp(self):
     self.ip = '13.33.33.7'
     IPBlock.objects.create(
         ip=self.ip,
         moderator=create_staff(),
         timestamp=Now(),
     )
     self.request = FakeRequest()
     self.request.META['REMOTE_ADDR'] = self.ip
Beispiel #6
0
 def post(cls, path, data=None):
     # TODO: get rid of this when the api doesnt require staff
     user = create_staff()
     data = util.dumps(data) if data else None
     return cls._http_verb('post',
                           path,
                           data=data,
                           user=user,
                           content_type='application/json')
Beispiel #7
0
 def after_setUp(self):
     self.ip = '13.33.33.7'
     IPBlock.objects.create(
         ip=self.ip,
         moderator=create_staff(),
         timestamp=Now(),
     )
     self.request = FakeRequest()
     self.request.META['REMOTE_ADDR'] = self.ip
Beispiel #8
0
    def test_send_email_happens_once_per_recipient(self):
        with override_service('time', FakeTimeProvider):
            user = create_staff()
            Services.time.step(60*60*24)
            (recipient,) = send_24h_email.recipients()
            self.assertEqual(recipient, user)

            with override_service('metrics', FakeMetrics):
                def send():
                    for user in send_24h_email.recipients():
                        send_24h_email.send_welcome_email(user)
                self.assertEqual(0, len(Services.metrics.email_sent.records))
                send()
                self.assertEqual(1, len(Services.metrics.email_sent.records), "The digest email wasn't sent.")
                send()
                self.assertEqual(1, len(Services.metrics.email_sent.records), "The email was sent twice.")
Beispiel #9
0
    def test_as_staff(self):
        group = create_group()
        user = create_staff()
        cmt = self.post_comment(reply_content=create_content().id,
                                category=group.name)
        self.assertFalse(cmt.is_offtopic())
        result = self.api_post('/api/comment/mark_offtopic', {'comment_id': cmt.id, 'ot_hidden': True}, user=user)
        self.assertAPIFailure(result)
        group.moderators.add(user)
        result = self.api_post('/api/comment/mark_offtopic', {'comment_id': cmt.id, 'ot_hidden': True}, user=user)
        self.assertAPISuccess(result)
        cmt = Comment.all_objects.get(pk=cmt.pk)
        self.assertTrue(cmt.is_offtopic())

        # Now undo it.
        result = self.api_post('/api/comment/mark_offtopic', {'comment_id': cmt.id, 'ot_hidden': False}, user=user)
        cmt = Comment.objects.get(pk=cmt.pk)
        self.assertFalse(cmt.is_offtopic())
Beispiel #10
0
    def test_send_email_happens_once_per_recipient(self):
        with override_service('time', FakeTimeProvider):
            user = create_staff()
            Services.time.step(60 * 60 * 24)
            (recipient, ) = send_24h_email.recipients()
            self.assertEqual(recipient, user)

            with override_service('metrics', FakeMetrics):

                def send():
                    for user in send_24h_email.recipients():
                        send_24h_email.send_welcome_email(user)

                self.assertEqual(0, len(Services.metrics.email_sent.records))
                send()
                self.assertEqual(1, len(Services.metrics.email_sent.records),
                                 "The digest email wasn't sent.")
                send()
                self.assertEqual(1, len(Services.metrics.email_sent.records),
                                 "The email was sent twice.")
 def after_setUp(self):
     self.user = create_staff()
Beispiel #12
0
def create_staff(*args, **kwargs):
    return canvas_tests_helpers.create_staff(*args, user_cls=User, **kwargs)
 def test_staff_with_staff(self):
     request = FakeRequest(user=create_staff())
     response = self.require_staff(request)
     self.assertEqual(response.status_code, 200)
Beispiel #14
0
 def post(cls, path, data=None):
     # TODO: get rid of this when the api doesnt require staff
     user = create_staff()
     data = util.dumps(data) if data else None
     return cls._http_verb('post', path, data=data, user=user, content_type='application/json')
Beispiel #15
0
 def get(self, *args, **kwargs):
     # TODO: get rid of this when the api doesnt require staff
     kwargs['user'] = create_staff()
     return CanvasTestCase.get(*args, **kwargs)
Beispiel #16
0
 def test_staff_exemption(self):
     self._test_rate_limit(create_staff(), True)
Beispiel #17
0
 def test_through_full_django_stack(self):
     self.assertRaises(TypeError, lambda: self.post("/staff/noop", user=create_staff()))
 def test_staff_can_disable_group(self):
     staff_user, group = create_staff(), create_group()
     self.assertTrue(group.can_disable(staff_user))
Beispiel #19
0
 def get(self, *args, **kwargs):
     # TODO: get rid of this when the api doesnt require staff
     kwargs['user'] = create_staff()
     return CanvasTestCase.get(*args, **kwargs)
Beispiel #20
0
 def test_staff_exemption(self):
     self._test_rate_limit(create_staff(), True)
Beispiel #21
0
 def test_staff_cannot_moderate_group(self):
     staff_user, group = create_staff(), create_group()
     self.assertFalse(group.can_moderate(staff_user))
 def after_setUp(self):
     self.user = create_staff()
Beispiel #23
0
 def test_staff_can_disable_group(self):
     staff_user, group = create_staff(), create_group()
     self.assertTrue(group.can_disable(staff_user))
Beispiel #24
0
 def test_page_loads(self):
     self.assertStatus(200, '/feed', user=create_staff())
Beispiel #25
0
 def after_setUp(self):
     self.user = create_user()
     self.staff = create_staff()
     self.ip = '1.3.3.7'
     self.request = FakeRequest()
     self.request.META['REMOTE_ADDR'] = self.ip
 def after_setUp(self):
     self.user = create_user()
     self.staff = create_staff()
     self.ip = '1.3.3.7'
     self.request = FakeRequest()
     self.request.META['REMOTE_ADDR'] = self.ip
Beispiel #27
0
def create_staff(*args, **kwargs):
    return canvas_tests_helpers.create_staff(*args, user_cls=User, **kwargs)
Beispiel #28
0
 def test_staff_with_staff(self):
     request = FakeRequest(user=create_staff())
     response = self.require_staff(request)
     self.assertEqual(response.status_code, 200)
 def test_staff_cannot_moderate_group(self):
     staff_user, group = create_staff(), create_group()
     self.assertFalse(group.can_moderate(staff_user))