Example #1
0
 def on_deleted(self, event):
     """
     Event Handler when a file is deleted
     """
     key = 'filetree:deleted_file'
     data = {'filepath': event.src_path}
     bmsg = BroadcastMessage(key=key, data=data)
     BroadcastManager.broadcast(bmsg)
Example #2
0
 def on_moved(self, event):
     """
     Event Handler when a file is moved
     """
     key = 'filetree:moved_file'
     data = {
         'src_filepath': event.src_path,
         'dest_filepath': event.dest_path
     }
     bmsg = BroadcastMessage(key=key, data=data)
     BroadcastManager.broadcast(bmsg)
    def on_modified(self, event):
        """
        Event handler when a file is modified.
        """
        key = 'filesystem:file_modified'
        data = {
            'filepath': event.src_path,
            'is_directory': event.is_directory,
            'dirpath': os.path.dirname(event.src_path)
        }

        bmsg = BroadcastMessage(key=key, data=data)
        BroadcastManager.broadcast(bmsg)
Example #4
0
    def test_add_client(self):
        request = mock.Mock()
        client1 = BroadcastHandler(self.get_app(), request)
        client2 = BroadcastHandler(self.get_app(), request)
        invalid_client = BaseHandler(self.get_app(), request)

        self.assertEqual(BroadcastManager._clients, set())
        BroadcastManager.add_client(client1)
        self.assertEqual(BroadcastManager._clients, set([client1]))
        BroadcastManager.add_client(client2)
        self.assertEqual(BroadcastManager._clients, set([client1, client2]))
        with self.assertRaises(TypeError):
            BroadcastManager.add_client(invalid_client)
Example #5
0
    def test_broadcast(self, m):
        request = mock.Mock()
        client1 = BroadcastHandler(self.get_app(), request)
        client2 = BroadcastHandler(self.get_app(), request)
        msg = tornado.escape.json_encode({'key': 'test:test_msg', 'data': {}})
        bmsg = BroadcastMessage.create_from_string(msg)

        BroadcastManager.broadcast(bmsg)
        self.assertFalse(m.called)

        m.reset_mock()
        BroadcastManager.add_client(client1)
        BroadcastManager.broadcast(bmsg)
        self.assertEqual(m.call_count, 1)
        m.assert_called_with(msg)

        m.reset_mock()
        BroadcastManager.add_client(client2)
        BroadcastManager.broadcast(bmsg)
        self.assertEqual(m.call_count, 2)
        m.assert_called_with(msg)

        m.reset_mock()
        invalid_msg = msg
        with self.assertRaises(TypeError):
            BroadcastManager.broadcast(invalid_msg)
        self.assertFalse(m.called)
Example #6
0
    def test_remove_client(self):
        request = mock.Mock()
        client1 = BroadcastHandler(self.get_app(), request)
        client2 = BroadcastHandler(self.get_app(), request)
        client3 = BroadcastHandler(self.get_app(), request)
        BroadcastManager.add_client(client1)
        BroadcastManager.add_client(client2)

        BroadcastManager.remove_client(client3)
        self.assertEqual(BroadcastManager._clients, set([client1, client2]))
        BroadcastManager.remove_client(client1)
        self.assertEqual(BroadcastManager._clients, set([client2]))
        BroadcastManager.remove_client(client2)
        self.assertEqual(BroadcastManager._clients, set())
        BroadcastManager.remove_client(client2)
        self.assertEqual(BroadcastManager._clients, set())