forked from MemoriLabs/Memori
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconftest.py
More file actions
51 lines (36 loc) · 1.42 KB
/
conftest.py
File metadata and controls
51 lines (36 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import pytest
from memori._config import Config
from memori.storage import Manager as StorageManager
@pytest.fixture
def mock_mysql_session(mocker):
session = mocker.MagicMock()
session.get_bind.return_value.dialect.name = "mysql"
type(session).__module__ = "sqlalchemy.orm.session"
mock_result = mocker.MagicMock()
mock_result.mappings.return_value.fetchone.return_value = {"1": 1}
mock_result.mappings.return_value.fetchall.return_value = []
session.connection.return_value.exec_driver_sql.return_value = mock_result
return session
@pytest.fixture
def mock_postgres_session(mocker):
session = mocker.MagicMock()
session.get_bind.return_value.dialect.name = "postgresql"
type(session).__module__ = "sqlalchemy.orm.session"
mock_result = mocker.MagicMock()
mock_result.mappings.return_value.fetchone.return_value = {"one": 1}
mock_result.mappings.return_value.fetchall.return_value = []
session.connection.return_value.exec_driver_sql.return_value = mock_result
return session
@pytest.fixture
def session(mock_mysql_session):
return mock_mysql_session
@pytest.fixture
def postgres_session(mock_postgres_session):
return mock_postgres_session
@pytest.fixture
def config(mocker, session):
config = Config()
config.storage = StorageManager(config)
config.storage.adapter = mocker.MagicMock()
config.storage.driver = mocker.MagicMock()
return config