示例#1
0
def account_url_metadata(request):
    token = generate_simple_token(request.data.get('email'))
    domain = request.get_host()
    if request.is_secure():
        protocol = "https://"
    else:
        protocol = "http://"
    uid = urlsafe_base64_encode(force_bytes(request.data.get('email')))
    time = datetime.now()
    time = datetime.strftime(time, '%d-%B-%Y %H:%M')

    return (token, domain, protocol, uid, time)
示例#2
0
 def test_password_reset_fails(self):
     """ Test password reset fails if password isn't strong """
     self.passwords['password'] = '******'
     self.passwords['confirm_password'] = '******'
     email = self.new_user['email']
     self.create_user(self.new_user)
     self.activate_user(email)
     uid = urlsafe_base64_encode(force_bytes(email))
     token = generate_simple_token(email)
     response = self.test_client().post(
         '/api/v1/accounts/password-reset/{}/{}/'.format(uid, token),
         self.passwords)
     self.assertEqual(400, response.status_code)
     self.assertIn('This password is too common.', str(response.data))
示例#3
0
 def test_password_reset_success(self):
     """ Test user can reset their password """
     self.passwords['password'] = '******'
     self.passwords['confirm_password'] = '******'
     email = self.new_user['email']
     self.create_user(self.new_user)
     self.activate_user(email)
     uid = urlsafe_base64_encode(force_bytes(email))
     token = generate_simple_token(email)
     response = self.test_client().post(
         '/api/v1/accounts/password-reset/{}/{}/'.format(uid, token),
         self.passwords)
     self.assertEqual(200, response.status_code)
     self.assertEqual('Password successfully updated',
                      str(response.data['message']))
示例#4
0
 def setUp(self):
     self.blank_user = {
         'first_name': "",
         'last_name': "",
         'email':  "",
         'username':  "",
         'password': "",
         'user_type':  ""
     }
     self.new_user = {
         'first_name': "Erykah",
         'last_name': "Badu",
         'email':  "*****@*****.**",
         'username':  "******",
         'password': "******",
         'user_type':  "professional"
     }
     self.update_user = {
         "location": "Adromeda",
         'user_type':  "professional"
     }
     self.passwords = {
         "old_password": "******",
         "new_password": "******",
         "confirm_password": "******"
     }
     self.admin = {
         'first_name': "Admin",
         'last_name': "Strator",
         'email':  "*****@*****.**",
         'username':  "******",
         'password': "******",
         'user_type': "professional",
         'admin': True
     }
     self.user_token = generate_simple_token(self.new_user['email'])
     admin = User.objects.create(**self.admin)
     self.admin_token = admin.token
示例#5
0
 def activate_user(self, email):
     uid = urlsafe_base64_encode(force_bytes(email))
     token = generate_simple_token(email)
     response = self.test_client().get(
         '/api/v1/accounts/activate/{}/{}/'.format(uid, token))
     return response