def relay_script(): # Basic commandline interface for testing the relay module. def usage(): print "Usage: %s [powercycle|status|turnon|turnoff] <hostname> <bank> <relay>" % sys.argv[ 0] sys.exit(1) if len(sys.argv) != 5: usage() cmd, hostname, bnk, rly = sys.argv[1:5] bnk, rly = int(bnk), int(rly) if cmd == 'powercycle': if relay.powercycle(hostname, bnk, rly, timeout=60): print "OK" else: print "FAILED" sys.exit(1) elif cmd == 'status': status = relay.get_status(hostname, bnk, rly, timeout=60) if status is None: print "FAILED" sys.exit(1) print "bank %d, relay %d status: %s" % (bnk, rly, 'on' if status else 'off') elif cmd == 'turnon' or cmd == 'turnoff': status = (cmd == 'turnon') if relay.set_status(hostname, bnk, rly, status, timeout=60): print "OK" else: print "FAILED" sys.exit(1) else: usage() sys.exit(0)
def relay_script(): # Basic commandline interface for testing the relay module. def usage(): print "Usage: %s [powercycle|status|turnon|turnoff] <hostname> <bank> <relay>" % sys.argv[0] sys.exit(2) if len(sys.argv) != 5: usage() cmd, hostname, bnk, rly = sys.argv[1:5] bnk, rly = int(bnk), int(rly) if cmd == 'powercycle': if relay.powercycle(hostname, bnk, rly, timeout=60): print "OK" else: print "FAILED" sys.exit(1) elif cmd == 'status': status = relay.get_status(hostname, bnk, rly, timeout=60) if status is None: print "FAILED" sys.exit(1) print "bank %d, relay %d status: %s" % (bnk, rly, 'on' if status else 'off') elif cmd == 'turnon' or cmd == 'turnoff': status = (cmd == 'turnon') if relay.set_status(hostname, bnk, rly, status, timeout=60): print "OK" else: print "FAILED" sys.exit(1) else: usage() sys.exit(0)
def test_get_status_timeout(self): self.relayboard.delay = 0.12 self.relayboard.skip_final_1s = True self.assertEqual(relay.get_status(self.relay_host, 2, 2, 0.1), None)
def test_get_status(self, sleep): self.assertEqual(relay.get_status(self.relay_host, 2, 2, 10), True) self.assertEqual(self.relayboard.actions, [('get', 2, 2)])
def test_get_status_timeout(self): self.server.delay = 1 self.assertEqual(relay.get_status('127.0.0.1', 2, 2, 0.1), None)
def test_get_status(self, sleep): self.assertEqual(relay.get_status('127.0.0.1', 2, 2, 10), True) self.assertEqual(self.server.actions, [('get', 2, 2)])
def test_get_status_timeout(self): self.relayboard.delay = 1 self.assertEqual(relay.get_status(self.relay_host, 2, 2, 0.1), None)