Merge "Handling filters in Generalized Filtering API"
This commit is contained in:
commit
7a14b019a5
@ -427,8 +427,9 @@ def reject_invalid_filters(context, filters, resource,
|
|||||||
"%s~" % key in configured_filters):
|
"%s~" % key in configured_filters):
|
||||||
invalid_filters.append(key)
|
invalid_filters.append(key)
|
||||||
if invalid_filters:
|
if invalid_filters:
|
||||||
if (resource == 'volume_type' and len(invalid_filters) == 1
|
if 'all_tenants' in invalid_filters:
|
||||||
and invalid_filters[0] == 'is_public'):
|
invalid_filters.remove('all_tenants')
|
||||||
|
if len(invalid_filters) == 0:
|
||||||
return
|
return
|
||||||
raise webob.exc.HTTPBadRequest(
|
raise webob.exc.HTTPBadRequest(
|
||||||
explanation=_('Invalid filters %s are found in query '
|
explanation=_('Invalid filters %s are found in query '
|
||||||
|
@ -415,7 +415,7 @@ class GeneralFiltersTest(test.TestCase):
|
|||||||
'resource': 'fake_resource'},
|
'resource': 'fake_resource'},
|
||||||
{'filters': {'is_public': True},
|
{'filters': {'is_public': True},
|
||||||
'is_admin': False,
|
'is_admin': False,
|
||||||
'result': {'volume_type': []},
|
'result': {'volume_type': ["is_public"]},
|
||||||
'expected': {'is_public': True},
|
'expected': {'is_public': True},
|
||||||
'resource': 'volume_type'})
|
'resource': 'volume_type'})
|
||||||
@ddt.unpack
|
@ddt.unpack
|
||||||
@ -485,7 +485,7 @@ class GeneralFiltersTest(test.TestCase):
|
|||||||
'expected': ["name", "status", "volume_id", "metadata",
|
'expected': ["name", "status", "volume_id", "metadata",
|
||||||
"availability_zone"]},
|
"availability_zone"]},
|
||||||
{'resource': 'group_snapshot',
|
{'resource': 'group_snapshot',
|
||||||
'expected': ["status", "group_id"]},
|
'expected': ["name", "status", "group_id"]},
|
||||||
{'resource': 'attachment',
|
{'resource': 'attachment',
|
||||||
'expected': ["volume_id", "status", "instance_id",
|
'expected': ["volume_id", "status", "instance_id",
|
||||||
"attach_status"]},
|
"attach_status"]},
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
"backup": ["name", "status", "volume_id"],
|
"backup": ["name", "status", "volume_id"],
|
||||||
"snapshot": ["name", "status", "volume_id", "metadata",
|
"snapshot": ["name", "status", "volume_id", "metadata",
|
||||||
"availability_zone"],
|
"availability_zone"],
|
||||||
"group": [],
|
"group": ["name"],
|
||||||
"group_snapshot": ["status", "group_id"],
|
"group_snapshot": ["name", "status", "group_id"],
|
||||||
"attachment": ["volume_id", "status", "instance_id", "attach_status"],
|
"attachment": ["volume_id", "status", "instance_id", "attach_status"],
|
||||||
"message": ["resource_uuid", "resource_type", "event_id",
|
"message": ["resource_uuid", "resource_type", "event_id",
|
||||||
"request_id", "message_level"],
|
"request_id", "message_level"],
|
||||||
"pool": ["name", "volume_type"],
|
"pool": ["name", "volume_type"],
|
||||||
"volume_type": []
|
"volume_type": ["is_public"]
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user