Skip to content

Commit

Permalink
adding link id validation
Browse files Browse the repository at this point in the history
  • Loading branch information
kylevillegas93 committed Aug 12, 2024
1 parent cad6c11 commit 4e5eb0f
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 0 deletions.
4 changes: 4 additions & 0 deletions api/blueprints/drbLink.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from flask import Blueprint, current_app, request
from ..db import DBClient
from ..utils import APIUtils
from ..validation_utils import is_valid_numeric_id
from logger import createLog

logger = createLog(__name__)
Expand All @@ -12,6 +13,9 @@ def get_link(link_id):
logger.info(f'Getting link with id {link_id}')
response_type = 'singleLink'

if not is_valid_numeric_id(link_id):
return APIUtils.formatResponseObject(400, response_type, { 'message': f'Link id {link_id} is invalid' })

try:
with DBClient(current_app.config['DB_CLIENT']) as db_client:
link = db_client.fetchSingleLink(link_id)
Expand Down
10 changes: 10 additions & 0 deletions tests/unit/test_api_link_blueprint.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,13 @@ def test_get_link_error(self, mock_utils, test_app, mocker):
mock_utils['formatResponseObject'].assert_called_once_with(
500, 'singleLink', { 'message': 'Unable to get link with id 1' }
)

def test_get_link_invalid_id_error(self, mock_utils, test_app):
with test_app.test_request_context('/'):
get_link('e2d0e0aa-aa72-42a0-88fb-1aeadbec2f67')

mock_utils['formatResponseObject'].assert_called_once_with(
400,
'singleLink',
{'message': 'Link id e2d0e0aa-aa72-42a0-88fb-1aeadbec2f67 is invalid'}
)

0 comments on commit 4e5eb0f

Please sign in to comment.