Coverage report: 66%

Files Functions Classes

coverage.py v7.15.4, created at 2026-08-26 00:58 +0800

File   statements missing excluded   coverage
src/lexigram/auth/__init__.py   18 1 20   94%
src/lexigram/auth/admin/__init__.py   4 0 0   100%
src/lexigram/auth/admin/contributor.py   50 9 2   82%
src/lexigram/auth/admin/handlers/__init__.py   5 0 0   100%
src/lexigram/auth/admin/handlers/active_sessions.py   21 1 0   95%
src/lexigram/auth/admin/handlers/failed_logins.py   19 0 0   100%
src/lexigram/auth/admin/handlers/token_refresh_rate.py   18 0 0   100%
src/lexigram/auth/admin/pages/__init__.py   6 6 0   0%
src/lexigram/auth/admin/pages/overview.py   28 28 0   0%
src/lexigram/auth/admin/pages/sessions.py   23 23 0   0%
src/lexigram/auth/admin/pages/tokens.py   21 21 0   0%
src/lexigram/auth/admin/pages/users.py   22 22 0   0%
src/lexigram/auth/authn/__init__.py   17 0 0   100%
src/lexigram/auth/authn/_binding.py   26 15 0   42%
src/lexigram/auth/authn/_jwt_creation.py   51 6 7   88%
src/lexigram/auth/authn/_jwt_lifecycle.py   153 25 26   84%
src/lexigram/auth/authn/_key_utils.py   22 4 0   82%
src/lexigram/auth/authn/account_verification.py   67 19 3   72%
src/lexigram/auth/authn/api_key.py   50 0 2   100%
src/lexigram/auth/authn/apikeys.py   53 2 0   96%
src/lexigram/auth/authn/blacklist.py   84 11 5   87%
src/lexigram/auth/authn/core.py   3 0 0   100%
src/lexigram/auth/authn/google_oauth.py   137 48 2   65%
src/lexigram/auth/authn/jwt.py   92 11 8   88%
src/lexigram/auth/authn/key_rotation.py   50 4 0   92%
src/lexigram/auth/authn/ldap.py   189 189 0   0%
src/lexigram/auth/authn/mfa.py   61 2 2   97%
src/lexigram/auth/authn/oauth2.py   148 19 3   87%
src/lexigram/auth/authn/oauth2_session.py   79 38 2   52%
src/lexigram/auth/authn/passkeys.py   152 22 3   86%
src/lexigram/auth/authn/password_hasher.py   87 27 2   69%
src/lexigram/auth/authn/password_reset.py   61 36 2   41%
src/lexigram/auth/authn/relay.py   54 2 0   96%
src/lexigram/auth/authn/revocation.py   32 32 2   0%
src/lexigram/auth/authn/saml.py   148 148 3   0%
src/lexigram/auth/authn/schemas/__init__.py   5 0 0   100%
src/lexigram/auth/authn/schemas/requests.py   49 4 0   92%
src/lexigram/auth/authn/schemas/responses.py   12 0 0   100%
src/lexigram/auth/authn/schemas/user.py   20 0 0   100%
src/lexigram/auth/authn/security.py   146 28 2   81%
src/lexigram/auth/authn/services.py   176 29 11   84%
src/lexigram/auth/authn/user_service.py   135 60 2   56%
src/lexigram/auth/authz/__init__.py   12 4 0   67%
src/lexigram/auth/authz/_check_mixin.py   208 162 3   22%
src/lexigram/auth/authz/_parsers.py   44 10 5   77%
src/lexigram/auth/authz/guards.py   77 2 5   97%
src/lexigram/auth/authz/scopes.py   39 0 0   100%
src/lexigram/auth/authz/service.py   116 74 2   36%
src/lexigram/auth/cli/__init__.py   0 0 0   100%
src/lexigram/auth/cli/checks.py   4 4 2   0%
src/lexigram/auth/cli/commands.py   24 24 0   0%
src/lexigram/auth/cli/contributor.py   23 23 0   0%
src/lexigram/auth/cli/doctor.py   8 8 0   0%
src/lexigram/auth/cli/generators/__init__.py   0 0 0   100%
src/lexigram/auth/cli/generators/auth_guard.py   7 7 0   0%
src/lexigram/auth/cli/generators/auth_policy.py   7 7 0   0%
src/lexigram/auth/cli/generators/guard.py   26 0 0   100%
src/lexigram/auth/cli/hooks.py   2 2 0   0%
src/lexigram/auth/cli/schema_setup.py   12 0 0   100%
src/lexigram/auth/cli/shell.py   5 5 2   0%
src/lexigram/auth/config.py   133 2 0   98%
src/lexigram/auth/constants.py   24 2 0   92%
src/lexigram/auth/decorators.py   34 34 1   0%
src/lexigram/auth/di/__init__.py   7 0 0   100%
src/lexigram/auth/di/bundle_provider.py   54 9 2   83%
src/lexigram/auth/di/provider.py   38 38 2   0%
src/lexigram/auth/di/sub_providers/__init__.py   11 0 0   100%
src/lexigram/auth/di/sub_providers/admin_provider.py   30 2 3   93%
src/lexigram/auth/di/sub_providers/authentication_provider.py   111 11 6   90%
src/lexigram/auth/di/sub_providers/authorization_provider.py   33 2 3   94%
src/lexigram/auth/di/sub_providers/google_oauth_provider.py   46 8 3   83%
src/lexigram/auth/di/sub_providers/mfa_provider.py   19 0 2   100%
src/lexigram/auth/di/sub_providers/oauth2_provider.py   36 16 4   56%
src/lexigram/auth/di/sub_providers/oauth_provider.py   4 1 0   75%
src/lexigram/auth/di/sub_providers/passkey_provider.py   19 4 2   79%
src/lexigram/auth/di/sub_providers/session_provider.py   29 2 3   93%
src/lexigram/auth/di/sub_providers/token_provider.py   72 17 3   76%
src/lexigram/auth/events.py   49 0 0   100%
src/lexigram/auth/exceptions.py   104 15 0   86%
src/lexigram/auth/hooks.py   23 0 0   100%
src/lexigram/auth/mfa/__init__.py   4 0 0   100%
src/lexigram/auth/mfa/hooks.py   16 0 0   100%
src/lexigram/auth/mfa/manager.py   64 4 2   94%
src/lexigram/auth/mfa/totp_vectors.py   31 31 0   0%
src/lexigram/auth/models/__init__.py   4 0 0   100%
src/lexigram/auth/models/apikey.py   22 3 0   86%
src/lexigram/auth/models/mfa.py   14 0 0   100%
src/lexigram/auth/models/session.py   38 10 0   74%
src/lexigram/auth/models/token.py   14 0 2   100%
src/lexigram/auth/models/user.py   59 14 0   76%
src/lexigram/auth/module.py   21 3 0   86%
src/lexigram/auth/policies/__init__.py   7 0 0   100%
src/lexigram/auth/policies/engine.py   154 37 7   76%
src/lexigram/auth/policies/evaluator.py   104 20 6   81%
src/lexigram/auth/policies/in_memory_store.py   26 14 2   46%
src/lexigram/auth/policies/store.py   15 0 20   100%
src/lexigram/auth/policies/types.py   39 0 0   100%
src/lexigram/auth/protocols.py   9 9 10   0%
src/lexigram/auth/services/__init__.py   4 0 0   100%
src/lexigram/auth/services/activity_tracker.py   43 2 0   95%
src/lexigram/auth/services/result_pattern_service.py   80 33 4   59%
src/lexigram/auth/session/__init__.py   5 0 0   100%
src/lexigram/auth/session/cookie_backend.py   49 0 1   100%
src/lexigram/auth/session/fingerprint.py   8 0 0   100%
src/lexigram/auth/session/hooks.py   20 0 0   100%
src/lexigram/auth/session/manager.py   98 16 0   84%
src/lexigram/auth/storage/__init__.py   7 0 0   100%
src/lexigram/auth/storage/_mongo_store.py   76 9 2   88%
src/lexigram/auth/storage/_sql_store.py   108 35 2   68%
src/lexigram/auth/storage/apikey_sql.py   26 13 2   50%
src/lexigram/auth/storage/cached_user_store.py   122 33 4   73%
src/lexigram/auth/storage/db_stores.py   95 70 2   26%
src/lexigram/auth/storage/in_memory_stores.py   43 17 2   60%
src/lexigram/auth/storage/oauth_identity_store/__init__.py   7 0 0   100%
src/lexigram/auth/storage/oauth_identity_store/_mongodb.py   81 60 2   26%
src/lexigram/auth/storage/oauth_identity_store/_protocol.py   19 5 15   74%
src/lexigram/auth/storage/oauth_identity_store/_sqlalchemy.py   98 66 2   33%
src/lexigram/auth/storage/session_store.py   16 0 22   100%
src/lexigram/auth/storage/token_store.py   77 9 28   88%
src/lexigram/auth/types.py   67 1 2   99%
src/lexigram/auth/web/__init__.py   5 0 0   100%
src/lexigram/auth/web/guards.py   183 107 3   42%
src/lexigram/auth/web/middleware/__init__.py   3 0 0   100%
src/lexigram/auth/web/middleware/api_key_authenticator.py   21 11 0   48%
src/lexigram/auth/web/middleware/auth.py   198 130 6   34%
src/lexigram/auth/web/middleware/jwt_authenticator.py   38 8 0   79%
src/lexigram/auth/web/middleware/response_handler.py   29 19 0   34%
src/lexigram/auth/web/middleware/session_authenticator.py   21 10 0   52%
src/lexigram/auth/web/middleware/session_validator.py   17 8 2   53%
src/lexigram/auth/web/middleware/throttle.py   77 16 3   79%
src/lexigram/auth/web/middleware/token_cache.py   74 25 2   66%
src/lexigram/auth/web/middleware/token_extractor.py   33 16 2   52%
Total   6573 2251 319   66%

No items found using the specified filter.