Skip to content

Commit fb5cd64

Browse files
committed
test: enhance initialization tests for ServerClassificationService with auto-refresh interval setting
Signed-off-by: Lang-Akshay <akshay.shinde26@ibm.com>
1 parent a759e75 commit fb5cd64

1 file changed

Lines changed: 20 additions & 16 deletions

File tree

tests/unit/mcpgateway/services/test_server_classification_service.py

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,15 @@ class TestServerClassificationServiceInit:
3232

3333
def test_init_without_redis(self):
3434
"""Test service initialization without Redis."""
35-
service = ServerClassificationService(redis_client=None)
35+
with patch("mcpgateway.services.server_classification_service.settings") as mock_settings:
36+
mock_settings.gateway_auto_refresh_interval = 60
37+
service = ServerClassificationService(redis_client=None)
3638

37-
assert service._redis is None
38-
assert service._classification_task is None
39-
assert service._instance_id.startswith("classifier_")
40-
assert service._leader_ttl == 90
41-
assert service._running is False
39+
assert service._redis is None
40+
assert service._classification_task is None
41+
assert service._instance_id.startswith("classifier_")
42+
assert service._leader_ttl == 90
43+
assert service._running is False
4244

4345
def test_init_with_redis(self):
4446
"""Test service initialization with Redis."""
@@ -532,16 +534,18 @@ async def test_try_acquire_leader_lock_with_redis_success(self):
532534
mock_redis = AsyncMock()
533535
mock_redis.set = AsyncMock(return_value=True) # Lock acquired
534536

535-
service = ServerClassificationService(redis_client=mock_redis)
536-
is_leader = await service._try_acquire_leader_lock()
537-
538-
assert is_leader is True
539-
mock_redis.set.assert_awaited_once_with(
540-
ServerClassificationService.LEADER_KEY,
541-
service._instance_id,
542-
ex=90,
543-
nx=True, # Only if key doesn't exist
544-
)
537+
with patch("mcpgateway.services.server_classification_service.settings") as mock_settings:
538+
mock_settings.gateway_auto_refresh_interval = 60
539+
service = ServerClassificationService(redis_client=mock_redis)
540+
is_leader = await service._try_acquire_leader_lock()
541+
542+
assert is_leader is True
543+
mock_redis.set.assert_awaited_once_with(
544+
ServerClassificationService.LEADER_KEY,
545+
service._instance_id,
546+
ex=90,
547+
nx=True, # Only if key doesn't exist
548+
)
545549

546550
@pytest.mark.asyncio
547551
async def test_try_acquire_leader_lock_with_redis_contention(self):

0 commit comments

Comments
 (0)