Merge "Fix access_ip_v4/6 filters params for servers filter"

This commit is contained in:
Jenkins
2017-02-02 19:55:49 +00:00
committed by Gerrit Code Review
2 changed files with 50 additions and 2 deletions

View File

@ -340,8 +340,8 @@ query_params_v21 = {
'uuid': common_param,
'root_device_name': common_regex_param,
'config_drive': common_regex_param,
'accessIPv4': common_regex_param,
'accessIPv6': common_regex_param,
'access_ip_v4': common_regex_param,
'access_ip_v6': common_regex_param,
'auto_disk_config': common_regex_param,
'progress': common_regex_param,
'sort_key': multi_params(VALID_SORT_KEYS),

View File

@ -1272,6 +1272,54 @@ class ServersControllerTest(ControllerTest):
self.assertEqual(len(servers), 1)
self.assertEqual(servers[0]['id'], server_uuid)
def test_get_servers_admin_allows_access_ip_v4(self):
"""Test getting servers by access_ip_v4 with admin_api enabled and
admin context
"""
server_uuid = uuids.fake
def fake_get_all(compute_self, context, search_opts=None,
limit=None, marker=None,
expected_attrs=None, sort_keys=None, sort_dirs=None):
self.assertIsNotNone(search_opts)
self.assertIn('access_ip_v4', search_opts)
self.assertEqual(search_opts['access_ip_v4'], 'ffff.*')
return objects.InstanceList(
objects=[fakes.stub_instance_obj(100, uuid=server_uuid)])
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
req = self.req('/fake/servers?access_ip_v4=ffff.*',
use_admin_context=True)
servers = self.controller.index(req)['servers']
self.assertEqual(1, len(servers))
self.assertEqual(server_uuid, servers[0]['id'])
def test_get_servers_admin_allows_access_ip_v6(self):
"""Test getting servers by access_ip_v6 with admin_api enabled and
admin context
"""
server_uuid = uuids.fake
def fake_get_all(compute_self, context, search_opts=None,
limit=None, marker=None,
expected_attrs=None, sort_keys=None, sort_dirs=None):
self.assertIsNotNone(search_opts)
self.assertIn('access_ip_v6', search_opts)
self.assertEqual(search_opts['access_ip_v6'], 'ffff.*')
return objects.InstanceList(
objects=[fakes.stub_instance_obj(100, uuid=server_uuid)])
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
req = self.req('/fake/servers?access_ip_v6=ffff.*',
use_admin_context=True)
servers = self.controller.index(req)['servers']
self.assertEqual(1, len(servers))
self.assertEqual(server_uuid, servers[0]['id'])
def test_get_all_server_details(self):
expected_flavor = {
"id": "2",