Esempio n. 1
0
    def test_broadcast_data(self):
        server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        server_socket.setblocking(0)
        server_socket.bind(('localhost', 8001))
        server_socket.listen(1)

        test_message = 'test_message'

        # Verify that broadcast data is sent via socket
        CommunicationsInterface.broadcast_data(test_message, [('localhost', 8001)])

        readable, writable, exceptional = select.select(
            [server_socket], [], [], 1)
        
        self.assertEqual(len(readable), 1)
        
        (client_socket, address) = readable[0].accept()
        received_data = ''
        while True:
            data = client_socket.recv(1024)
            received_data += data
            if not data:
                break

        self.assertEqual(received_data, test_message)
Esempio n. 2
0
    def broadcast_event(self, event):
        """
        Broadcast an Event to all peers. If this EventManager is listening,
        the Event will be broadcast to itself as well.

        Keyword arguments:
        event -- Event to broadcast

        """

        data = self.serialize_event(event)
        CommunicationsInterface.broadcast_data(data, self.peers)
Esempio n. 3
0
 def test_broadcast_data_error(self):
     # No exception should be raised here
     CommunicationsInterface.broadcast_data('test_message',
                                            [('localhost', 8001)])
Esempio n. 4
0
 def broadcast_event(self, event):
     data = self.serialize_event(event)
     CommunicationsInterface.broadcast_data(data, self.peers)