12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import os
- import pytest
- from click.testing import CliRunner
- from unittest.mock import patch
- from tempfile import mkstemp
-
- from pyheatpump.cli import cli
- from pyheatpump.conf import config
- from pyheatpump.db import initialize, connect
- from pyheatpump.models import VariableValue
-
- @pytest.fixture(scope='module')
- def set_test_db():
- _, tmpdb = mkstemp(suffix='.db', dir=os.getcwd(), )
- print(f'Will store database in {tmpdb}')
- config['heatpump']['database'] = tmpdb
- if not initialize(os.path.join(os.getcwd(), 'db/pyheatpump.sql')):
- sys.exit(-1)
-
- if not initialize(os.path.join(os.getcwd(), 'db/test_variables.sql')):
- sys.exit(-1)
-
- if not initialize(os.path.join(os.getcwd(), 'db/test_variable_values.sql')):
- sys.exit(-1)
-
- yield
-
- os.unlink(tmpdb)
-
- @pytest.fixture
- def runner():
- return CliRunner()
-
- @patch('pyheatpump.models.VariableValue.insert')
- def test_mock_variable_value(VariableValueInsert, set_test_db, runner):
- res = runner.invoke(cli, 'fetch')
- try:
- assert res.exit_code == 0
- VariableValueInsert.assert_called()
-
- except Exception as e:
- print(res.output)
- raise e
|