3
0
Fork 0

fix: format all code with black

and from now on should not deviate from that...
This commit is contained in:
Lance Edgar 2025-08-31 12:26:43 -05:00
parent 8a09fb1a3c
commit 4d0693862d
68 changed files with 6693 additions and 5659 deletions

View file

@ -19,9 +19,12 @@ class TestNewRequest(TestCase):
def setUp(self):
self.config = WuttaConfig()
self.request = self.make_request()
self.pyramid_config = testing.setUp(request=self.request, settings={
'wutta_config': self.config,
})
self.pyramid_config = testing.setUp(
request=self.request,
settings={
"wutta_config": self.config,
},
)
def tearDown(self):
testing.tearDown()
@ -35,15 +38,15 @@ class TestNewRequest(TestCase):
event = MagicMock(request=self.request)
# request gets a new attr
self.assertFalse(hasattr(self.request, 'wutta_config'))
self.assertFalse(hasattr(self.request, "wutta_config"))
subscribers.new_request(event)
self.assertTrue(hasattr(self.request, 'wutta_config'))
self.assertTrue(hasattr(self.request, "wutta_config"))
self.assertIs(self.request.wutta_config, self.config)
def test_use_oruga_default(self):
# request gets a new attr, false by default
self.assertFalse(hasattr(self.request, 'use_oruga'))
self.assertFalse(hasattr(self.request, "use_oruga"))
event = MagicMock(request=self.request)
subscribers.new_request(event)
self.assertFalse(self.request.use_oruga)
@ -51,17 +54,20 @@ class TestNewRequest(TestCase):
# nb. using 'butterfly' theme should cause the 'use_oruga'
# flag to be turned on by default
self.request = self.make_request()
self.request.registry.settings['wuttaweb.theme'] = 'butterfly'
self.request.registry.settings["wuttaweb.theme"] = "butterfly"
event = MagicMock(request=self.request)
subscribers.new_request(event)
self.assertTrue(self.request.use_oruga)
def test_use_oruga_custom(self):
self.config.setdefault('wuttaweb.oruga_detector.spec', 'tests.test_subscribers:custom_oruga_detector')
self.config.setdefault(
"wuttaweb.oruga_detector.spec",
"tests.test_subscribers:custom_oruga_detector",
)
event = MagicMock(request=self.request)
# request gets a new attr, which should be true
self.assertFalse(hasattr(self.request, 'use_oruga'))
self.assertFalse(hasattr(self.request, "use_oruga"))
subscribers.new_request(event)
self.assertTrue(self.request.use_oruga)
@ -70,20 +76,24 @@ class TestNewRequest(TestCase):
subscribers.new_request(event)
# component tracking dict is missing at first
self.assertFalse(hasattr(self.request, '_wuttaweb_registered_components'))
self.assertFalse(hasattr(self.request, "_wuttaweb_registered_components"))
# registering a component
self.request.register_component('foo-example', 'FooExample')
self.assertTrue(hasattr(self.request, '_wuttaweb_registered_components'))
self.request.register_component("foo-example", "FooExample")
self.assertTrue(hasattr(self.request, "_wuttaweb_registered_components"))
self.assertEqual(len(self.request._wuttaweb_registered_components), 1)
self.assertIn('foo-example', self.request._wuttaweb_registered_components)
self.assertEqual(self.request._wuttaweb_registered_components['foo-example'], 'FooExample')
self.assertIn("foo-example", self.request._wuttaweb_registered_components)
self.assertEqual(
self.request._wuttaweb_registered_components["foo-example"], "FooExample"
)
# re-registering same name
self.request.register_component('foo-example', 'FooExample')
self.request.register_component("foo-example", "FooExample")
self.assertEqual(len(self.request._wuttaweb_registered_components), 1)
self.assertIn('foo-example', self.request._wuttaweb_registered_components)
self.assertEqual(self.request._wuttaweb_registered_components['foo-example'], 'FooExample')
self.assertIn("foo-example", self.request._wuttaweb_registered_components)
self.assertEqual(
self.request._wuttaweb_registered_components["foo-example"], "FooExample"
)
def test_get_referrer(self):
event = MagicMock(request=self.request)
@ -91,33 +101,33 @@ class TestNewRequest(TestCase):
def home(request):
pass
self.pyramid_config.add_route('home', '/')
self.pyramid_config.add_view(home, route_name='home')
self.pyramid_config.add_route("home", "/")
self.pyramid_config.add_view(home, route_name="home")
self.assertFalse(hasattr(self.request, 'get_referrer'))
self.assertFalse(hasattr(self.request, "get_referrer"))
subscribers.new_request(event)
self.assertTrue(hasattr(self.request, 'get_referrer'))
self.assertTrue(hasattr(self.request, "get_referrer"))
# default if no referrer, is home route
url = self.request.get_referrer()
self.assertEqual(url, self.request.route_url('home'))
self.assertEqual(url, self.request.route_url("home"))
# can specify another default
url = self.request.get_referrer(default='https://wuttaproject.org')
self.assertEqual(url, 'https://wuttaproject.org')
url = self.request.get_referrer(default="https://wuttaproject.org")
self.assertEqual(url, "https://wuttaproject.org")
# or referrer can come from user session
self.request.session['referrer'] = 'https://rattailproject.org'
self.assertIn('referrer', self.request.session)
self.request.session["referrer"] = "https://rattailproject.org"
self.assertIn("referrer", self.request.session)
url = self.request.get_referrer()
self.assertEqual(url, 'https://rattailproject.org')
self.assertEqual(url, "https://rattailproject.org")
# nb. referrer should also have been removed from user session
self.assertNotIn('referrer', self.request.session)
self.assertNotIn("referrer", self.request.session)
# or referrer can come from request params
self.request.params['referrer'] = 'https://kernel.org'
self.request.params["referrer"] = "https://kernel.org"
url = self.request.get_referrer()
self.assertEqual(url, 'https://kernel.org')
self.assertEqual(url, "https://kernel.org")
def custom_oruga_detector(request):
@ -127,30 +137,37 @@ def custom_oruga_detector(request):
class TestNewRequestSetUser(TestCase):
def setUp(self):
self.config = WuttaConfig(defaults={
'wutta.db.default.url': 'sqlite://',
})
self.config = WuttaConfig(
defaults={
"wutta.db.default.url": "sqlite://",
}
)
self.request = testing.DummyRequest(wutta_config=self.config)
self.pyramid_config = testing.setUp(request=self.request, settings={
'wutta_config': self.config,
})
self.pyramid_config = testing.setUp(
request=self.request,
settings={
"wutta_config": self.config,
},
)
self.app = self.config.get_app()
model = self.app.model
model.Base.metadata.create_all(bind=self.config.appdb_engine)
self.session = self.app.make_session()
self.user = model.User(username='barney')
self.user = model.User(username="barney")
self.session.add(self.user)
self.session.commit()
self.pyramid_config.set_security_policy(WuttaSecurityPolicy(db_session=self.session))
self.pyramid_config.set_security_policy(
WuttaSecurityPolicy(db_session=self.session)
)
def tearDown(self):
testing.tearDown()
def test_anonymous(self):
self.assertFalse(hasattr(self.request, 'user'))
self.assertFalse(hasattr(self.request, "user"))
event = MagicMock(request=self.request)
subscribers.new_request_set_user(event)
self.assertIsNone(self.request.user)
@ -167,8 +184,8 @@ class TestNewRequestSetUser(TestCase):
event = MagicMock(request=self.request)
# anonymous user
self.assertFalse(hasattr(self.request, 'user'))
self.assertFalse(hasattr(self.request, 'is_admin'))
self.assertFalse(hasattr(self.request, "user"))
self.assertFalse(hasattr(self.request, "is_admin"))
subscribers.new_request_set_user(event, db_session=self.session)
self.assertIsNone(self.request.user)
self.assertFalse(self.request.is_admin)
@ -198,8 +215,8 @@ class TestNewRequestSetUser(TestCase):
event = MagicMock(request=self.request)
# anonymous user
self.assertFalse(hasattr(self.request, 'user'))
self.assertFalse(hasattr(self.request, 'is_root'))
self.assertFalse(hasattr(self.request, "user"))
self.assertFalse(hasattr(self.request, "is_root"))
subscribers.new_request_set_user(event, db_session=self.session)
self.assertIsNone(self.request.user)
self.assertFalse(self.request.is_root)
@ -233,7 +250,7 @@ class TestNewRequestSetUser(TestCase):
del self.request.is_root
# root status flag lives in user session
self.request.session['is_root'] = True
self.request.session["is_root"] = True
subscribers.new_request_set_user(event, db_session=self.session)
self.assertTrue(self.request.is_admin)
self.assertTrue(self.request.is_root)
@ -244,7 +261,7 @@ class TestNewRequestSetUser(TestCase):
event = MagicMock(request=self.request)
# anonymous user
self.assertFalse(hasattr(self.request, 'user_permissions'))
self.assertFalse(hasattr(self.request, "user_permissions"))
subscribers.new_request_set_user(event, db_session=self.session)
self.assertEqual(self.request.user_permissions, set())
@ -254,14 +271,14 @@ class TestNewRequestSetUser(TestCase):
# add user to role with perms
blokes = model.Role(name="Blokes")
self.session.add(blokes)
auth.grant_permission(blokes, 'appinfo.list')
auth.grant_permission(blokes, "appinfo.list")
self.user.roles.append(blokes)
self.session.commit()
# authenticated user, with perms
self.request.user = self.user
subscribers.new_request_set_user(event, db_session=self.session)
self.assertEqual(self.request.user_permissions, {'appinfo.list'})
self.assertEqual(self.request.user_permissions, {"appinfo.list"})
def test_has_perm(self):
model = self.app.model
@ -269,9 +286,9 @@ class TestNewRequestSetUser(TestCase):
event = MagicMock(request=self.request)
# anonymous user
self.assertFalse(hasattr(self.request, 'has_perm'))
self.assertFalse(hasattr(self.request, "has_perm"))
subscribers.new_request_set_user(event, db_session=self.session)
self.assertFalse(self.request.has_perm('appinfo.list'))
self.assertFalse(self.request.has_perm("appinfo.list"))
# reset
del self.request.user_permissions
@ -281,14 +298,14 @@ class TestNewRequestSetUser(TestCase):
# add user to role with perms
blokes = model.Role(name="Blokes")
self.session.add(blokes)
auth.grant_permission(blokes, 'appinfo.list')
auth.grant_permission(blokes, "appinfo.list")
self.user.roles.append(blokes)
self.session.commit()
# authenticated user, with perms
self.request.user = self.user
subscribers.new_request_set_user(event, db_session=self.session)
self.assertTrue(self.request.has_perm('appinfo.list'))
self.assertTrue(self.request.has_perm("appinfo.list"))
# reset
del self.request.user_permissions
@ -299,7 +316,7 @@ class TestNewRequestSetUser(TestCase):
self.user.roles.remove(blokes)
self.session.commit()
subscribers.new_request_set_user(event, db_session=self.session)
self.assertFalse(self.request.has_perm('appinfo.list'))
self.assertFalse(self.request.has_perm("appinfo.list"))
# reset
del self.request.user_permissions
@ -312,9 +329,9 @@ class TestNewRequestSetUser(TestCase):
admin = auth.get_role_administrator(self.session)
self.user.roles.append(admin)
self.session.commit()
self.request.session['is_root'] = True
self.request.session["is_root"] = True
subscribers.new_request_set_user(event, db_session=self.session)
self.assertTrue(self.request.has_perm('appinfo.list'))
self.assertTrue(self.request.has_perm("appinfo.list"))
def test_has_any_perm(self):
model = self.app.model
@ -322,9 +339,9 @@ class TestNewRequestSetUser(TestCase):
event = MagicMock(request=self.request)
# anonymous user
self.assertFalse(hasattr(self.request, 'has_any_perm'))
self.assertFalse(hasattr(self.request, "has_any_perm"))
subscribers.new_request_set_user(event, db_session=self.session)
self.assertFalse(self.request.has_any_perm('appinfo.list'))
self.assertFalse(self.request.has_any_perm("appinfo.list"))
# reset
del self.request.user_permissions
@ -334,14 +351,14 @@ class TestNewRequestSetUser(TestCase):
# add user to role with perms
blokes = model.Role(name="Blokes")
self.session.add(blokes)
auth.grant_permission(blokes, 'appinfo.list')
auth.grant_permission(blokes, "appinfo.list")
self.user.roles.append(blokes)
self.session.commit()
# authenticated user, with perms
self.request.user = self.user
subscribers.new_request_set_user(event, db_session=self.session)
self.assertTrue(self.request.has_any_perm('appinfo.list', 'appinfo.view'))
self.assertTrue(self.request.has_any_perm("appinfo.list", "appinfo.view"))
# reset
del self.request.user_permissions
@ -352,7 +369,7 @@ class TestNewRequestSetUser(TestCase):
self.user.roles.remove(blokes)
self.session.commit()
subscribers.new_request_set_user(event, db_session=self.session)
self.assertFalse(self.request.has_any_perm('appinfo.list'))
self.assertFalse(self.request.has_any_perm("appinfo.list"))
# reset
del self.request.user_permissions
@ -365,64 +382,66 @@ class TestNewRequestSetUser(TestCase):
admin = auth.get_role_administrator(self.session)
self.user.roles.append(admin)
self.session.commit()
self.request.session['is_root'] = True
self.request.session["is_root"] = True
subscribers.new_request_set_user(event, db_session=self.session)
self.assertTrue(self.request.has_any_perm('appinfo.list'))
self.assertTrue(self.request.has_any_perm("appinfo.list"))
class TestBeforeRender(TestCase):
def setUp(self):
self.config = WuttaConfig(defaults={
'wutta.web.menus.handler.spec': 'tests.util:NullMenuHandler',
})
self.config = WuttaConfig(
defaults={
"wutta.web.menus.handler.spec": "tests.util:NullMenuHandler",
}
)
def make_request(self):
request = testing.DummyRequest(use_oruga=False)
request.registry.settings = {'wutta_config': self.config}
request.registry.settings = {"wutta_config": self.config}
request.wutta_config = self.config
return request
def test_basic(self):
request = self.make_request()
event = {'request': request}
event = {"request": request}
# event dict will get populated with more context
subscribers.before_render(event)
self.assertIn('config', event)
self.assertIs(event['config'], self.config)
self.assertIn("config", event)
self.assertIs(event["config"], self.config)
self.assertIn('app', event)
self.assertIs(event['app'], self.config.get_app())
self.assertIn("app", event)
self.assertIs(event["app"], self.config.get_app())
self.assertIn('h', event)
self.assertIs(event['h'], helpers)
self.assertIn("h", event)
self.assertIs(event["h"], helpers)
self.assertIn('url', event)
self.assertIn("url", event)
# TODO: not sure how to test this?
# self.assertIs(event['url'], request.route_url)
self.assertIn('json', event)
self.assertIs(event['json'], json)
self.assertIn("json", event)
self.assertIs(event["json"], json)
# current theme should be 'default' and picker not exposed
self.assertEqual(event['theme'], 'default')
self.assertFalse(event['expose_theme_picker'])
self.assertNotIn('available_themes', event)
self.assertEqual(event["theme"], "default")
self.assertFalse(event["expose_theme_picker"])
self.assertNotIn("available_themes", event)
def test_custom_theme(self):
self.config.setdefault('wuttaweb.themes.expose_picker', 'true')
self.config.setdefault("wuttaweb.themes.expose_picker", "true")
request = self.make_request()
request.registry.settings['wuttaweb.theme'] = 'butterfly'
event = {'request': request}
request.registry.settings["wuttaweb.theme"] = "butterfly"
event = {"request": request}
# event dict will get populated with more context
subscribers.before_render(event)
self.assertEqual(event['theme'], 'butterfly')
self.assertTrue(event['expose_theme_picker'])
self.assertIn('available_themes', event)
self.assertEqual(event['available_themes'], ['default', 'butterfly'])
self.assertEqual(event["theme"], "butterfly")
self.assertTrue(event["expose_theme_picker"])
self.assertIn("available_themes", event)
self.assertEqual(event["available_themes"], ["default", "butterfly"])
class TestIncludeMe(TestCase):
@ -431,4 +450,4 @@ class TestIncludeMe(TestCase):
with testing.testConfig() as pyramid_config:
# just ensure no error happens when included..
pyramid_config.include('wuttaweb.subscribers')
pyramid_config.include("wuttaweb.subscribers")