Load resource filter config file in testcase
Add testcase to ensure required filter keys exist in config file. Change-Id: I48a502ca9665c77725c634dd4e878bd48166988d
This commit is contained in:
parent
71a97f3470
commit
58215fe7d3
@ -92,6 +92,7 @@ class TestCase(testtools.TestCase):
|
||||
"""Test case base class for all unit tests."""
|
||||
|
||||
POLICY_PATH = 'cinder/tests/unit/policy.json'
|
||||
RESOURCE_FILTER_PATH = 'etc/cinder/resource_filters.json'
|
||||
MOCK_WORKER = True
|
||||
MOCK_TOOZ = True
|
||||
|
||||
@ -232,7 +233,15 @@ class TestCase(testtools.TestCase):
|
||||
),
|
||||
self.POLICY_PATH),
|
||||
group='oslo_policy')
|
||||
|
||||
self.override_config('resource_query_filters_file',
|
||||
os.path.join(
|
||||
os.path.abspath(
|
||||
os.path.join(
|
||||
os.path.dirname(__file__),
|
||||
'..',
|
||||
)
|
||||
),
|
||||
self.RESOURCE_FILTER_PATH))
|
||||
self._disable_osprofiler()
|
||||
self._disallow_invalid_uuids()
|
||||
|
||||
|
@ -372,9 +372,9 @@ class GeneralFiltersTest(test.TestCase):
|
||||
'expected': {'volume': ['key1', 'key2']}})
|
||||
@ddt.unpack
|
||||
def test_get_enabled_resource_filters(self, filters, resource, expected):
|
||||
common._FILTERS_COLLECTION = filters
|
||||
result = common.get_enabled_resource_filters(resource)
|
||||
self.assertEqual(expected, result)
|
||||
with mock.patch('cinder.api.common._FILTERS_COLLECTION', filters):
|
||||
result = common.get_enabled_resource_filters(resource)
|
||||
self.assertEqual(expected, result)
|
||||
|
||||
@ddt.data({'filters': {'key1': 'value1'},
|
||||
'is_admin': False,
|
||||
@ -459,6 +459,28 @@ class GeneralFiltersTest(test.TestCase):
|
||||
common.reject_invalid_filters, fake_context,
|
||||
filters, 'fake_resource')
|
||||
|
||||
@ddt.data({'resource': 'volume',
|
||||
'expected': ["name", "status", "metadata",
|
||||
"bootable", "migration_status",
|
||||
"availability_zone", "group_id"]},
|
||||
{'resource': 'backup',
|
||||
'expected': ["name", "status", "volume_id"]},
|
||||
{'resource': 'snapshot',
|
||||
'expected': ["name", "status", "volume_id", "metadata"]},
|
||||
{'resource': 'group_snapshot',
|
||||
'expected': ["status", "group_id"]},
|
||||
{'resource': 'attachment',
|
||||
'expected': ["volume_id", "status", "instance_id",
|
||||
"attach_status"]},
|
||||
{'resource': 'message',
|
||||
'expected': ["resource_uuid", "resource_type", "event_id",
|
||||
"request_id", "message_level"]},
|
||||
{'resource': 'pool', 'expected': ["name", "volume_type"]})
|
||||
@ddt.unpack
|
||||
def test_filter_keys_exists(self, resource, expected):
|
||||
result = common.get_enabled_resource_filters(resource)
|
||||
self.assertEqual(expected, result[resource])
|
||||
|
||||
@ddt.data({'resource': 'group',
|
||||
'filters': {'name~': 'value'},
|
||||
'expected': {'name~': 'value'}},
|
||||
|
@ -15,9 +15,9 @@ Tests for resource filters API.
|
||||
"""
|
||||
|
||||
import ddt
|
||||
import mock
|
||||
import six
|
||||
|
||||
from cinder.api import common
|
||||
from cinder.api.v3 import resource_filters as v3_filters
|
||||
from cinder import test
|
||||
from cinder.tests.unit.api import fakes
|
||||
@ -49,18 +49,17 @@ class ResourceFiltersAPITestCase(test.TestCase):
|
||||
'expected_filters': []})
|
||||
@ddt.unpack
|
||||
def test_get_allowed_filters(self, filters, resource, expected_filters):
|
||||
common._FILTERS_COLLECTION = filters
|
||||
request_url = '/v3/%s/resource_filters' % fake.PROJECT_ID
|
||||
if resource is not None:
|
||||
request_url += '?resource=%s' % resource
|
||||
req = fakes.HTTPRequest.blank(request_url,
|
||||
version=FILTERS_MICRO_VERSION)
|
||||
|
||||
result = self.controller.index(req)
|
||||
|
||||
six.assertCountEqual(self,
|
||||
list(six.viewkeys(result)),
|
||||
['resource_filters'])
|
||||
six.assertCountEqual(self,
|
||||
expected_filters,
|
||||
result['resource_filters'])
|
||||
with mock.patch('cinder.api.common._FILTERS_COLLECTION', filters):
|
||||
result = self.controller.index(req)
|
||||
six.assertCountEqual(self,
|
||||
list(six.viewkeys(result)),
|
||||
['resource_filters'])
|
||||
six.assertCountEqual(self,
|
||||
expected_filters,
|
||||
result['resource_filters'])
|
||||
|
Loading…
x
Reference in New Issue
Block a user