feat: add app handler methods save_setting()
, delete_setting()
This commit is contained in:
parent
a5823a2202
commit
1c762e5767
2 changed files with 125 additions and 2 deletions
|
@ -97,6 +97,68 @@ class TestAppHandler(TestCase):
|
|||
value = self.app.get_setting(session, 'foo')
|
||||
self.assertEqual(value, 'bar')
|
||||
|
||||
def test_save_setting(self):
|
||||
try:
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy import orm
|
||||
except ImportError:
|
||||
pytest.skip("test is not relevant without sqlalchemy")
|
||||
|
||||
Session = orm.sessionmaker()
|
||||
engine = sa.create_engine('sqlite://')
|
||||
session = Session(bind=engine)
|
||||
session.execute(sa.text("""
|
||||
create table setting (
|
||||
name varchar(255) primary key,
|
||||
value text
|
||||
);
|
||||
"""))
|
||||
session.commit()
|
||||
|
||||
# value null by default
|
||||
value = self.app.get_setting(session, 'foo')
|
||||
self.assertIsNone(value)
|
||||
|
||||
# unless we save a value
|
||||
self.app.save_setting(session, 'foo', '1')
|
||||
session.commit()
|
||||
value = self.app.get_setting(session, 'foo')
|
||||
self.assertEqual(value, '1')
|
||||
|
||||
def test_delete_setting(self):
|
||||
try:
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy import orm
|
||||
except ImportError:
|
||||
pytest.skip("test is not relevant without sqlalchemy")
|
||||
|
||||
Session = orm.sessionmaker()
|
||||
engine = sa.create_engine('sqlite://')
|
||||
session = Session(bind=engine)
|
||||
session.execute(sa.text("""
|
||||
create table setting (
|
||||
name varchar(255) primary key,
|
||||
value text
|
||||
);
|
||||
"""))
|
||||
session.commit()
|
||||
|
||||
# value null by default
|
||||
value = self.app.get_setting(session, 'foo')
|
||||
self.assertIsNone(value)
|
||||
|
||||
# unless we save a value
|
||||
self.app.save_setting(session, 'foo', '1')
|
||||
session.commit()
|
||||
value = self.app.get_setting(session, 'foo')
|
||||
self.assertEqual(value, '1')
|
||||
|
||||
# but then if we delete it, should be null again
|
||||
self.app.delete_setting(session, 'foo')
|
||||
session.commit()
|
||||
value = self.app.get_setting(session, 'foo')
|
||||
self.assertIsNone(value)
|
||||
|
||||
def test_model(self):
|
||||
try:
|
||||
from wuttjamaican.db import model
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue