fix: allow config injection for sake of tests

per changes in wuttaweb, sideshow
This commit is contained in:
Lance Edgar 2025-07-06 14:09:11 -05:00
parent 198c3f77bb
commit bad6ded72d
4 changed files with 45 additions and 14 deletions

18
tests/test_config.py Normal file
View file

@ -0,0 +1,18 @@
# -*- coding: utf-8; -*-
from wuttjamaican.testing import ConfigTestCase
from sideshow_corepos import config as mod
class TestSideshowCoreposConfig(ConfigTestCase):
def test_basic(self):
self.assertIsNone(self.config.get('wutta.batch.neworder.handler.spec'))
ext = mod.SideshowCoreposConfig()
ext.configure(self.config)
self.assertEqual(self.config.get('wutta.batch.neworder.handler.spec'),
'sideshow_corepos.batch.neworder:NewOrderBatchHandler')

View file

@ -1,32 +1,44 @@
# -*- coding: utf-8; -*-
from wuttjamaican.testing import FileTestCase, ConfigTestCase
import sqlalchemy as sa
from wuttjamaican.testing import DataTestCase
from asgiref.wsgi import WsgiToAsgi
from pyramid.router import Router
from wutta_corepos.web.db import CoreOpSession
from sideshow_corepos.web import app as mod
class TestMain(FileTestCase):
class TestMain(DataTestCase):
def test_basic(self):
global_config = None
myconf = self.write_file('my.conf', '')
settings = {'wutta.config': myconf}
settings = {'wutta_config': self.config}
app = mod.main(global_config, **settings)
self.assertIsInstance(app, Router)
self.assertIsNone(CoreOpSession.session_factory.kw['bind'])
def test_corepos_engine(self):
engine = sa.create_engine('sqlite://')
self.config.core_office_op_engine = engine
settings = {'wutta_config': self.config}
app = mod.main(None, **settings)
self.assertIsInstance(app, Router)
self.assertIs(CoreOpSession.session_factory.kw['bind'], engine)
class TestMakeWsgiApp(ConfigTestCase):
class TestMakeWsgiApp(DataTestCase):
def test_basic(self):
wsgi = mod.make_wsgi_app()
wsgi = mod.make_wsgi_app(config=self.config)
self.assertIsInstance(wsgi, Router)
class TestMakeAsgiApp(ConfigTestCase):
class TestMakeAsgiApp(DataTestCase):
def test_basic(self):
asgi = mod.make_asgi_app()
asgi = mod.make_asgi_app(config=self.config)
self.assertIsInstance(asgi, WsgiToAsgi)