SIENTIAPDE-1094

Refactor Redis activity tests to improve initialization and assertion logic
This commit is contained in:
vitor-aignosi
2025-06-09 11:06:53 -03:00
parent 3759f10aec
commit b8beb0e151
2 changed files with 28 additions and 58 deletions

View File

@@ -141,9 +141,9 @@ async def test_prepare_activity(_mock_kafka_init,
await activities.prepare_activity(input_data) await activities.prepare_activity(input_data)
assert activities.notification_handler.base_notification.pipeline_name == input_data[ assert activities.notification_handler.base_notification.pipeline == input_data[
'workflow_name'] 'workflow_name']
assert activities.notification_handler.base_notification.schedule_name == input_data[ assert activities.notification_handler.base_notification.trigger == input_data[
'schedule_name'] 'schedule_name']
assert activities.notification_handler.base_notification.model_name == input_data[ assert activities.notification_handler.base_notification.model_name == input_data[
'model_name'] 'model_name']

View File

@@ -1,5 +1,4 @@
import json from unittest.mock import MagicMock, patch, ANY
from unittest.mock import MagicMock, patch
from datetime import datetime from datetime import datetime
import pytest import pytest
import numpy as np import numpy as np
@@ -9,65 +8,36 @@ from scouter.activities.redis import Redis
@pytest.fixture @pytest.fixture
@patch('scouter.activities.redis.redis.Redis') @patch('scouter.activities.redis.RedisBase.__init__')
def redis_activity(_mock_redis_client): def redis_activity(_mock_redis_init):
logger = MagicMock() logger = MagicMock()
notification_handler = MagicMock(spec=NotificationHandler) notification_handler = MagicMock(spec=NotificationHandler)
return Redis(host='localhost', port=6379, activity = Redis(host='localhost', port=6379,
logger=logger, notification_handler=notification_handler, logger=logger, notification_handler=notification_handler,
username='test', password='test') username='test', password='test')
activity.redis_client = MagicMock()
activity.logger = logger
activity.notification_handler = notification_handler
return activity
@patch('scouter.activities.redis.redis.Redis') @patch('scouter.activities.redis.RedisBase.__init__')
def test_redis_initialization(mock_redis_client): def test_redis_initialization(mock_redis_init):
"""Test Redis activity initialization""" """Test Redis activity initialization"""
redis_activity = Redis(host='localhost', port=6379, logger = MagicMock()
logger=MagicMock(), notification_handler=MagicMock(), notification_handler = MagicMock(spec=NotificationHandler)
username='test', password='test') Redis(host='localhost', port=6379,
assert redis_activity.host == 'localhost' logger=logger, notification_handler=notification_handler,
assert redis_activity.port == 6379 username='test', password='test')
assert redis_activity.username == 'test' mock_redis_init.assert_called_once_with(
assert redis_activity.password == 'test' ANY,
mock_redis_client.assert_called_once_with( 'localhost',
host='localhost', 6379,
port=6379, 'test',
decode_responses=True, 'test',
username='test', logger,
password='test' notification_handler
)
def test_get_existing_key(redis_activity):
"""Test getting an existing key from Redis"""
test_data = {'key': 'value'}
redis_activity.redis_client.get.return_value = json.dumps(test_data)
result = redis_activity.get('test_key')
assert result == test_data
redis_activity.redis_client.get.assert_called_once_with('test_key')
def test_get_nonexistent_key(redis_activity):
"""Test getting a non-existent key from Redis"""
redis_activity.redis_client.get.return_value = None
result = redis_activity.get('nonexistent_key')
assert result is None
redis_activity.redis_client.get.assert_called_once_with('nonexistent_key')
def test_set_key(redis_activity):
"""Test setting a key in Redis"""
test_data = {'key': 'value'}
redis_activity.set('test_key', test_data, ttl=300)
redis_activity.redis_client.set.assert_called_once_with(
'test_key',
json.dumps(test_data),
ex=300
) )