diff --git a/keystoneclient/tests/v3/test_services.py b/keystoneclient/tests/v3/test_services.py index d271afe0..53672411 100644 --- a/keystoneclient/tests/v3/test_services.py +++ b/keystoneclient/tests/v3/test_services.py @@ -30,3 +30,15 @@ class ServiceTests(utils.TestCase, utils.CrudTests): kwargs.setdefault('type', uuid.uuid4().hex) kwargs.setdefault('enabled', True) return kwargs + + def test_list_filter_name(self): + filter_name = uuid.uuid4().hex + expected_query = {'name': filter_name} + super(ServiceTests, self).test_list(expected_query=expected_query, + name=filter_name) + + def test_list_filter_type(self): + filter_type = uuid.uuid4().hex + expected_query = {'type': filter_type} + super(ServiceTests, self).test_list(expected_query=expected_query, + type=filter_type) diff --git a/keystoneclient/v3/services.py b/keystoneclient/v3/services.py index e0fd2c87..d6d4c80d 100644 --- a/keystoneclient/v3/services.py +++ b/keystoneclient/v3/services.py @@ -50,6 +50,13 @@ class ServiceManager(base.CrudManager): return super(ServiceManager, self).get( service_id=base.getid(service)) + @utils.positional(enforcement=utils.positional.WARN) + def list(self, name=None, type=None, **kwargs): + return super(ServiceManager, self).list( + name=name, + type=type, + **kwargs) + @utils.positional(enforcement=utils.positional.WARN) def update(self, service, name=None, type=None, enabled=None, description=None, **kwargs):