Update test_activities.py to change assertions for mock_postgres_close and mock_mongodb_close from assert_called_once to assert_called, allowing for more flexible verification of calls during shutdown tests.
138 lines
4.1 KiB
Python
138 lines
4.1 KiB
Python
from unittest.mock import patch, MagicMock, ANY
|
|
from pytest import mark
|
|
from sientia_do.temporal.activities.postgres import Postgres
|
|
from scouter.activities.activities import Activities
|
|
from scouter.activities.mongodb import MongoDB
|
|
from scouter.activities.redis import Redis
|
|
from scouter.activities.gates import Gates
|
|
|
|
|
|
@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()
|