Update .gitignore and refactor metrics.py, activities.py, and gates.py for improved clarity and consistency. Added coverage.xml and cache directories to .gitignore. Standardized string formatting and parameter handling in metrics and activities classes, enhancing code readability. Removed the deprecated faker.py file and adjusted related tests accordingly.
132 lines
4.0 KiB
Python
132 lines
4.0 KiB
Python
from unittest.mock import ANY, MagicMock, patch
|
|
|
|
from sientia_do.temporal.activities.postgres import Postgres
|
|
|
|
from scouter.activities.activities import Activities
|
|
from scouter.activities.gates import Gates
|
|
from scouter.activities.mongodb import MongoDB
|
|
from scouter.activities.redis import Redis
|
|
|
|
|
|
@patch('scouter.activities.activities.MongoDB.__init__')
|
|
@patch('scouter.activities.activities.Postgres.__init__')
|
|
@patch('scouter.activities.activities.Redis.__init__')
|
|
@patch('scouter.activities.activities.Gates.__init__')
|
|
def test___init__(mock_gates_init, mock_redis_init, mock_postgres_init, mock_mongodb_init):
|
|
postgres_config = {
|
|
'host': 'localhost',
|
|
'port': 5432,
|
|
'user': 'postgres',
|
|
'password': 'postgres',
|
|
'dbname': 'postgres',
|
|
'min_connections': 1,
|
|
'max_connections': 10,
|
|
}
|
|
|
|
redis_config = {'host': 'localhost', 'port': 6379, 'username': 'redis', 'password': 'redis'}
|
|
|
|
mongodb_config = {
|
|
'connection_string': 'mongodb://localhost:27017',
|
|
'database_name': 'test_database',
|
|
}
|
|
|
|
logger = MagicMock()
|
|
notification_handler = MagicMock()
|
|
|
|
activities = Activities(
|
|
postgres_config=postgres_config,
|
|
redis_config=redis_config,
|
|
mongodb_config=mongodb_config,
|
|
logger=logger,
|
|
notification_handler=notification_handler,
|
|
)
|
|
|
|
assert isinstance(activities, Activities)
|
|
assert isinstance(activities, Postgres)
|
|
assert isinstance(activities, Redis)
|
|
assert isinstance(activities, MongoDB)
|
|
assert isinstance(activities, Gates)
|
|
|
|
mock_postgres_init.assert_called_once_with(
|
|
ANY,
|
|
host=postgres_config['host'],
|
|
port=postgres_config['port'],
|
|
user=postgres_config['user'],
|
|
password=postgres_config['password'],
|
|
dbname=postgres_config['dbname'],
|
|
min_connections=postgres_config['min_connections'],
|
|
max_connections=postgres_config['max_connections'],
|
|
logger=logger,
|
|
notification_handler=notification_handler,
|
|
)
|
|
|
|
mock_redis_init.assert_called_once_with(
|
|
ANY,
|
|
host=redis_config['host'],
|
|
port=redis_config['port'],
|
|
username=redis_config['username'],
|
|
password=redis_config['password'],
|
|
logger=logger,
|
|
notification_handler=notification_handler,
|
|
)
|
|
|
|
mock_mongodb_init.assert_called_once_with(
|
|
ANY,
|
|
connection_string=mongodb_config['connection_string'],
|
|
database_name=mongodb_config['database_name'],
|
|
logger=logger,
|
|
notification_handler=notification_handler,
|
|
)
|
|
|
|
mock_gates_init.assert_called_once_with(
|
|
ANY, logger=logger, notification_handler=notification_handler
|
|
)
|
|
|
|
|
|
@patch('scouter.activities.activities.Postgres.__init__')
|
|
@patch('scouter.activities.activities.Redis.__init__')
|
|
@patch('scouter.activities.activities.Gates.__init__')
|
|
@patch('scouter.activities.activities.MongoDB.__init__')
|
|
@patch('scouter.activities.activities.Postgres.close')
|
|
@patch('scouter.activities.activities.MongoDB.shutdown')
|
|
def test_shutdown(
|
|
mock_mongodb_close,
|
|
mock_postgres_close,
|
|
_mock_mongodb_init,
|
|
_mock_gates_init,
|
|
_mock_redis_init,
|
|
_mock_postgres_init,
|
|
):
|
|
postgres_config = {
|
|
'host': 'localhost',
|
|
'port': 5432,
|
|
'user': 'postgres',
|
|
'password': 'postgres',
|
|
'dbname': 'postgres',
|
|
'min_connections': 1,
|
|
'max_connections': 10,
|
|
}
|
|
|
|
redis_config = {'host': 'localhost', 'port': 6379, 'username': 'redis', 'password': 'redis'}
|
|
|
|
mongodb_config = {
|
|
'connection_string': 'mongodb://localhost:27017',
|
|
'database_name': 'test_database',
|
|
}
|
|
|
|
logger = MagicMock()
|
|
notification_handler = MagicMock()
|
|
|
|
activities = Activities(
|
|
postgres_config=postgres_config,
|
|
redis_config=redis_config,
|
|
mongodb_config=mongodb_config,
|
|
logger=logger,
|
|
notification_handler=notification_handler,
|
|
)
|
|
|
|
activities.shutdown()
|
|
|
|
mock_postgres_close.assert_called()
|
|
mock_mongodb_close.assert_called()
|