def test_password_verification(self): # The verification password is incorrect. data = { self.username: '******', 'password1': 'test123', 'password2': 'test', } form = UserCreationForm(data) self.assertFalse(form.is_valid()) self.assertEqual(form["password2"].errors, [force_text(form.error_messages['password_mismatch'])])
def test_password_verification(self): # The verification password is incorrect. data = { self.username: '******', 'password1': 'test123', 'password2': 'test', } form = UserCreationForm(data) self.assertFalse(form.is_valid()) self.assertEqual( form["password2"].errors, [force_text(form.error_messages['password_mismatch'])])
def test_user_already_exists(self): # The benefit of the custom validation message is only available if the # messages are translated. We won't be able to translate all the # strings if we don't know what the username will be ahead of time. data = { self.username: '******', 'password1': 'test123', 'password2': 'test123', } form = UserCreationForm(data) self.assertFalse(form.is_valid()) self.assertEqual(form[self.username].errors, [ force_text(form.error_messages['duplicate_username']) % {'username': self.username}])
def test_both_passwords(self): # One (or both) passwords weren't given data = {self.username: '******'} form = UserCreationForm(data) required_error = [force_text(Field.default_error_messages['required'])] self.assertFalse(form.is_valid()) self.assertEqual(form['password1'].errors, required_error) self.assertEqual(form['password2'].errors, required_error) data['password2'] = 'test123' form = UserCreationForm(data) self.assertFalse(form.is_valid()) self.assertEqual(form['password1'].errors, required_error) self.assertEqual(form['password2'].errors, [])
def test_user_already_exists(self): # The benefit of the custom validation message is only available if the # messages are translated. We won't be able to translate all the # strings if we don't know what the username will be ahead of time. data = { self.username: '******', 'password1': 'test123', 'password2': 'test123', } form = UserCreationForm(data) self.assertFalse(form.is_valid()) self.assertEqual(form[self.username].errors, [ force_text(form.error_messages['duplicate_username']) % { 'username': self.username } ])
def test_success(self): # The success case. data = { self.username: '******', 'password1': 'test123', 'password2': 'test123', } if settings.AUTH_USER_MODEL == 'authtools.User': data['name'] = 'John Smith' form = UserCreationForm(data) self.assertTrue(form.is_valid()) u = form.save() self.assertEqual(getattr(u, self.username), '*****@*****.**') self.assertTrue(u.check_password('test123')) self.assertEqual(u, User._default_manager.get_by_natural_key('*****@*****.**'))
def test_success(self): # The success case. data = { self.username: '******', 'password1': 'test123', 'password2': 'test123', } if settings.AUTH_USER_MODEL == 'authtools.User': data['name'] = 'John Smith' form = UserCreationForm(data) self.assertTrue(form.is_valid()) u = form.save() self.assertEqual(getattr(u, self.username), '*****@*****.**') self.assertTrue(u.check_password('test123')) self.assertEqual( u, User._default_manager.get_by_natural_key('*****@*****.**'))
def signup(request): if request.user is not None and request.user.is_authenticated: return redirect('/?su=li') if request.method == 'POST': emailForm = EmailForm(request.POST) if emailForm.is_valid(): try: u = User.objects.get(email=emailForm.cleaned_data['email']) except User.DoesNotExist: u = None if u and not u.is_active: u.delete() form = UserCreationForm(request.POST) if form.is_valid(): form.is_valid() user = form.save(commit=False) user.is_active = False uvid = genVID(user.email) ip = getIP(request) user.save() user.profile.ip = ip user.profile.vid = uvid user.save() # Verification email subj = 'Verification of email address - NISER Archive' dmn = get_current_site(request).domain htm = render_to_string('main/verify.htm', { 'user': user, 'vid': uvid, 'dmn': dmn }) txt = render_to_string('main/verify.txt', { 'user': user, 'vid': uvid, 'dmn': dmn }) mfrom = 'NISER Archive' mto = user.email msg = EmailMultiAlternatives(subj, txt, mfrom, [mto]) #msg.attach_alternative(htm, 'text/html') msg.send() #send_mail(subj, txt, '*****@*****.**', [mto], html_message=htm) base_url = reverse('home') query_string = urlencode({'su': True}) url = '{}?{}'.format(base_url, query_string) return redirect(url) #return HttpResponse('We have sent an email. Please confirm your email address to complete the registration') else: form = UserCreationForm() return render(request, 'main/signup.htm', {'form': form})
def test_generated_fields_list(self): if settings.AUTH_USER_MODEL == 'auth.User': fields = ('username', 'email', 'password1', 'password2') elif settings.AUTH_USER_MODEL == 'authtools.User': fields = ('email', 'name', 'password1', 'password2') elif settings.AUTH_USER_MODEL == 'tests.User': fields = ('email', 'full_name', 'preferred_name', 'password1', 'password2') else: assert False, "I don't know your user model" form = UserCreationForm() self.assertSequenceEqual(list(form.fields.keys()), fields)