| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- """Test PyJWT import paths to catch changes in library structure."""
-
- import pytest
-
-
- class TestPyJWTImports:
- """Test PyJWT import paths used throughout the codebase."""
-
- def test_invalid_token_error_import(self):
- """Test that InvalidTokenError can be imported as used in login controller."""
- # This test verifies the import path used in controllers/web/login.py:2
- # If PyJWT changes this import path, this test will fail early
- try:
- from jwt import InvalidTokenError
-
- # Verify it's the correct exception class
- assert issubclass(InvalidTokenError, Exception)
-
- # Test that it can be instantiated
- error = InvalidTokenError("test error")
- assert str(error) == "test error"
-
- except ImportError as e:
- pytest.fail(f"Failed to import InvalidTokenError from jwt: {e}")
-
- def test_jwt_exceptions_import(self):
- """Test that jwt.exceptions imports work as expected."""
- # Alternative import path that might be used
- try:
- # Verify it's the same class as the direct import
- from jwt import InvalidTokenError
- from jwt.exceptions import InvalidTokenError as InvalidTokenErrorAlt
-
- assert InvalidTokenError is InvalidTokenErrorAlt
-
- except ImportError as e:
- pytest.fail(f"Failed to import InvalidTokenError from jwt.exceptions: {e}")
-
- def test_other_jwt_exceptions_available(self):
- """Test that other common JWT exceptions are available."""
- # Test other exceptions that might be used in the codebase
- try:
- from jwt import DecodeError, ExpiredSignatureError, InvalidSignatureError
-
- # Verify they are exception classes
- assert issubclass(DecodeError, Exception)
- assert issubclass(ExpiredSignatureError, Exception)
- assert issubclass(InvalidSignatureError, Exception)
-
- except ImportError as e:
- pytest.fail(f"Failed to import JWT exceptions: {e}")
-
- def test_jwt_main_functions_available(self):
- """Test that main JWT functions are available."""
- try:
- from jwt import decode, encode
-
- # Verify they are callable
- assert callable(decode)
- assert callable(encode)
-
- except ImportError as e:
- pytest.fail(f"Failed to import JWT main functions: {e}")
|