Add helper functions for input options validation 02/107102/1
authorBartek Grzybowski <b.grzybowski@partner.samsung.com>
Tue, 5 May 2020 10:50:38 +0000 (03:50 -0700)
committerBartek Grzybowski <b.grzybowski@partner.samsung.com>
Tue, 5 May 2020 10:50:38 +0000 (03:50 -0700)
Change-Id: I0c8cd452fbf740f3b1c7988bf7aa7341a747c75e
Issue-ID: INT-1577
Signed-off-by: Bartek Grzybowski <b.grzybowski@partner.samsung.com>
test/mocks/mass-pnf-sim/mass-pnf-sim.py
test/mocks/mass-pnf-sim/requirements.txt

index c331d24..c70c351 100755 (executable)
@@ -4,6 +4,27 @@ import sys
 import subprocess
 import ipaddress
 import time
+from requests import get
+from requests.exceptions import MissingSchema, InvalidSchema, InvalidURL, ConnectionError, ConnectTimeout
+
+def validate_url(url):
+    '''Helper function to perform --urlves input param validation'''
+    try:
+        get(url, timeout=0.001)
+    except (MissingSchema, InvalidSchema, InvalidURL):
+        raise argparse.ArgumentTypeError(f'{url} is not a valid URL')
+    except (ConnectionError, ConnectTimeout):
+        pass
+    return url
+
+def validate_ip(ip):
+    '''Helper function to validate input param is a vaild IP address'''
+    try:
+        ip_valid = ipaddress.ip_address(ip)
+    except ValueError:
+        raise argparse.ArgumentTypeError(f'{ip} is not a valid IP address')
+    else:
+        return ip_valid
 
 parser = argparse.ArgumentParser()
 parser.add_argument('--bootstrap', help='Bootstrap the system')