Fix error type returned with invalid argument am: 5238ea7ee6
Change-Id: Ibc9388481bc29cf335c1be131cf1a597ce73576a
diff --git a/aftltool.py b/aftltool.py
index e20428d..936fe98 100755
--- a/aftltool.py
+++ b/aftltool.py
@@ -1661,20 +1661,22 @@
The TransparencyLogConfig instance.
Raises:
- AftlError: If the format of arg is invalid.
+ argparse.ArgumentTypeError: If the format of arg is invalid.
"""
api_key = None
try:
target, pub_key, *rest = arg.split(",", maxsplit=2)
- except ValueError as e:
- raise AftlError("Incorrect format for transparency log config: "
- "{}.".format(e))
+ except ValueError:
+ raise argparse.ArgumentTypeError("incorrect format for transparency log "
+ "server, expected "
+ "host:port,publickey_file.")
if not target:
- raise AftlError("Incorrect format for transparency log config: "
- "host:port cannot be empty.")
+ raise argparse.ArgumentTypeError("incorrect format for transparency log "
+ "server: host:port cannot be empty.")
if not pub_key:
- raise AftlError("Incorrect format for transparency log config: "
- "publickey_file cannot be empty.")
+ raise argparse.ArgumentTypeError("incorrect format for transparency log "
+ "server: publickey_file cannot be "
+ "empty.")
if rest:
api_key = rest[0]
return TransparencyLogConfig(target, pub_key, api_key)
@@ -1871,7 +1873,7 @@
print('aftltool: error: too few arguments')
sys.exit(2)
except AftlError as e:
- # Signals to calling tools that an unhandled exeception occured.
+ # Signals to calling tools that an unhandled exception occured.
sys.stderr.write('Unhandled AftlError occured: {}\n'.format(e))
sys.exit(2)
diff --git a/aftltool_test.py b/aftltool_test.py
index 33ed5c3..b568dee 100755
--- a/aftltool_test.py
+++ b/aftltool_test.py
@@ -24,6 +24,7 @@
#
"""Unit tests for aftltool."""
+import argparse
import base64
import binascii
import io
@@ -1541,10 +1542,10 @@
self.assertEqual(log.target, "example.com:8080")
self.assertEqual(log.pub_key, "mykey.pub")
- with self.assertRaises(aftltool.AftlError):
+ with self.assertRaises(argparse.ArgumentTypeError):
aftltool.TransparencyLogConfig.from_argument("example.com:8080,")
- with self.assertRaises(aftltool.AftlError):
+ with self.assertRaises(argparse.ArgumentTypeError):
aftltool.TransparencyLogConfig.from_argument(",")
def test_from_argument_with_api_key(self):