def test_parseNodeAddress(self): """ Parsing of addresses """ def test(parsed, *args): self.assertEqual(parsed, parseNodeAddress(*args)) http_port = socket.getservbyname('http') test(('127.0.0.1', 0), '127.0.0.1') test(('127.0.0.1', 10), '127.0.0.1:10', 500) test(('127.0.0.1', 500), '127.0.0.1', 500) test(('::1', 0), '[::1]') test(('::1', 10), '[::1]:10', 500) test(('::1', 500), '[::1]', 500) test(('::1', http_port), '[::1]:http') test(('::1', 0), '[0::01]') local_address = lambda port: (('127.0.0.1', port), ('::1', port)) self.assertIn(parseNodeAddress('localhost'), local_address(0)) self.assertIn(parseNodeAddress('localhost:10'), local_address(10))
def test_parseNodeAddress(self): """ Parsing of addesses """ def test(parsed, *args): self.assertEqual(parsed, parseNodeAddress(*args)) http_port = socket.getservbyname("http") test(("127.0.0.1", 0), "127.0.0.1") test(("127.0.0.1", 10), "127.0.0.1:10", 500) test(("127.0.0.1", 500), "127.0.0.1", 500) test(("::1", 0), "[::1]") test(("::1", 10), "[::1]:10", 500) test(("::1", 500), "[::1]", 500) test(("::1", http_port), "[::1]:http") test(("::1", 0), "[0::01]") local_address = lambda port: (("127.0.0.1", port), ("::1", port)) self.assertIn(parseNodeAddress("localhost"), local_address(0)) self.assertIn(parseNodeAddress("localhost:10"), local_address(10))
def _buildOptionParser(cls): # XXX: Use argparse sub-commands. parser = cls.option_parser parser.description = "NEO Control node" parser('a', 'address', default='127.0.0.1:9999', parse=lambda x: util.parseNodeAddress(x, 9999), help="address of an admin node") parser.argument('cmd', nargs=argparse.REMAINDER, help="command to execute; if not supplied," " the list of available commands is displayed")
def main(args=None): (options, args) = parser.parse_args(args=args) if options.address is not None: address = parseNodeAddress(options.address, 9999) else: address = ('127.0.0.1', 9999) if options.logfile: # Contrary to daemons, we log everything to disk automatically # because a user using -l option here: # - is certainly debugging an issue and wants everything, # - would not have to time to send SIGRTMIN before neoctl exits. logging.backlog(None) logging.setup(options.logfile) from neo.neoctl.app import Application ssl = options.ca, options.cert, options.key r = Application(address, ssl=ssl if any(ssl) else None).execute(args) if r is not None: print r
def test(parsed, *args): self.assertEqual(parsed, parseNodeAddress(*args))