def onMessage(self, payload, isBinary): # noqa try: s = json.loads(payload.decode('utf8')) except ValueError as e: logger.warning('got a bogus payload from %s: %s', self, e) return # handle subscriptions if 'subscribe' in s: PubSubManager.instance().subscribe(self, s['subscribe']) # respond with the latest data from this topic PubSubManager.instance().publish_one(self, s['subscribe']) # handle unsubscriptions if 'unsubscribe' in s: PubSubManager.instance().unsubscribe(self, s['unsubscribe']) # handle requests if 'request' in s: response = RequestHandler.instance().handle(s) self.send(s['request'], response)
def onMessage(self, payload, isBinary): try: s = json.loads(payload.decode('utf8')) except ValueError as e: logger.warning('got a bogus payload from %s: %s', self, e) return # handle subscriptions if 'subscribe' in s: PubSubManager.instance().subscribe(self, s['subscribe']) # respond with the latest data from this topic PubSubManager.instance().publish_one(self, s['subscribe']) # handle unsubscriptions if 'unsubscribe' in s: PubSubManager.instance().unsubscribe(self, s['unsubscribe']) # handle requests if 'request' in s: response = RequestHandler.instance().handle(s) self.send(s['request'], response)
def test_search(self, search): result = RequestHandler.instance().handle({'request': 'twitchcancer.search', 'data': 'for'}) self.assertEqual(result, ["forsenlol"])
def test_malformed(self): result = RequestHandler.instance().handle({'request': 'twitchcancer.search'}) self.assertEqual(result, {})
def test_unknown(self): result = RequestHandler.instance().handle(None) self.assertEqual(result, {})
def test_default(self, new): RequestHandler.instance() RequestHandler.instance() self.assertEqual(new.call_count, 1)
def test_malformed(self, search): result = RequestHandler.instance().handle({'request': 'twitchcancer.search', 'data': 'for'}) self.assertEqual(result, ["forsenlol"])