def setUp(self): twisted.internet.base.DelayedCall.debug = True settings = AutopushSettings( hostname="localhost", statsd_host=None, bear_hash_key='AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB=', ) self.fernet_mock = settings.fernet = Mock(spec=Fernet) self.db = db = test_db() db.router.register_user.return_value = (True, {}, {}) db.router.get_uaid.return_value = { "router_type": "test", "router_data": dict() } db.create_initial_message_tables() self.routers = routers = routers_from_settings(settings, db, Mock()) routers["test"] = Mock(spec=IRouter) app = EndpointHTTPFactory(settings, db=db, routers=routers) self.client = Client(app) self.request_mock = Mock(body=b'', arguments={}, headers={}) self.reg = NewRegistrationHandler(app, self.request_mock) self.auth = ("WebPush %s" % generate_hash(settings.bear_hash_key[0], dummy_uaid.hex)) self.settings = settings
def for_handler( cls, handler_cls, # Type[BaseHTTPFactory] ap_settings, # type: AutopushSettings db=None, # type: Optional[DatabaseManager] routers=None, # type: Optional[Dict[str, IRouter]] **kwargs): # type: (...) -> BaseHTTPFactory """Create a cyclone app around a specific handler_cls for tests. Creates an uninitialized (no setup() called) DatabaseManager from settings if one isn't specified. handler_cls must be included in ap_handlers or a ValueError is thrown. """ if 'handlers' in kwargs: # pragma: nocover raise ValueError("handler_cls incompatibile with handlers kwarg") for pattern, handler in cls.ap_handlers + cls.health_ap_handlers: if handler is handler_cls: if db is None: db = DatabaseManager.from_settings(ap_settings) if routers is None: routers = routers_from_settings(ap_settings, db) return cls(ap_settings, db=db, routers=routers, handlers=[(pattern, handler)], **kwargs) raise ValueError( "{!r} not in ap_handlers".format(handler_cls)) # pragma: nocover
def __init__(self, *args, **kwargs): super(EndpointApplication, self).__init__(*args, **kwargs) self.routers = routers_from_settings(self.settings, self.db, self.agent)
def _for_handler(cls, ap_settings, db, routers=None, **kwargs): if routers is None: routers = routers_from_settings( ap_settings, db=db, agent=agent_from_settings(ap_settings)) return cls(ap_settings, db=db, routers=routers, **kwargs)