diff options
Diffstat (limited to 'tests/e2e/check_ip')
-rwxr-xr-x | tests/e2e/check_ip | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/e2e/check_ip b/tests/e2e/check_ip new file mode 100755 index 00000000..8c12f250 --- /dev/null +++ b/tests/e2e/check_ip @@ -0,0 +1,45 @@ +#!/usr/bin/python3 + +import urllib.request +import json +import sys + +DEMO_ISP = 'Riseup Networks' + +url = 'https://wtfismyip.com/json' + +with urllib.request.urlopen(url) as _url: + data = json.loads(_url.read().decode()) + +isp = data['YourFuckingISP'] +ip = data['YourFuckingIPAddress'] + +print('ISP >> %s' % isp) +print('IP >> %s' % ip) + + +class BadCmd(Exception): + pass + + +try: + cmd = sys.argv[1] + + if cmd == 'vpn_on': + assert isp == DEMO_ISP + elif cmd == 'vpn_off': + assert isp != DEMO_ISP + else: + raise BadCmd() + +except BadCmd: + print("Cannot parse that command. Valid commands: vpn_on, vpn_off") + sys.exit(1) + +except Exception: + print("IP *NOT* as expected") + sys.exit(1) + +else: + print("OK :)") + sys.exit(0) |