예제 #1
0
    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)
예제 #2
0
  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"])
  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, {})
예제 #10
0
  def test_default(self, new):
    RequestHandler.instance()
    RequestHandler.instance()

    self.assertEqual(new.call_count, 1)