from unittest import TestCase from mock import Mock from pyramid import testing from tailbone import subscribers class SubscribersTests(TestCase): def test_before_render(self): event = Mock() event.__setitem__ = Mock() subscribers.before_render(event) class TestAddRattailConfigAttributeToRequest(TestCase): def test_nothing_is_done_if_no_config_in_registry_settings(self): request = testing.DummyRequest() config = testing.setUp(request=request) self.assertFalse('rattail_config' in request.registry.settings) self.assertFalse(hasattr(request, 'rattail_config')) event = Mock(request=request) subscribers.add_rattail_config_attribute_to_request(event) self.assertFalse(hasattr(request, 'rattail_config')) testing.tearDown() def test_attribute_added_if_config_present_in_registry_settings(self): rattail_config = Mock() request = testing.DummyRequest() config = testing.setUp(request=request, settings={'rattail_config': rattail_config}) self.assertTrue('rattail_config' in request.registry.settings) self.assertFalse(hasattr(request, 'rattail_config')) event = Mock(request=request) subscribers.add_rattail_config_attribute_to_request(event) self.assertTrue(request.rattail_config is rattail_config) testing.tearDown()