1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #!/usr/bin/env python3
- import pytest
- from starlette.authentication import UnauthenticatedUser
- from starlette.testclient import TestClient
- from unittest.mock import patch, MagicMock
- from pprint import pprint
- import json
- from tempfile import mkstemp
- from configparser import ConfigParser
- import os
- import sys
-
- from pyheatpump.conf import config
- from pyheatpump.db import initialize, connect
- from pyheatpump.variables import app, get_variables, set_variables, ROUTES
-
- @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)
-
- yield
-
- os.unlink(tmpdb)
-
-
- def test_get_(set_test_db):
- c = TestClient(app)
- r = c.get('/')
- assert r.status_code == 200
-
- d_resp = json.loads(r.content.decode())
- assert 'A' in d_resp.keys()
- assert 10 in d_resp['A']
- assert len(d_resp['A']) == 4
- assert len(d_resp['I']) == 4
- assert len(d_resp['D']) == 4
-
-
- @pytest.mark.skip
- def test_set_(set_test_db):
- c = TestClient(app)
- r = c.post('/')
- assert r.status_code == 200
|