예제 #1
0
파일: tests.py 프로젝트: eiritana/canvas
 def test_create_share_url_via_api_without_logged_in_user(self):
     user = AnonymousUser()
     result = self.api_post('/api/share/create', {
         'url': '/testing/999',
         'channel': "testing"
     },
                            user=user)
     self.assertEqual(result['share_url'], '/s/1j')
     self.assertEqual(result['share_get_arg'], 's=1j')
예제 #2
0
def suggested_threads():
    spotlighted_ids = SpotlightedThread.objects.all().values_list('comment_id',
                                                                  flat=True)

    nav = browse.Navigation(sort='hot', hot_sort_type='order_by_image_replies')
    ops = list(browse.get_front_comments(AnonymousUser(), nav))
    ops = [op for op in ops if op.id not in spotlighted_ids]
    ops = ops[:300]
    return [ThreadPreview.get_from_comment(op) for op in ops]
예제 #3
0
    def test_email_token_allows_unsubscribe_from_all(self):
        email = "*****@*****.**"
        url = "/unsubscribe?" + urllib.urlencode({
            'token': util.token(email),
            'email': email,
        })

        self.assertFalse(EmailUnsubscribe.objects.get_or_none(email=email))
        self.assertStatus(200, url, user=AnonymousUser())
        self.assertTrue(EmailUnsubscribe.objects.get_or_none(email=email))
예제 #4
0
    def test_user_id_token_allows_unsubscribe(self):
        user = create_user()
        url = "/unsubscribe?" + urllib.urlencode({
            'action': 'remixed',
            'token': util.token(user.id),
            'user_id': user.id,
        })

        self.assertTrue(user.kv.subscriptions.can_receive('remixed'))
        self.assertStatus(200, url, user=AnonymousUser())
        self.assertFalse(user.kv.subscriptions.can_receive('remixed'))
예제 #5
0
    def test_email_token_that_corresponds_to_user_allows_from_channel(self):
        user = create_user()
        url = "/unsubscribe?" + urllib.urlencode(
            {
                'action': 'remixed',
                'token': util.token(user.email),
                'email': user.email,
            })

        self.assertTrue(user.kv.subscriptions.can_receive('remixed'))
        self.assertStatus(200, url, user=AnonymousUser())
        self.assertFalse(user.kv.subscriptions.can_receive('remixed'))
예제 #6
0
 def test_logged_out_best_everything_returns_enough_comments(self):
     with override_service('time', FakeTimeProvider):
         Services.time.t = time.mktime(self.TODAY.timetuple())
         for category in [Category.ALL] + list(Category.objects.all()):
             category.merge_top_scores()
         cmts = get_front_comments(
             AnonymousUser(),
             Navigation(sort='best',
                        offset=0,
                        year=2011,
                        category=Category.ALL))
         self.assertEqual(len(cmts), self.COMMENT_COUNT)
예제 #7
0
    def __init__(self, user=None, path=None, GET={}, extra_META={}):
        HttpRequest.__init__(self)
        self.user = user or AnonymousUser()
        self.user_kv = {}
        if hasattr(self.user, 'redis'):
            self.user_kv = self.user.redis.user_kv.hgetall()
        self.session = SessionStore(session_key='skey')
        self.experiments = create_experiments_for_request(self)
        self.META = {"REMOTE_ADDR": "127.0.0.1", "PATH_INFO": path}
        self.META.update(extra_META)
        if path is not None:
            self.path = path

        if GET is not None:
            self.GET = QueryDict(GET)
예제 #8
0
 def signup(self, username=None, extra_info=None, email=None, **kwargs):
     if not username:
         username = "******" % Autoincr.get()
     if email is None:
         email = generate_email(username)
     data = {
         'username': username,
         'password': '******',
         'email': email,
         'code': InviteCode.generate().code,
     }
     data.update(kwargs)
     if extra_info is not None:
         data['info'] = extra_info
     response = self.post('/signup', data, user=AnonymousUser(), https=True)
     bgwork.perform()
     self.assertEqual(response.status_code, 302, "The signup POST didn't redirect, which probably means that "
                                                 "there was an error inside get_signup_context.")
     return User.objects.get(username=username)
예제 #9
0
 def test_200_signup(self):
     self.assertStatus(200, '/signup', user=AnonymousUser(), https=True)
예제 #10
0
파일: backends.py 프로젝트: eiritana/canvas
 def get_user(self, user_id):
     try:
         return User.objects.get(id=user_id)
     except User.DoesNotExist:
         return AnonymousUser()
예제 #11
0
 def test_logged_out(self):
     path = '/ping'
     resp = self.get(path, user=AnonymousUser())
     self.assertStatus(200, path)
     self.assertEqual(resp.content, 'pong')
예제 #12
0
 def process_request(self, request):
     if isinstance(request.user, DjangoAnonymousUser):
         request.user = AnonymousUser()
예제 #13
0
 def test_logged_out_staff_view(self):
     self.assertStatus(403, '/staff', user=AnonymousUser())
예제 #14
0
 def test_logged_out_view_of_comment(self):
     self.assertStatus(200, self.op.details().url, user=AnonymousUser())
예제 #15
0
 def test_secure_only_middleware_anonymously(self):
     self.assertStatus(200, '/', user=AnonymousUser())