diff --git a/pankoclient/client.py b/pankoclient/client.py index 5e8614d..4e14faa 100644 --- a/pankoclient/client.py +++ b/pankoclient/client.py @@ -37,4 +37,4 @@ class SessionClient(adapter.Adapter): if raise_exc and resp.status_code >= 400: raise exceptions.from_response(resp, url, method) - return resp + return resp, resp.json() diff --git a/pankoclient/exceptions.py b/pankoclient/exceptions.py index 317a94d..53dcd21 100644 --- a/pankoclient/exceptions.py +++ b/pankoclient/exceptions.py @@ -145,7 +145,7 @@ def from_response(response, url, method=None): """Return an instance of one of the ClientException on an requests response. Usage:: - resp, body = requests.request(...) + resp = requests.request(...) if resp.status_code != 200: raise exception_from_response(resp) """ diff --git a/pankoclient/osc.py b/pankoclient/osc.py index cb20824..21661fa 100644 --- a/pankoclient/osc.py +++ b/pankoclient/osc.py @@ -42,16 +42,8 @@ def make_client(instance): region_name=instance.region_name, interface=instance.interface, ) - - kwargs = {'endpoint': endpoint, - 'auth_url': instance.auth.auth_url, - 'region_name': instance.region_name, - 'username': instance.auth_ref.username} - - if instance.session: - kwargs.update(session=instance.session) - else: - kwargs.update(token=instance.auth_ref.auth_token) + kwargs = {'session': instance.session, + 'endpoint_override': endpoint} client = panko_client(**kwargs) diff --git a/pankoclient/tests/unit/test_osc_plugin.py b/pankoclient/tests/unit/test_osc_plugin.py index 9ad75c3..87009f5 100644 --- a/pankoclient/tests/unit/test_osc_plugin.py +++ b/pankoclient/tests/unit/test_osc_plugin.py @@ -43,10 +43,7 @@ class TestEventPlugin(base.TestBase): interface=fakes.INTERFACE, ) panko_client.assert_called_once_with( - endpoint=mock.sentinel.ep, - auth_url=fakes.AUTH_URL, - region_name=fakes.REGION_NAME, - username=fakes.USERNAME, + endpoint_override=mock.sentinel.ep, session='fake_session', ) @@ -71,9 +68,6 @@ class TestEventPlugin(base.TestBase): interface=fakes.INTERFACE, ) panko_client.assert_called_once_with( - endpoint=mock.sentinel.ep, - auth_url=fakes.AUTH_URL, - region_name=fakes.REGION_NAME, - username=fakes.USERNAME, - token=fakes.AUTH_TOKEN, + endpoint_override=mock.sentinel.ep, + session=None ) diff --git a/pankoclient/v2/client.py b/pankoclient/v2/client.py index e39b67f..19338e1 100644 --- a/pankoclient/v2/client.py +++ b/pankoclient/v2/client.py @@ -14,6 +14,7 @@ # from pankoclient import client +from pankoclient.exceptions import ClientException from pankoclient.v2 import capabilities from pankoclient.v2 import events @@ -27,6 +28,8 @@ class Client(object): def __init__(self, session=None, service_type='event', **kwargs): """Initialize a new client for the Panko v2 API.""" + if session is None: + raise ClientException(message='Session is required argument') self.http_client = client.SessionClient( session, service_type=service_type, **kwargs) self.capabilities = capabilities.CapabilitiesManager(self.http_client) diff --git a/requirements.txt b/requirements.txt index 50abc10..600e72d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,11 +2,11 @@ # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. -keystoneauth1>=2.18.0 # Apache-2.0 -osc-lib>=1.2.0 # Apache-2.0 +keystoneauth1>=3.4.0 # Apache-2.0 +osc-lib>=1.8.0 # Apache-2.0 oslo.i18n>=2.1.0 # Apache-2.0 oslo.serialization>=1.10.0 # Apache-2.0 oslo.utils>=3.18.0 # Apache-2.0 pbr>=1.8 # Apache-2.0 -requests!=2.12.2,>=2.10.0 # Apache-2.0 +requests>=2.14.2 # Apache-2.0 six>=1.9.0 # MIT