Example #1
0
 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'])])
Example #2
0
 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'])])
Example #3
0
 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}])
Example #4
0
    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, [])
Example #5
0
 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
         }
     ])
Example #6
0
    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('*****@*****.**'))
Example #7
0
    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('*****@*****.**'))
Example #8
0
File: views.py Project: feynhat/arc
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})
Example #9
0
    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)
Example #10
0
    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, [])