def testChannelReceive(self): _log.debug("\ntestChannelReceive") # 3 bytes address 3 bytes function sentChars = "\xc3" # address byte, function self.router = DummyRouter() rxChars = "\x5a\x03\x02\x66\x62" self._infile = StringIO(rxChars) self.x10 = X10Handler("TestX10", self.router, self._outfile, self._infile) cfg = getDictFromXml(parseXmlString(testConfigX10Off)) self.x10.configure(cfg["eventInterface"]) self.x10.start() time.sleep(1.0) sent = self._outfile.getvalue() _log.debug("sent %s - %s" % (sent, sentChars)) # verify. self.assertEqual(sent, sentChars) self.x10.stop() self.assert_(len(self.router._pubs) >= 1)
class TestX10(unittest.TestCase): def setUp(self): self._outfile = StringIO() self._infile = StringIO() self.router = None self.loader = None return def tearDown(self): if self.loader: self.loader.stop() # all tasks self.loader = None time.sleep(2) self.router = None _log.debug("tearDown") return def testChannelDim(self): _log.debug("\ntestChannelDim") # 3 bytes address 3 bytes function sentChars = "\x04\x66\x00\xB6\x64\x00" rxChars = "\x6A\x55\x1A\x55" self._infile = StringIO(rxChars) self.x10 = X10Handler("TestX10", DummyRouter(), self._outfile, self._infile) cfg = getDictFromXml(parseXmlString(testConfigX10Dim)) self.x10.configure(cfg["eventInterface"]) self.x10.start() self.x10.handleEvent(Events.evtMinute1) # send channel command time.sleep(1.0) sent = self._outfile.getvalue() _log.debug("sent %s - %s" % (sent, sentChars)) # verify. self.assertEqual(sent, sentChars) self.x10.stop() def testChannelOn(self): _log.debug("\ntestChannelOn") # 3 bytes address 3 bytes function sentChars = "\x04\x66\x00\x06\x62\x00" rxChars = "\x6A\x55\x68\x55" self._infile = StringIO(rxChars) self.x10 = X10Handler("TestX10", DummyRouter(), self._outfile, self._infile) cfg = getDictFromXml(parseXmlString(testConfigX10On)) self.x10.configure(cfg["eventInterface"]) self.x10.start() self.x10.handleEvent(Events.evtMinute1) # send channel command time.sleep(1.0) sent = self._outfile.getvalue() _log.debug("sent %s - %s" % (sent, sentChars)) # verify. self.assertEqual(sent, sentChars) self.x10.stop() def testPowerFail(self): _log.debug("\ntestPowerFail") # Test popwer fail from CM11 # 3 bytes address 3 bytes function sentChars = "\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" rxChars = "\xa5\x00" self._infile = StringIO(rxChars) self.x10 = X10Handler("TestX10", DummyRouter(), self._outfile, self._infile) cfg = getDictFromXml(parseXmlString(testConfigX10On)) self.x10.configure(cfg["eventInterface"]) self.x10.start() time.sleep(2.0) self.x10.stop() def testPowerFail2(self): _log.debug("\ntestPowerFail2") # Test popwer fail from CP10 # 3 bytes address 3 bytes function sentChars = "\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" rxChars = "\xa6\x00" self._infile = StringIO(rxChars) self.x10 = X10Handler("TestX10", DummyRouter(), self._outfile, self._infile) cfg = getDictFromXml(parseXmlString(testConfigX10On)) self.x10.configure(cfg["eventInterface"]) self.x10.start() time.sleep(2.0) self.x10.stop() def testChannelOff(self): _log.debug("\ntestChannelOff") # 3 bytes address 3 bytes function sentChars = "\x04\x66\x00\x06\x63\x00" rxChars = "\x6A\x55\x69\x55" self._infile = StringIO(rxChars) self.x10 = X10Handler("TestX10", DummyRouter(), self._outfile, self._infile) cfg = getDictFromXml(parseXmlString(testConfigX10Off)) self.x10.configure(cfg["eventInterface"]) self.x10.start() self.x10.handleEvent(Events.evtMinute1) # send channel command time.sleep(1.0) sent = self._outfile.getvalue() _log.debug("sent %s - %s" % (sent, sentChars)) # verify. self.assertEqual(sent, sentChars) self.x10.stop() def testChannelReceive(self): _log.debug("\ntestChannelReceive") # 3 bytes address 3 bytes function sentChars = "\xc3" # address byte, function self.router = DummyRouter() rxChars = "\x5a\x03\x02\x66\x62" self._infile = StringIO(rxChars) self.x10 = X10Handler("TestX10", self.router, self._outfile, self._infile) cfg = getDictFromXml(parseXmlString(testConfigX10Off)) self.x10.configure(cfg["eventInterface"]) self.x10.start() time.sleep(1.0) sent = self._outfile.getvalue() _log.debug("sent %s - %s" % (sent, sentChars)) # verify. self.assertEqual(sent, sentChars) self.x10.stop() self.assert_(len(self.router._pubs) >= 1) def testRealToggle(self): _log.debug("\ntestRealToggle") self.loader = EventRouterLoader() self.loader.loadHandlers(getDictFromXmlString(testConfigX10)) self.loader.start() # all tasks self.router = self.loader.getEventRouter() time.sleep(2) # let it start self.router.publish(EventAgent("TestX10"), Events.evtSecond0) # Switch On time.sleep(2) self.router.publish(EventAgent("TestX10"), Events.evtSecond30) # Switch Off time.sleep(2) # command a device to switch on. # verify command string. # self.assert_( len(TestEventLogger._events) >= 1) def testRealChannelOn(self): _log.debug("\ntestRealChannelOn") self.loader = EventRouterLoader() self.loader.loadHandlers(getDictFromXmlString(testConfigX10)) self.loader.start() # all tasks self.router = self.loader.getEventRouter() time.sleep(2) # let it start self.router.publish(EventAgent("TestX10"), Events.evtSecond0) # Switch On time.sleep(2) # command a device to switch on. # verify command string. # self.assert_( len(TestEventLogger._events) >= 1) def testRealChannelDimOn(self): _log.debug("\ntestRealChannelDimOn") self.loader = EventRouterLoader() self.loader.loadHandlers(getDictFromXmlString(testConfigX10)) self.loader.start() # all tasks self.router = self.loader.getEventRouter() time.sleep(2) # let it start self.router.publish(EventAgent("TestX10"), Events.evtSecond15) # Switch On time.sleep(10) # command a device to switch on. # verify command string. # self.assert_( len(TestEventLogger._events) >= 1) def testRealChannelDimOff(self): _log.debug("\ntestRealChannelDimOff") self.loader = EventRouterLoader() self.loader.loadHandlers(getDictFromXmlString(testConfigX10)) self.loader.start() # all tasks self.router = self.loader.getEventRouter() time.sleep(2) # let it start self.router.publish(EventAgent("TestX10"), Events.evtSecond45) # Switch On time.sleep(10) # command a device to switch on. # verify command string. # self.assert_( len(TestEventLogger._events) >= 1) def testRealChannelOff(self): _log.debug("\ntestRealChannelOff") self.loader = EventRouterLoader() self.loader.loadHandlers(getDictFromXmlString(testConfigX10)) self.loader.start() # all tasks self.router = self.loader.getEventRouter() time.sleep(2) # let it start self.router.publish(EventAgent("TestX10"), Events.evtSecond30) # Switch Off time.sleep(2) # command a device to switch on. # verify command string. # self.assert_( len(TestEventLogger._events) >= 1) # Actual tests follow def testRealPowerFail(self): _log.debug("\ntestRealPowerFail") self.loader = EventRouterLoader() self.loader.loadHandlers(getDictFromXmlString(testConfigX10)) self.loader.start() # all tasks self.router = self.loader.getEventRouter() time.sleep(10) # let it start # command a device to switch on. # verify command string. # self.assert_( len(TestEventLogger._events) >= 1) # Actual tests follow def testRealChannelReceive(self): _log.debug("\ntestRealChannelReceive") self.loader = EventRouterLoader() self.loader.loadHandlers(getDictFromXmlString(testConfigX10)) self.loader.start() # all tasks self.router = self.loader.getEventRouter() time.sleep(10) # let it start # command a device to switch on. # verify command string. self.assert_(len(TestEventLogger._events) >= 1)