Skip to content
This repository has been archived by the owner on Aug 22, 2023. It is now read-only.

Commit

Permalink
#29 Perform OAuth2 Implicit Grant Flow to get access token
Browse files Browse the repository at this point in the history
- updated to new stups-zign
- replaced get_named_token calls with get_token
  • Loading branch information
Víctor Roldán Betancort committed Jan 11, 2017
1 parent 5640704 commit dca5a86
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 9 deletions.
4 changes: 2 additions & 2 deletions piu/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,12 +146,11 @@ def _request_access(even_url, cacert, username, hostname, reason, remote_host,
if lifetime:
data['lifetime_minutes'] = lifetime
try:
token = zign.api.get_named_token(['uid'], 'employees', 'piu', user, password, prompt=True)
access_token = zign.api.get_token("piu", ['uid'])
except zign.api.ServerError as e:
click.secho('{}'.format(e), fg='red', bold=True)
return 500

access_token = token.get('access_token')
click.secho('Requesting access to host {host_via} for {username}..'.format(host_via=host_via, username=username),
bold=True)
r = requests.post(even_url, headers={'Content-Type': 'application/json',
Expand Down Expand Up @@ -398,5 +397,6 @@ def list_access_requests(obj, user, odd_host, status, limit, offset, output):
def main():
handle_exceptions(cli)()


if __name__ == '__main__':
main()
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ clickclick>=0.10
PyYAML
requests
pyperclip
stups-zign>=0.16
stups-zign>=1.0.24
boto3>=1.3.0
botocore>=1.4.10
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ def read_version(package):
exec(fd.read(), data)
return data['__version__']


NAME = 'stups-piu'
MAIN_PACKAGE = 'piu'
VERSION = read_version(MAIN_PACKAGE)
Expand Down
12 changes: 6 additions & 6 deletions tests/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def test_missing_reason():

def test_success(monkeypatch):
response = MagicMock(status_code=200, text='**MAGIC-SUCCESS**')
monkeypatch.setattr('zign.api.get_named_token', MagicMock(return_value={'access_token': '123'}))
monkeypatch.setattr('zign.api.get_token', MagicMock(return_value='123'))
monkeypatch.setattr('requests.post', MagicMock(return_value=response))
monkeypatch.setattr('keyring.set_password', MagicMock())
runner = CliRunner()
Expand All @@ -36,7 +36,7 @@ def test_success(monkeypatch):

def test_bad_request(monkeypatch):
response = MagicMock(status_code=400, text='**MAGIC-BAD-REQUEST**')
monkeypatch.setattr('zign.api.get_named_token', MagicMock(return_value={'access_token': '123'}))
monkeypatch.setattr('zign.api.get_token', MagicMock(return_value='123'))
monkeypatch.setattr('requests.post', MagicMock(return_value=response))
monkeypatch.setattr('keyring.set_password', MagicMock())
runner = CliRunner()
Expand All @@ -57,7 +57,7 @@ def test_bad_request(monkeypatch):

def test_auth_failure(monkeypatch):
response = MagicMock(status_code=403, text='**MAGIC-AUTH-FAILED**')
monkeypatch.setattr('zign.api.get_named_token', MagicMock(return_value={'access_token': '123'}))
monkeypatch.setattr('zign.api.get_token', MagicMock(return_value='123'))
monkeypatch.setattr('requests.post', MagicMock(return_value=response))
monkeypatch.setattr('keyring.set_password', MagicMock())
runner = CliRunner()
Expand All @@ -77,7 +77,7 @@ def test_auth_failure(monkeypatch):

def test_dialog(monkeypatch):
response = MagicMock(status_code=200, text='**MAGIC-SUCCESS**')
monkeypatch.setattr('zign.api.get_named_token', MagicMock(return_value={'access_token': '123'}))
monkeypatch.setattr('zign.api.get_token', MagicMock(return_value='123'))
monkeypatch.setattr('requests.post', MagicMock(return_value=response))
monkeypatch.setattr('requests.get', MagicMock(return_value=response))
monkeypatch.setattr('socket.getaddrinfo', MagicMock())
Expand All @@ -95,7 +95,7 @@ def test_dialog(monkeypatch):

def test_oauth_failure(monkeypatch):
response = MagicMock(status_code=200, text='**MAGIC-SUCCESS**')
monkeypatch.setattr('zign.api.get_named_token', MagicMock(side_effect=zign.api.ServerError('**MAGIC-FAIL**')))
monkeypatch.setattr('zign.api.get_token', MagicMock(side_effect=zign.api.ServerError('**MAGIC-FAIL**')))
monkeypatch.setattr('requests.post', MagicMock(return_value=response))
monkeypatch.setattr('requests.get', MagicMock(return_value=response))
monkeypatch.setattr('socket.getaddrinfo', MagicMock())
Expand Down Expand Up @@ -305,7 +305,7 @@ def test_tunnel_success(monkeypatch):

response = MagicMock(status_code=200, text='**MAGIC-SUCCESS**')

monkeypatch.setattr('zign.api.get_named_token', MagicMock(return_value={'access_token': '123'}))
monkeypatch.setattr('zign.api.get_token', MagicMock(return_value='123'))
monkeypatch.setattr('requests.post', MagicMock(return_value=response))
monkeypatch.setattr('subprocess.call', MagicMock())

Expand Down

0 comments on commit dca5a86

Please sign in to comment.