Guest User

Untitled

a guest
Aug 3rd, 2018
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. Unable to redirect to @login_required URL in django_webtest case
  2. def _redirect_path(referrer, restricted_paths=()):
  3. if not referrer or referrer in (reverse(name) for name in restricted_paths):
  4. return reverse('home')
  5. else:
  6. return referrer
  7.  
  8. ...
  9.  
  10. def sign_up(request):
  11. if request.user.is_authenticated():
  12. return redirect(reverse('home'))
  13. if request.method == 'POST':
  14. form = forms.SignUpForm(request.POST)
  15. if form.is_valid():
  16. with transaction.commit_on_success():
  17. user = form.save()
  18. profile = Profile.objects.create(user=user)
  19. tokens.create_token(profile, 'unsubscribe')
  20. mail.send_welcome_letter(request, user)
  21. messages.success(request, _('You have successfully signed up. Welcome!'))
  22. authenticated_user = auth.authenticate(username=user.username, password=form.cleaned_data['password'])
  23. if authenticated_user:
  24. auth.login(request, authenticated_user)
  25. remember_user(request, authenticated_user)
  26. redirect_path = _redirect_path(form.clean_referrer(), ('password_reset', 'sign_up'))
  27. return redirect(redirect_path)
  28. else:
  29. raise Exception("Newly created user couldn't be authenticated.")
  30. else:
  31. referrer = request.GET.get('next')
  32. form = forms.SignUpForm(initial={'referrer': referrer})
  33.  
  34. return render_to_response('sign_up.html', {'form': form}, context_instance=RequestContext(request))
  35.  
  36. def test_user_creation_redirect_to_settings(self):
  37. form = self.app.get('/sign_up/', {'next': '/settings/'}).form
  38. self.fill_sign_up_form(form)
  39. submit_response = form.submit()
  40. self.assertRedirects(submit_response, '/settings/')
  41.  
  42. def test_user_creation_redirect_to_settings(self):
  43. form = self.app.get('/sign_up/', {'next': '/settings/'}).form
  44. self.fill_sign_up_form(form)
  45. submit_response = form.submit()
  46.  
  47. submit_response.client.login(username='User', password='secret')
  48.  
  49. self.assertRedirects(submit_response, '/settings/')
  50.  
  51. def test_user_creation_redirect_to_settings(self):
  52. form = self.app.get('/sign_up/', {'next': '/settings/'}).form
  53. self.fill_sign_up_form(form)
  54. submit_response = form.submit()
  55.  
  56. inside = self.client.login(username='User', password='secret')
  57. print inside and 'Login successful in self client'
  58. print 'Authenticated: %s' % bool('_auth_user_id' in self.client.session)
  59.  
  60. inside = submit_response.client.login(username='User', password='secret')
  61. print inside and 'Login successful in response client'
  62. print 'Authenticated: %s' % bool('_auth_user_id' in submit_response.client.session)
  63.  
  64. form.submit().follow()
  65.  
  66. form.submit().follow()
Add Comment
Please, Sign In to add comment