Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
 def __init__(self, *args, **kwargs):
     super(EndpointApplication, self).__init__(*args, **kwargs)
     self.routers = routers_from_settings(self.settings, self.db,
                                          self.agent)
Exemplo n.º 4
0
 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)