mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-23 15:56:45 -04:00
Fixed merge issues
This commit is contained in:
@@ -42,8 +42,8 @@ def create_user():
|
|||||||
|
|
||||||
@user.route('/<int:user_id>', methods=['PUT'])
|
@user.route('/<int:user_id>', methods=['PUT'])
|
||||||
def update_user(user_id):
|
def update_user(user_id):
|
||||||
user = get_model_users(user_id=user_id)
|
user_to_update = get_model_users(user_id=user_id)
|
||||||
if not user:
|
if not user_to_update:
|
||||||
return jsonify(result="error", message="User not found"), 404
|
return jsonify(result="error", message="User not found"), 404
|
||||||
|
|
||||||
req_json = request.get_json()
|
req_json = request.get_json()
|
||||||
@@ -110,6 +110,9 @@ def verify_user_code(user_id):
|
|||||||
def send_user_sms_code(user_id):
|
def send_user_sms_code(user_id):
|
||||||
user_to_send_to = get_model_users(user_id=user_id)
|
user_to_send_to = get_model_users(user_id=user_id)
|
||||||
|
|
||||||
|
if not user_to_send_to:
|
||||||
|
return jsonify(result="error", message="No user found"), 404
|
||||||
|
|
||||||
verify_code, errors = request_verify_code_schema.load(request.get_json())
|
verify_code, errors = request_verify_code_schema.load(request.get_json())
|
||||||
if errors:
|
if errors:
|
||||||
return jsonify(result="error", message=errors), 400
|
return jsonify(result="error", message=errors), 400
|
||||||
@@ -129,7 +132,9 @@ def send_user_sms_code(user_id):
|
|||||||
@user.route('/<int:user_id>/email-code', methods=['POST'])
|
@user.route('/<int:user_id>/email-code', methods=['POST'])
|
||||||
def send_user_email_code(user_id):
|
def send_user_email_code(user_id):
|
||||||
user_to_send_to = get_model_users(user_id=user_id)
|
user_to_send_to = get_model_users(user_id=user_id)
|
||||||
print(user_to_send_to)
|
if not user_to_send_to:
|
||||||
|
return jsonify(result="error", message="No user found"), 404
|
||||||
|
|
||||||
verify_code, errors = request_verify_code_schema.load(request.get_json())
|
verify_code, errors = request_verify_code_schema.load(request.get_json())
|
||||||
if errors:
|
if errors:
|
||||||
return jsonify(result="error", message=errors), 400
|
return jsonify(result="error", message=errors), 400
|
||||||
@@ -151,6 +156,9 @@ def send_user_email_code(user_id):
|
|||||||
def send_user_code(user_id):
|
def send_user_code(user_id):
|
||||||
user_to_send_to = get_model_users(user_id=user_id)
|
user_to_send_to = get_model_users(user_id=user_id)
|
||||||
|
|
||||||
|
if not user_to_send_to:
|
||||||
|
return jsonify(result="error", message="not found"), 404
|
||||||
|
|
||||||
verify_code, errors = old_request_verify_code_schema.load(request.get_json())
|
verify_code, errors = old_request_verify_code_schema.load(request.get_json())
|
||||||
if errors:
|
if errors:
|
||||||
return jsonify(result="error", message=errors), 400
|
return jsonify(result="error", message=errors), 400
|
||||||
|
|||||||
@@ -270,153 +270,13 @@ def test_put_user_not_exists(notify_api, notify_db, notify_db_session, sample_us
|
|||||||
assert User.query.count() == 2
|
assert User.query.count() == 2
|
||||||
user = User.query.filter_by(id=sample_user.id).first()
|
user = User.query.filter_by(id=sample_user.id).first()
|
||||||
json_resp = json.loads(resp.get_data(as_text=True))
|
json_resp = json.loads(resp.get_data(as_text=True))
|
||||||
assert json_resp == {'error': 'No result found'}
|
assert json_resp['result'] == "error"
|
||||||
|
assert json_resp['message'] == "User not found"
|
||||||
|
|
||||||
assert user == sample_user
|
assert user == sample_user
|
||||||
assert user.email_address != new_email
|
assert user.email_address != new_email
|
||||||
|
|
||||||
|
|
||||||
def test_get_user_services(notify_api, notify_db, notify_db_session, sample_service, sample_admin_service_id):
|
|
||||||
"""
|
|
||||||
Tests GET endpoint "/<user_id>/service/<service_id>" to retrieve services for a user.
|
|
||||||
"""
|
|
||||||
with notify_api.test_request_context():
|
|
||||||
with notify_api.test_client() as client:
|
|
||||||
user = User.query.get(sample_service.users[0].id)
|
|
||||||
another_name = "another name"
|
|
||||||
create_sample_service(
|
|
||||||
notify_db,
|
|
||||||
notify_db_session,
|
|
||||||
service_name=another_name,
|
|
||||||
user=user)
|
|
||||||
assert Service.query.count() == 3
|
|
||||||
auth_header = create_authorization_header(service_id=sample_admin_service_id,
|
|
||||||
path=url_for('user.get_service_by_user_id', user_id=user.id),
|
|
||||||
method='GET')
|
|
||||||
resp = client.get(
|
|
||||||
url_for('user.get_service_by_user_id', user_id=user.id),
|
|
||||||
headers=[('Content-Type', 'application/json'), auth_header])
|
|
||||||
assert resp.status_code == 200
|
|
||||||
json_resp = json.loads(resp.get_data(as_text=True))
|
|
||||||
assert len(json_resp['data']) == 2
|
|
||||||
|
|
||||||
|
|
||||||
def test_get_user_service(notify_api, notify_db, notify_db_session, sample_service, sample_admin_service_id):
|
|
||||||
"""
|
|
||||||
Tests GET endpoint "/<user_id>/service/<service_id>" to retrieve a service for a user.
|
|
||||||
"""
|
|
||||||
with notify_api.test_request_context():
|
|
||||||
with notify_api.test_client() as client:
|
|
||||||
user = User.query.first()
|
|
||||||
another_name = "another name"
|
|
||||||
another_service = create_sample_service(
|
|
||||||
notify_db,
|
|
||||||
notify_db_session,
|
|
||||||
service_name=another_name,
|
|
||||||
user=user)
|
|
||||||
assert Service.query.count() == 3
|
|
||||||
auth_header = create_authorization_header(service_id=sample_admin_service_id,
|
|
||||||
path=url_for('user.get_service_by_user_id', user_id=user.id,
|
|
||||||
service_id=another_service.id),
|
|
||||||
method='GET')
|
|
||||||
resp = client.get(
|
|
||||||
url_for('user.get_service_by_user_id', user_id=user.id, service_id=another_service.id),
|
|
||||||
headers=[('Content-Type', 'application/json'), auth_header])
|
|
||||||
assert resp.status_code == 200
|
|
||||||
json_resp = json.loads(resp.get_data(as_text=True))
|
|
||||||
assert json_resp['data']['name'] == another_name
|
|
||||||
assert json_resp['data']['id'] == str(another_service.id)
|
|
||||||
|
|
||||||
|
|
||||||
def test_get_user_service_user_not_exists(notify_api, sample_service, sample_admin_service_id):
|
|
||||||
"""
|
|
||||||
Tests GET endpoint "/<user_id>/service/<service_id>" 404 is returned for invalid user.
|
|
||||||
"""
|
|
||||||
with notify_api.test_request_context():
|
|
||||||
with notify_api.test_client() as client:
|
|
||||||
assert Service.query.count() == 2
|
|
||||||
auth_header = create_authorization_header(service_id=sample_admin_service_id,
|
|
||||||
path=url_for('user.get_service_by_user_id', user_id="123423",
|
|
||||||
service_id=sample_service.id),
|
|
||||||
method='GET')
|
|
||||||
resp = client.get(
|
|
||||||
url_for('user.get_service_by_user_id', user_id="123423", service_id=sample_service.id),
|
|
||||||
headers=[('Content-Type', 'application/json'), auth_header])
|
|
||||||
assert resp.status_code == 404
|
|
||||||
json_resp = json.loads(resp.get_data(as_text=True))
|
|
||||||
assert json_resp == {'error': 'No result found'}
|
|
||||||
|
|
||||||
|
|
||||||
def test_get_user_service_service_not_exists(notify_api, sample_service):
|
|
||||||
"""
|
|
||||||
Tests GET endpoint "/<user_id>/service/<service_id>" 404 is returned for invalid service.
|
|
||||||
"""
|
|
||||||
with notify_api.test_request_context():
|
|
||||||
with notify_api.test_client() as client:
|
|
||||||
user = User.query.first()
|
|
||||||
assert Service.query.count() == 1
|
|
||||||
import uuid
|
|
||||||
missing_service_id = uuid.uuid4()
|
|
||||||
auth_header = create_authorization_header(path=url_for('user.get_service_by_user_id', user_id=user.id,
|
|
||||||
service_id=missing_service_id),
|
|
||||||
method='GET')
|
|
||||||
resp = client.get(
|
|
||||||
url_for('user.get_service_by_user_id', user_id=user.id, service_id=missing_service_id),
|
|
||||||
headers=[('Content-Type', 'application/json'), auth_header])
|
|
||||||
assert resp.status_code == 404
|
|
||||||
json_resp = json.loads(resp.get_data(as_text=True))
|
|
||||||
assert json_resp == {'error': 'No result found'}
|
|
||||||
|
|
||||||
|
|
||||||
def test_delete_user(notify_api, sample_user, sample_admin_service_id):
|
|
||||||
"""
|
|
||||||
Tests DELETE endpoint '/<user_id>' delete user.
|
|
||||||
"""
|
|
||||||
with notify_api.test_request_context():
|
|
||||||
with notify_api.test_client() as client:
|
|
||||||
assert User.query.count() == 2
|
|
||||||
auth_header = create_authorization_header(service_id=sample_admin_service_id,
|
|
||||||
path=url_for('user.update_user', user_id=sample_user.id),
|
|
||||||
method='DELETE')
|
|
||||||
resp = client.delete(
|
|
||||||
url_for('user.update_user', user_id=sample_user.id),
|
|
||||||
headers=[('Content-Type', 'application/json'), auth_header])
|
|
||||||
assert resp.status_code == 202
|
|
||||||
json_resp = json.loads(resp.get_data(as_text=True))
|
|
||||||
assert User.query.count() == 1
|
|
||||||
expected = {
|
|
||||||
"name": "Test User",
|
|
||||||
"email_address": sample_user.email_address,
|
|
||||||
"mobile_number": "+447700900986",
|
|
||||||
"password_changed_at": None,
|
|
||||||
"id": sample_user.id,
|
|
||||||
"logged_in_at": None,
|
|
||||||
"state": "active",
|
|
||||||
"failed_login_count": 0,
|
|
||||||
"permissions": []
|
|
||||||
|
|
||||||
}
|
|
||||||
assert json_resp['data'] == expected
|
|
||||||
|
|
||||||
|
|
||||||
def test_delete_user_not_exists(notify_api, notify_db, notify_db_session, sample_user, sample_admin_service_id):
|
|
||||||
"""
|
|
||||||
Tests DELETE endpoint '/<user_id>' delete user.
|
|
||||||
"""
|
|
||||||
with notify_api.test_request_context():
|
|
||||||
with notify_api.test_client() as client:
|
|
||||||
assert User.query.count() == 2
|
|
||||||
auth_header = create_authorization_header(service_id=sample_admin_service_id,
|
|
||||||
path=url_for('user.update_user', user_id='99999'),
|
|
||||||
method='DELETE')
|
|
||||||
resp = client.delete(
|
|
||||||
url_for('user.update_user', user_id="99999"),
|
|
||||||
headers=[('Content-Type', 'application/json'), auth_header])
|
|
||||||
assert resp.status_code == 404
|
|
||||||
assert User.query.count() == 2
|
|
||||||
json_resp = json.loads(resp.get_data(as_text=True))
|
|
||||||
assert json_resp == {'error': 'No result found'}
|
|
||||||
|
|
||||||
|
|
||||||
def test_post_with_permissions(notify_api, notify_db, notify_db_session, sample_admin_service_id):
|
def test_post_with_permissions(notify_api, notify_db, notify_db_session, sample_admin_service_id):
|
||||||
"""
|
"""
|
||||||
Tests POST endpoint '/' to create a user with permissions.
|
Tests POST endpoint '/' to create a user with permissions.
|
||||||
|
|||||||
@@ -406,7 +406,7 @@ def test_send_sms_code_returns_404_for_bad_input_data(notify_api, notify_db, not
|
|||||||
data=data,
|
data=data,
|
||||||
headers=[('Content-Type', 'application/json'), auth_header])
|
headers=[('Content-Type', 'application/json'), auth_header])
|
||||||
assert resp.status_code == 404
|
assert resp.status_code == 404
|
||||||
assert json.loads(resp.get_data(as_text=True))['error'] == 'No result found'
|
assert json.loads(resp.get_data(as_text=True))['message'] == 'No user found'
|
||||||
|
|
||||||
|
|
||||||
def test_send_user_email_code(notify_api,
|
def test_send_user_email_code(notify_api,
|
||||||
@@ -449,4 +449,4 @@ def test_send_user_email_code_returns_404_for_when_user_does_not_exist(notify_ap
|
|||||||
data=data,
|
data=data,
|
||||||
headers=[('Content-Type', 'application/json'), auth_header])
|
headers=[('Content-Type', 'application/json'), auth_header])
|
||||||
assert resp.status_code == 404
|
assert resp.status_code == 404
|
||||||
assert json.loads(resp.get_data(as_text=True))['error'] == 'No result found'
|
assert json.loads(resp.get_data(as_text=True))['message'] == 'No user found'
|
||||||
|
|||||||
Reference in New Issue
Block a user