def testReadTCP(self): """ Test recieve callback is working correctly for serial ports """ self._log.debug( "\n\n-------------------------------testReadTCP-------------------------------" ) TCPServ = TestTCPServer(4747) TCPServ.start() try: self._log.debug( "\nInitializing serial eventhandler with tcp connection configured" ) testCfg = getDictFromXmlString(testConfigTCP) eh = Serial(self._router) self.assertNotEqual( eh, None ) eh.configure(testCfg['eventInterface']) eh.start() self._log.debug ( "Sending test data" ) TCPServ.send("hello\r") time.sleep(1) self.assertEqual( len(self._router._pubs), 1 ) self.assertEqual( self._router._pubs[0][1].getType(), "lighting/update" ) self.assertEqual( self._router._pubs[0][1].getSource(), "light1/on" ) self.assertEqual( self._router._pubs[0][1].getPayload()['lightval'], "1") eh.stop() finally: TCPServ.stop() time.sleep(1)
def testDisconnectRecover(self): """ Test recieve callback is working correctly for serial ports """ self._log.debug( "\n\n-------------------------------testReadTCP-------------------------------" ) TCPServ = TestTCPServer(4747) TCPServ.start() self._log.debug( "\nInitializing serial eventhandler with tcp connection configured" ) testCfg = getDictFromXmlString(testConfigTCP) eh = Serial(self._router) self.assertNotEqual( eh, None ) eh.configure(testCfg['eventInterface']) eh.start() self._log.debug ( "Sending test data" ) TCPServ.send("hello\r") time.sleep(0.5) self.assertEqual( len(self._router._pubs), 1 ) self.assertEqual( self._router._pubs[0][1].getType(), "lighting/update" ) self.assertEqual( self._router._pubs[0][1].getSource(), "light1/on" ) self.assertEqual( self._router._pubs[0][1].getPayload()['lightval'], "1") TCPServ.stop() time.sleep(0.5) TCPServ = TestTCPServer(4747) TCPServ.start() testEvent = makeEvent( 'internal/test/serial', 'serial/test/1', {} ) self._log.debug( testEvent ) self._log.debug( "\nTesting eventhandler..." ) eh.handleEvent( testEvent ) eh.handleEvent( testEvent ) eh.handleEvent( testEvent ) eh.handleEvent( testEvent ) TCPServ.send("hello\r") time.sleep(1) assert TCPServ.read() == "turn lights onsuccess!turn lights onsuccess!" self.assertEqual( len(self._router._pubs), 2 ) self.assertEqual( self._router._pubs[1][1].getType(), "lighting/update" ) self.assertEqual( self._router._pubs[1][1].getSource(), "light1/on" ) self.assertEqual( self._router._pubs[1][1].getPayload()['lightval'], "1") time.sleep(0.5)