From e9e57e3c43f81c29da594c34c67a15d3c9afb85e Mon Sep 17 00:00:00 2001 From: "techwithdunamix@gmail.com" Date: Wed, 1 Apr 2026 20:19:10 +0100 Subject: [PATCH] refactor(redis): simplify get_redis --- nexios_contrib/redis/__init__.py | 17 +++++++++-------- nexios_contrib/redis/dependency.py | 7 +------ tests/test_redis/test_redis_dependencies.py | 4 +--- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/nexios_contrib/redis/__init__.py b/nexios_contrib/redis/__init__.py index 1d1741a..dd0b878 100644 --- a/nexios_contrib/redis/__init__.py +++ b/nexios_contrib/redis/__init__.py @@ -3,6 +3,7 @@ This module provides Redis client initialization, dependency injection, """ + from __future__ import annotations import json @@ -16,7 +17,6 @@ from .config import RedisConfig - if TYPE_CHECKING: from nexios.dependencies import Context @@ -31,6 +31,7 @@ class RedisConnectionError(Exception): """Raised when there's an error connecting to Redis.""" + pass @@ -79,11 +80,7 @@ def init_redis( global _redis_client config = RedisConfig( - url=url, - db=db, - password=password, - decode_responses=decode_responses, - **kwargs + url=url, db=db, password=password, decode_responses=decode_responses, **kwargs ) _redis_client = RedisClient(config) @@ -113,8 +110,10 @@ async def _close_redis() -> None: app.on_startup(_init_redis) app.on_shutdown(_close_redis) + return _redis_client + -def get_redis(context: Optional["Context"] = None) -> RedisClient: +def get_redis() -> RedisClient: """ Get the Redis client instance from the current context. @@ -150,7 +149,9 @@ async def get_cached_data( """ global _redis_client if _redis_client is None: - raise RedisConnectionError("Redis client not initialized. Call init_redis() first.") + raise RedisConnectionError( + "Redis client not initialized. Call init_redis() first." + ) return _redis_client diff --git a/nexios_contrib/redis/dependency.py b/nexios_contrib/redis/dependency.py index dcecbac..edb5480 100644 --- a/nexios_contrib/redis/dependency.py +++ b/nexios_contrib/redis/dependency.py @@ -7,9 +7,7 @@ from __future__ import annotations -from typing import Any, Optional, Union from nexios.dependencies import Depend, Context -from nexios.http import Request from .client import RedisClient from . import get_redis @@ -44,7 +42,4 @@ async def get_cached_data( ``` """ - def _wrap(context: Context = Context()) -> RedisClient: - return get_redis(context) - - return Depend(_wrap) + return Depend(get_redis) diff --git a/tests/test_redis/test_redis_dependencies.py b/tests/test_redis/test_redis_dependencies.py index c802113..36d9092 100644 --- a/tests/test_redis/test_redis_dependencies.py +++ b/tests/test_redis/test_redis_dependencies.py @@ -58,10 +58,8 @@ def test_redis_depend_with_context(self, app_with_mock_redis, mock_redis): redis_dep = RedisDepend() # Create a mock context - context = Context() - # Call the dependency function - redis_client = redis_dep.dependency(context) + redis_client = redis_dep.dependency() assert redis_client is not None assert hasattr(redis_client, 'get')