Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion resource_manager/google/cloud/resource_manager/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

"""A Client for interacting with the Resource Manager API."""

import six

from google.api_core import page_iterator
from google.cloud.client import Client as BaseClient
Expand Down Expand Up @@ -162,7 +163,10 @@ def list_projects(self, filter_params=None, page_size=None):
extra_params['pageSize'] = page_size

if filter_params is not None:
extra_params['filter'] = filter_params
extra_params['filter'] = [
'{}:{}'.format(key, value)
for key, value in six.iteritems(filter_params)
]

return page_iterator.HTTPIterator(
client=self,
Expand Down
3 changes: 2 additions & 1 deletion resource_manager/tests/unit/test_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,12 +217,13 @@ def test_list_projects_with_filter(self):
self.assertEqual(project.status, STATUS)

# Check that the filter made it in the request.
FLATTENED_FILTER_PARAMS = ['id:project-id']
request, = client._connection._requested
self.assertEqual(request, {
'path': '/projects',
'method': 'GET',
'query_params': {
'filter': FILTER_PARAMS,
'filter': FLATTENED_FILTER_PARAMS,
},
})

Expand Down