示例#1
0
 def add(phone, username, password):
     hashed = hashlib.sha512()
     hashed.update(password.encode('utf-8'))
     user = User(phone=phone,
                 username=username,
                 password=hashed.hexdigest())
     user.save()
示例#2
0
 def test_60_addUser(self):
     UserOperations.add('17605123977', 'muffin', 'nopassword')
     users = User.objects(phone='17605123977')
     self.assertEqual(len(users), 1)
     self.assertEqual(users[0].username, 'muffin')
     UserTests.saved_id = users[0].id
     UserTests.saved_password = users[0].password
示例#3
0
 def modify_password(phone, new_password):
     users = User.objects(phone=phone)
     if len(users) == 1:
         user = users.first()
         hashed = hashlib.sha512()
         hashed.update(new_password.encode('utf-8'))
         user.password = hashed.hexdigest()
         user.save()
 def post(self):
     try:
         body = request.get_json()
         user = User(**body)
         user.password = self.hash_password(user.password)
         user.save()
         id = user.id
         return {'id': str(id)}, 201
     except ValidationError:
         return {"Error": "Request is missing required fields"}, 400
     except FieldDoesNotExist:
         return {"Error": "Invalid field"}, 400
     except NotUniqueError:
         return {
             "Error": "User with given email address already exists"
         }, 400
     except Exception as e:
         return {"Error": str(e)}, 500
示例#5
0
 def verify_password(phone, password):
     users = User.objects(phone=phone)
     if len(users) == 1:
         user = users.first()
         hashed = hashlib.sha512()
         hashed.update(password.encode('utf-8'))
         if user.password == hashed.hexdigest():
             return True
     return False
示例#6
0
 def modify_user(phone, username, picture_path):
     users = User.objects(phone=phone)
     if len(users) == 1:
         user = users.first()
         user.username = username
         if user.picture_path is not None:
             if os.path.isfile(user.picture_path):
                 os.remove(user.picture_path)
         user.picture_path = picture_path
         user.save()
示例#7
0
 def test_65_deleteUser(self):
     UserOperations.delete('15850208731')
     users = User.objects(phone='15850208731')
     self.assertEqual(len(users), 0)
示例#8
0
 def test_64_modifyPhone(self):
     UserOperations.modify_phone(UserTests.saved_id, '15850208731')
     users = User.objects(id=UserTests.saved_id)
     self.assertEqual(len(users), 1)
     self.assertEqual(users[0].phone, '15850208731')
示例#9
0
 def test_62_modifyPassword(self):
     UserOperations.modify_password('17605123977', 'new_password')
     users = User.objects(phone='17605123977')
     self.assertEqual(len(users), 1)
     self.assertNotEqual(users[0].password, UserTests.saved_password)
示例#10
0
 def test_61_modifyUser(self):
     UserOperations.modify_user('17605123977', 'marvin', 'web/my.png')
     users = User.objects(phone='17605123977')
     self.assertEqual(len(users), 1)
     self.assertEqual(users[0].username, 'marvin')
     self.assertEqual(users[0].picture_path, 'web/my.png')
示例#11
0
 def modify_phone(_id, new_phone):
     users = User.objects(id=_id)
     if len(users) == 1:
         user = users.first()
         user.phone = new_phone
         user.save()
示例#12
0
 def delete(phone):
     users = User.objects(phone=phone)
     if len(users) == 1:
         user = users.first()
         user.delete()