Example #1
0
    def test_web_socket(self):
        _self = self

        class WSClient(websocket.WebSocket):
            def on_open(self):
                self.write_message(
                    json.dumps({
                        'type': 'test-message',
                        'data': 'hello',
                    }))

            def on_message(self, data):
                mess = json.loads(data)
                t = mess['type']
                if t == 'test-end':
                    _self.io_loop.add_callback(_self.stop)
                elif t == 'user_join':
                    _self.assertEqual(mess['user'], _self._test_user.email)
                    _self.assertEqual(len(mess['users']), 1)
                elif t == 'test-message':
                    _self.assertEqual(mess['data'], "hello")
                else:
                    _self.fail("Unknown message {0}".format(mess))

        start_listener()
        self.io_loop.add_callback(
            partial(WSClient, self.get_url('/ws/projects/1/'), self.io_loop))

        def action():
            notify_changes("projects", 1, {'type': 'test-end'})

        self.io_loop.add_timeout(datetime.timedelta(seconds=1), action)
        self.wait()
    def test_web_socket(self):
        _self = self

        class WSClient(websocket.WebSocket):
            def on_open(self):
                self.write_message(json.dumps({
                    'type': 'test-message',
                    'data': 'hello',
                }))

            def on_message(self, data):
                mess = json.loads(data)
                t = mess['type']
                if t == 'test-end':
                    _self.io_loop.add_callback(_self.stop)
                elif t == 'user_join':
                    _self.assertEqual(mess['user'], _self._test_user.email)
                    _self.assertEqual(len(mess['users']), 1)
                elif t == 'test-message':
                    _self.assertEqual(mess['data'], "hello")
                else:
                    _self.fail("Unknown message {0}".format(mess))

        start_listener()
        self.io_loop.add_callback(
            partial(WSClient, self.get_url('/ws/projects/1/'), self.io_loop))

        def action():
            notify_changes("projects", 1, {
                'type': 'test-end'
            })

        self.io_loop.add_timeout(datetime.timedelta(seconds=1), action)
        self.wait()
Example #3
0
def main():

    logger = logging.getLogger(__name__)
    tornado_app = Application(
        [
            (r'/ws/(?P<obj_type>[\w]+)/(?P<obj_id>[\d]+)/$', SocketHandler),
        ], debug=False)
    start_listener()
    logger.info("Tornado websocket server started on port {0}".format(ws_port))
    server = HTTPServer(tornado_app)
    server.listen(options.port)
    try:
        IOLoop.instance().start()
    except KeyboardInterrupt:
        logger.warn("Keyboard Interrupt")
        IOLoop.instance().stop()
Example #4
0
def main():

    logger = logging.getLogger(__name__)
    tornado_app = Application([
        (r'/ws/(?P<obj_type>[\w]+)/(?P<obj_id>[\d]+)/$', SocketHandler),
    ],
                              debug=False)
    start_listener()
    logger.info("Tornado websocket server started on port {0}".format(ws_port))
    server = HTTPServer(tornado_app)
    server.listen(options.port)
    try:
        IOLoop.instance().start()
    except KeyboardInterrupt:
        logger.warn("Keyboard Interrupt")
        IOLoop.instance().stop()