diff options
-rw-r--r-- | ceilometerclient/tests/unit/test_client.py | 10 | ||||
-rw-r--r-- | ceilometerclient/v2/client.py | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/ceilometerclient/tests/unit/test_client.py b/ceilometerclient/tests/unit/test_client.py index 000f0e8..5233709 100644 --- a/ceilometerclient/tests/unit/test_client.py +++ b/ceilometerclient/tests/unit/test_client.py @@ -17,6 +17,7 @@ from keystoneclient.auth.identity import v3 as v3_auth from keystoneclient import exceptions as ks_exc from keystoneclient import session as ks_session import mock +import requests from ceilometerclient import client from ceilometerclient import exc @@ -218,6 +219,15 @@ class ClientTestWithAodh(ClientTest): self.assertEqual('True', (client.alarm_client.http_client. auth_plugin.opts['insecure'])) + def test_ceilometerclient_available_without_aodh_services_running(self): + env = FAKE_ENV.copy() + env.pop('auth_plugin', None) + with mock.patch('ceilometerclient.openstack.common.apiclient.client.' + 'HTTPClient.client_request') as mocked_request: + mocked_request.side_effect = requests.exceptions.ConnectionError + ceiloclient = client.get_client(2, **env) + self.assertIsInstance(ceiloclient, v2client.Client) + class ClientAuthTest(utils.BaseTestCase): diff --git a/ceilometerclient/v2/client.py b/ceilometerclient/v2/client.py index 3aaf9b1..9620c4a 100644 --- a/ceilometerclient/v2/client.py +++ b/ceilometerclient/v2/client.py @@ -16,6 +16,8 @@ # under the License. import copy +import requests + from ceilometerclient import client as ceiloclient from ceilometerclient.v2 import alarms from ceilometerclient.v2 import capabilities @@ -125,3 +127,5 @@ class Client(object): return None except kc_exc.EndpointNotFound: return None + except requests.exceptions.ConnectionError: + return None |