def test_regform_password_validation(self): request = { "username": "******", "password": "******", "password_confirm": "QWEsz123#@!", "email": "*****@*****.**" } form = UserRegistrationForm(data=request) self.assertEqual(form.is_valid(), False)
def test_regform_password_validation(self): request = { "username": "******", "password": None, "password_confirm": None, "email": "*****@*****.**" } valid_passwords = ["qwert1", "qwert!", "QweW12!@"] invalid_passwords = ["q!12", "QwWert", "12345!", "123456"] for password in valid_passwords: request["password"], request["password_confirm"] = password, password form = UserRegistrationForm(data=request) self.assertEqual(form.is_valid(), True) for password in invalid_passwords: request["password"], request["password_confirm"] = password, password form = UserRegistrationForm(data=request) self.assertEqual(form.is_valid(), False)
def test_regform_email_validation(self): # Incorrect email request = { "username": "******", "password": "******", "password_confirm": "QWEsz123#@!", "email": "testtest.ru" } form = UserRegistrationForm(data=request) self.assertEqual(form.is_valid(), False) # Duplicate email request = { "username": "******", "password": "******", "password_confirm": "QWEsz123#@!", "email": "*****@*****.**" } form = UserRegistrationForm(data=request) self.assertEqual(form.is_valid(), False)
def post(self, request): if "new" in request.GET: reg_form = UserRegistrationForm(request.POST, prefix="register") if not reg_form.is_valid(): return TemplateResponse(request, self.template_name, { "reg_form": reg_form, "login_form": LoginForm(prefix="login") }) user = User(username=reg_form.cleaned_data["username"], email=reg_form.cleaned_data["email"]) user.set_password(reg_form.cleaned_data["password"]) # E-mail confirm not working user.is_active = True user.save() return HttpResponseRedirect(self.success_register_url) else: login_form = LoginForm(request.POST, prefix="login") if login_form.is_valid(): username, password = login_form.cleaned_data["username"], login_form.cleaned_data["password"] remember_me = login_form.cleaned_data["remember_me"] user = authenticate(username=username, password=password) if user is not None: if user.is_active: if remember_me: request.session.set_expiry(0) login(request, user) if "next" in request.GET: return HttpResponseRedirect(request.GET["next"]) return HttpResponseRedirect(self.success_login_url) else: # This user hasn't confirmed the e-mail # login_form.add_error("password", u"Аккаунт не подтвержден через e-mail.") pass else: login_form.add_error("password", u"Имя пользователя или пароль не совпадает.") return TemplateResponse(request, self.template_name, { "reg_form": UserRegistrationForm(prefix="register"), "login_form": login_form })