diff options
Diffstat (limited to 'testapi/testapi-client/testapiclient/identity.py')
-rw-r--r-- | testapi/testapi-client/testapiclient/identity.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/testapi/testapi-client/testapiclient/identity.py b/testapi/testapi-client/testapiclient/identity.py index 5456270..d62ed7a 100644 --- a/testapi/testapi-client/testapiclient/identity.py +++ b/testapi/testapi-client/testapiclient/identity.py @@ -2,9 +2,10 @@ import requests from user import User from config import Config import urllib +import functools -def authenticate(username, password): +def _authenticate(username, password): session = requests.Session() hostname = '{}{}{}'.format( Config.config.get("cas", "auth_url"), @@ -14,3 +15,17 @@ def authenticate(username, password): response = session.post(hostname, data) User.session = session return response + + +def authenticate(xstep): + @functools.wraps(xstep) + def wrapper(self, parsed_args): + username = parsed_args.u + password = parsed_args.p + if(username and password): + response = _authenticate(username, password) + if "login" in response.text: + print "Authentication has failed." + else: + xstep(self, parsed_args) + return wrapper |