def test_parse_service(self): self.assertEqual(parse_service('0.0.0.0:0'), ('0.0.0.0', 0)) self.assertEqual(parse_service('127.0.0.1:12'), ('127.0.0.1', 12)) self.assertEqual(parse_service('8.8.8.8:345'), ('8.8.8.8', 345)) self.assertEqual(parse_service('10.10.0.1:6789'), ('10.10.0.1', 6789)) self.assertEqual(parse_service('172.16.0.1:12345'), ('172.16.0.1', 12345)) self.assertEqual(parse_service('[::]:0'), ('::', 0)) self.assertEqual(parse_service('[::1]:12'), ('::1', 12)) self.assertEqual(parse_service('[a::5]:345'), ('a::5', 345)) self.assertEqual(parse_service('[7:f::8]:6789'), ('7:f::8', 6789)) self.assertEqual(parse_service('[5:c:d:3::f]:12345'), ('5:c:d:3::f', 12345)) self.assertEqual(parse_service('[0123:4567:89ab:cdef:0123:4567:89ab:cdef]:80'), ('0123:4567:89ab:cdef:0123:4567:89ab:cdef', 80)) self.assertIsNone(parse_service('laskdjflkasjd')) self.assertIsNone(parse_service('1234.1.2.3:75')) self.assertIsNone(parse_service('1.2.3.4')) self.assertIsNone(parse_service('3.6.7.3:')) self.assertIsNone(parse_service('8.7.6.56:123456')) self.assertIsNone(parse_service('1.2.3:4')) self.assertIsNone(parse_service('[d::z]:4')) self.assertIsNone(parse_service('[a::f]:123456')) self.assertIsNone(parse_service('[::]')) self.assertIsNone(parse_service('[::]:'))
#let's sanity check! if not (args.port or args.ssl): raise Exception("You must supply a non-zero --port (or use the default), or enable --ssl") if args.ssl: if not (args.certfile and args.keyfile): raise Exception("To enable SSL, a certfile and keyfile must be provided") elif not (os.path.exists(args.certfile) and os.path.isfile(args.certfile)): raise Exception("Certfile '%s' does not exist or is not a file"%(args.certfile,)) elif not (os.path.exists(args.keyfile) and os.path.isfile(args.keyfile)): raise Exception("Keyfile '%s' does not exist or is not a file"%(args.keyfile,)) if not (os.path.exists(args.queue) and os.path.isdir(args.queue)): raise Exception("The queue '%s' does not exist or is not a directory"%(args.queue,)) _bs = parse_service(args.beanstalk) if _bs is None: raise Exception("'%s' is not a valid service address for beanstalkd"%(args.beanstalk,)) else: args.beanstalk = _bs server = None SSLserver = None if args.port: server = JumpSMTPd( args, (args.host, args.port), None, ssl = False, certfile = None,