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')
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]
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))
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'))
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'))
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)
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)
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)
def test_200_signup(self): self.assertStatus(200, '/signup', user=AnonymousUser(), https=True)
def get_user(self, user_id): try: return User.objects.get(id=user_id) except User.DoesNotExist: return AnonymousUser()
def test_logged_out(self): path = '/ping' resp = self.get(path, user=AnonymousUser()) self.assertStatus(200, path) self.assertEqual(resp.content, 'pong')
def process_request(self, request): if isinstance(request.user, DjangoAnonymousUser): request.user = AnonymousUser()
def test_logged_out_staff_view(self): self.assertStatus(403, '/staff', user=AnonymousUser())
def test_logged_out_view_of_comment(self): self.assertStatus(200, self.op.details().url, user=AnonymousUser())
def test_secure_only_middleware_anonymously(self): self.assertStatus(200, '/', user=AnonymousUser())