diff --git a/keystoneclient/tests/v3/test_domains.py b/keystoneclient/tests/v3/test_domains.py index 5482107e6..e86971ac0 100644 --- a/keystoneclient/tests/v3/test_domains.py +++ b/keystoneclient/tests/v3/test_domains.py @@ -29,3 +29,15 @@ class DomainTests(utils.TestCase, utils.CrudTests): kwargs.setdefault('enabled', True) kwargs.setdefault('name', uuid.uuid4().hex) return kwargs + + def test_list_filter_name(self): + super(DomainTests, self).test_list(name='adomain123') + + def test_list_filter_enabled(self): + super(DomainTests, self).test_list(enabled=True) + + def test_list_filter_disabled(self): + # False is converted to '0' ref bug #1267530 + expected_query = {'enabled': '0'} + super(DomainTests, self).test_list(expected_query=expected_query, + enabled=False) diff --git a/keystoneclient/v3/domains.py b/keystoneclient/v3/domains.py index 35d41a744..ebe48f942 100644 --- a/keystoneclient/v3/domains.py +++ b/keystoneclient/v3/domains.py @@ -50,6 +50,10 @@ class DomainManager(base.CrudManager): ``**kwargs`` allows filter criteria to be passed where supported by the server. """ + # Ref bug #1267530 we have to pass 0 for False to get the expected + # results on all keystone versions + if kwargs.get('enabled') is False: + kwargs['enabled'] = 0 return super(DomainManager, self).list(**kwargs) def update(self, domain, name=None,