コード例 #1
0
ファイル: network_test.py プロジェクト: cathalgarvey/bytestag
    def test_udp(self):
        '''It should be able to send itself a udp packet through events'''

        event_reactor = EventReactor()
        server = UDPServer(event_reactor)
        client = UDPClient()

        server.start()
        reactor_thread = threading.Thread(target=event_reactor.start)
        reactor_thread.daemon = True
        reactor_thread.start()

        data = None

        def my_callback(event_id, address, data_):
            nonlocal data

            data = data_  # @UnusedVariable

            event_reactor.put(EventReactor.STOP_ID)

        event_reactor.register_handler(
            bytestag.network.UDP_INBOUND_EVENT, my_callback)

        client.send(server.server_address, b'hello')

        reactor_thread.join(1)
        event_reactor.put(EventReactor.STOP_ID)

        self.assertEqual(data, b'hello')
コード例 #2
0
ファイル: events_test.py プロジェクト: cathalgarvey/bytestag
    def test_reactor(self):
        '''It should process 1 event and then stop'''

        my_id = EventID('my_id')
        self.test_value = False

        def my_callback(event_id):
            self.assertEqual(my_id, event_id)
            self.test_value = True

        event_reactor = EventReactor()
        event_reactor.register_handler(my_id, my_callback)
        event_reactor.put(my_id)
        event_reactor.put(EventReactor.STOP_ID)
        event_reactor.start()
        self.assertTrue(self.test_value)