Skip to content

Commit

Permalink
Merge "[VNC API lib] Permits to set a list of value for filters"
Browse files Browse the repository at this point in the history
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Jan 25, 2017
2 parents f3b4ef8 + adbf269 commit 80a7dcb
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/api-lib/vnc_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -1171,8 +1171,17 @@ def resource_list(self, obj_type, parent_id=None, parent_fq_name=None,
query_params['shared'] = shared

if filters:
query_params['filters'] = ','.join(
'%s==%s' %(k,json.dumps(v)) for k,v in filters.items())
query_params['filters'] = ''
for key, value in filters.items():
if isinstance(value, list):
query_params['filters'] += ','.join(
'%s==%s' % (key, json.dumps(val)) for val in value)
else:
query_params['filters'] += ('%s==%s' %
(key, json.dumps(value)))
query_params['filters'] += ','
# Remove last trailing comma
query_params['filters'] = query_params['filters'][:-1]

if self._exclude_hrefs is not None:
query_params['exclude_hrefs'] = True
Expand Down
12 changes: 12 additions & 0 deletions src/config/api-server/tests/test_crud_basic.py
Original file line number Diff line number Diff line change
Expand Up @@ -976,6 +976,18 @@ def create_vns():
self.assertThat(read_display_names,
Contains(obj.display_name))

# unanchored detailed list with filter with multiple values
filtered_display_names = [
'%s-%d' %(self.id(), num_objs - 1),
'%s-%d' %(self.id(), num_objs - 2),
]
read_vn_objs = self._vnc_lib.virtual_networks_list(
detail=True,
filters={'display_name': filtered_display_names})
self.assertEqual(len(read_vn_objs), len(filtered_display_names))
read_display_names = [o.display_name for o in read_vn_objs]
self.assertEqual(set(read_display_names), set(filtered_display_names))

# parent anchored summary list without filters, with extra fields
read_vn_dicts = self._vnc_lib.virtual_networks_list(
parent_id=proj_obj.uuid,
Expand Down

0 comments on commit 80a7dcb

Please sign in to comment.