def dot(self):
        parser = argparse.ArgumentParser(description='Create DNS over TLS stamp')
        self.append_common_arguments(parser)

        parser.add_argument('-t', '--hashes',
                            type=str,
                            help="a comma-separated list of tbs certificate hashes (e.g.: 3e1a1a0f6c53f3e97a492d57084b5b9807059ee057ab1505876fd83fda3db838)")
        parser.add_argument('-n', '--hostname',
                            required=True,
                            type=str,
                            help="the server hostname which will also be used as a SNI name (e.g.: dot.example.com)")
        parser.add_argument('-b', '--bootstrap_ips',
                            type=str,
                            help="a comma-separated list of bootstrap ips (e.g.: 1.1.1.1,1.0.0.1)")

        args = parser.parse_args(sys.argv[2:])

        options = []
        if args.dnssec:
            options.append(Option.DNSSEC)
        if args.logs:
            options.append(Option.NO_LOGS)
        if args.filter:
            options.append(Option.NO_FILTERS)
        parameter = dnsstamps.prepare_dot("" if args.address is None else args.address,
                                          [] if args.hashes is None else args.hashes.split(','), args.hostname, options,
                                          [] if args.bootstrap_ips is None else args.bootstrap_ips.split(','))
        dnsstamps.format(parameter)
 def test_format_dot_stamp(self):
     address = "[fe80::6d6d:f72c:3ad:60b8]"
     hashes = [
         "3e1a1a0f6c53f3e97a492d57084b5b9807059ee057ab1505876fd83fda3db838"
     ]
     hostname = "doh.example.com"
     parameter = dnsstamps.prepare_dot(address, hashes, hostname)
     dnsstamps.format(parameter)