"""Test lambda app.""" import jwt import pytest from src import app as index @pytest.fixture def py_jwk_client(mocker): """Mock PyJWKClient.""" return mocker.patch('src.app.jwt.PyJWKClient') @pytest.fixture def py_jwt_decode_success(mocker): """Mock jwt.decode.""" return mocker.patch('src.app.jwt.decode') @pytest.fixture def py_jwt_decode_failure(mocker): """Mock jwt.decode.""" return mocker.patch('jwt.decode', side_effect=jwt.exceptions.PyJWTError('JWT decoding error')) def test_handler_allow(event, py_jwk_client, py_jwt_decode_success, allow_response): """Test handler for allowed request.""" result = index.handler(event, None) assert result == allow_response def test_handler_deny(event, py_jwk_client, py_jwt_decode_failure, deny_response): """Test handler for denied request.""" result = index.handler(event, None) assert result == deny_response def test_handler_failure(event_missing_token): """Test handler for denied request.""" result = index.handler(event_missing_token, None) assert result == 'unauthorized'