Skip to content

Commit 4ce633a

Browse files
committed
bug fixes
1 parent 3d18c2e commit 4ce633a

File tree

3 files changed

+26
-20
lines changed

3 files changed

+26
-20
lines changed

api/models.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ def set_password(self, password):
3333
def check_password(self, password):
3434
return check_password_hash(self.password, password)
3535

36+
def update_email(self, new_email):
37+
self.email = new_email
38+
3639
def update_username(self, new_username):
3740
self.username = new_username
3841

@@ -50,7 +53,7 @@ def get_by_email(cls, email):
5053
def toDICT(self):
5154

5255
cls_dict = {}
53-
cls_dict['id'] = self.id
56+
cls_dict['_id'] = self.id
5457
cls_dict['username'] = self.username
5558
cls_dict['email'] = self.email
5659

api/routes.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,14 @@ def check_if_token_revoked(jwt_header, jwt_payload):
4141
"password": fields.String(required=True, min_length=4, max_length=16)
4242
})
4343

44-
user_edit_model = rest_api.model('UserEditModel', {"username": fields.String(required=True, min_length=2, max_length=32),
45-
"password": fields.String(required=True, min_length=4, max_length=16)
44+
user_edit_model = rest_api.model('UserEditModel', {"userID": fields.String(required=True, min_length=1, max_length=32),
45+
"username": fields.String(required=True, min_length=2, max_length=32),
46+
"email": fields.String(required=True, min_length=4, max_length=64)
4647
})
4748

49+
logout_model = rest_api.model('LogoutModel', {"token": fields.String(required=True)})
50+
51+
4852
"""
4953
Flask-Restx routes
5054
"""
@@ -77,7 +81,7 @@ def post(self):
7781

7882
return {"success": True,
7983
"userID" : new_user.id,
80-
"msg": "The user was succesfully registered"}, 200
84+
"msg": "The user was successfully registered"}, 200
8185

8286

8387
@rest_api.route('/api/users/login')
@@ -132,29 +136,28 @@ def post(self):
132136
req_data = request.get_json()
133137

134138
_new_username = req_data.get("username")
135-
_new_password = req_data.get("password")
139+
_new_email = req_data.get("email")
136140

137141
if _new_username:
138142
current_user.update_username(_new_username)
139143

140-
if _new_password:
141-
current_user.set_password(_new_password)
144+
if _new_email:
145+
current_user.update_email(_new_email)
142146

143147
current_user.save()
144148

145-
return {"success": True,
146-
"msg": "User details updated successfully!"}, 200
149+
return {"success": True}, 200
147150

148151

149152
@rest_api.route('/api/users/logout')
150153
class LogoutUser(Resource):
151154
"""
152-
Edits User's username or password or both using 'user_edit_model' input
155+
Logs out User using 'logout_model' input
153156
"""
154157

155-
@rest_api.expect(user_edit_model)
158+
@rest_api.expect(logout_model, validate=True)
156159
@jwt_required()
157-
def delete(self):
160+
def post(self):
158161

159162
user_email = get_jwt_identity()
160163
current_user = Users.get_by_email(user_email)
@@ -167,4 +170,4 @@ def delete(self):
167170
jwt_block.save()
168171

169172
return {"success": True,
170-
"msg": "JWT Token revoked successfully!"}, 200
173+
"msg": "JWT Token revoked successfully"}, 200

tests.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ def client():
2727

2828
def test_user_signup(client):
2929
"""
30-
Tests /users/signup API
30+
Tests /users/register API
3131
"""
3232
response = client.post(
33-
"api/users/signup",
33+
"api/users/register",
3434
data=json.dumps(
3535
{
3636
"username": DUMMY_USERNAME,
@@ -41,16 +41,16 @@ def test_user_signup(client):
4141
content_type="application/json")
4242

4343
data = json.loads(response.data.decode())
44-
assert response.status_code == 201
45-
assert "User with (%s, %s) created successfully!" % (DUMMY_USERNAME, DUMMY_EMAIL) in data["msg"]
44+
assert response.status_code == 200
45+
assert "The user was successfully registered" in data["msg"]
4646

4747

4848
def test_user_signup_invalid_data(client):
4949
"""
50-
Tests /users/signup API: invalid data like email field empty
50+
Tests /users/register API: invalid data like email field empty
5151
"""
5252
response = client.post(
53-
"api/users/signup",
53+
"api/users/register",
5454
data=json.dumps(
5555
{
5656
"username": DUMMY_USERNAME,
@@ -81,7 +81,7 @@ def test_user_login_correct(client):
8181

8282
data = json.loads(response.data.decode())
8383
assert response.status_code == 200
84-
assert data["access_token"] != ""
84+
assert data["token"] != ""
8585

8686

8787
def test_user_login_error(client):

0 commit comments

Comments
 (0)