# Standard library imports import os import unittest # PyQt imports # Third party imports import pytest # App imports # Set up test database before importing db # Mark subsequent lines to ignore E402, imports not at top of file # Set up test database before importing db # Mark subsequent lines to ignore E402, imports not at top of file DB_FILE = "/tmp/mm.db" if os.path.exists(DB_FILE): os.unlink(DB_FILE) os.environ["ALCHEMICAL_DATABASE_URI"] = "sqlite:///" + DB_FILE from models import db, Settings # noqa: E402 class TestMMMisc(unittest.TestCase): def setUp(self): db.create_all() def tearDown(self): db.drop_all() def test_log_exception(self): """Test deliberate exception""" with pytest.raises(Exception): 1 / 0 def test_create_settings(self): SETTING_NAME = "wombat" NO_SUCH_SETTING = "abc" VALUE = 3 with db.Session() as session: setting = Settings(session, SETTING_NAME) # test repr _ = str(setting) setting.update(session, dict(f_int=VALUE)) _ = Settings.all_as_dict(session) test = Settings.get_int_settings(session, SETTING_NAME) assert test.name == SETTING_NAME assert test.f_int == VALUE test_new = Settings.get_int_settings(session, NO_SUCH_SETTING) assert test_new.name == NO_SUCH_SETTING