summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMehdi Abaakouk <sileht@redhat.com>2015-11-19 16:29:53 +0100
committerMehdi Abaakouk <sileht@redhat.com>2015-11-20 08:29:11 +0100
commit25070cd88eccf10eb66ecd42515d9aa54d940eda (patch)
tree6a1f7f48773d7411f1f84911d2db05813588f942
parent52d518537df335432fc487ccd5c81a500049cd28 (diff)
downloadpython-ceilometerclient-25070cd88eccf10eb66ecd42515d9aa54d940eda.tar.gz
Remove double API requests
When a keystone session object is used API call are done twice. This change fixes that. Change-Id: I79815520b996bce954fe531193f1a0229ef30060
-rw-r--r--ceilometerclient/client.py1
-rw-r--r--ceilometerclient/tests/unit/test_client.py11
2 files changed, 11 insertions, 1 deletions
diff --git a/ceilometerclient/client.py b/ceilometerclient/client.py
index 8254c48..82fa967 100644
--- a/ceilometerclient/client.py
+++ b/ceilometerclient/client.py
@@ -508,7 +508,6 @@ class SessionClient(adapter.LegacyJsonAdapter):
super(SessionClient, self).__init__(*args, **kwargs)
def request(self, url, method, **kwargs):
- self.session.request(url, method)
kwargs.setdefault('headers', kwargs.get('headers', {}))
# NOTE(sileht): The standard call raises errors from
# keystoneauth, where we need to raise the gnocchiclient errors.
diff --git a/ceilometerclient/tests/unit/test_client.py b/ceilometerclient/tests/unit/test_client.py
index 99fa212..90f0c3d 100644
--- a/ceilometerclient/tests/unit/test_client.py
+++ b/ceilometerclient/tests/unit/test_client.py
@@ -379,6 +379,17 @@ class ClientAuthTest(utils.BaseTestCase):
session_instance_mock.get_endpoint.assert_called_with(
region_name=None, interface='publicURL', service_type='alarming')
+ def test_http_client_with_session(self):
+ session = mock.Mock()
+ session.request.return_value = mock.Mock(status_code=404,
+ text=b'')
+
+ env = {"session": session,
+ "service_type": "metering",
+ "user_agent": "python-ceilometerclient"}
+ c = client.SessionClient(**env)
+ self.assertRaises(exc.HTTPException, c.get, "/")
+
def test_get_aodh_endpoint_without_auth_url(self):
env = FAKE_ENV.copy()
env.pop('auth_plugin', None)