Skip to content
This repository has been archived by the owner on Dec 31, 2023. It is now read-only.

fix: allow any set query_params to work with query.iter() #83

Merged
merged 1 commit into from Feb 18, 2021
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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 3 additions & 1 deletion google/cloud/monitoring_v3/query.py
Expand Up @@ -443,7 +443,9 @@ def iter(self, headers_only=False, page_size=None):
raise ValueError("Query time interval not specified.")

params = self._build_query_params(headers_only, page_size)
for ts in self._client.list_time_series(**params):

request = monitoring_v3.ListTimeSeriesRequest(**params)
for ts in self._client.list_time_series(request):
yield ts

def _build_query_params(self, headers_only=False, page_size=None):
Expand Down
8 changes: 8 additions & 0 deletions tests/unit/test_query.py
Expand Up @@ -394,6 +394,10 @@ def test_iteration_headers_only(self):
client = self._create_client(channel)
query = self._make_one(client, PROJECT, METRIC_TYPE)
query = query.select_interval(start_time=T0, end_time=T1)

# add a temporal alignment to test that "aggregation" query params is
# correctly processed
query = query.align(monitoring_v3.Aggregation.Aligner.ALIGN_MAX, seconds=3600)
response = list(query.iter(headers_only=True))

self.assertEqual(len(response), 2)
Expand All @@ -412,6 +416,10 @@ def test_iteration_headers_only(self):
filter='metric.type = "{type}"'.format(type=METRIC_TYPE),
interval=self._make_interval(T1, T0),
view=monitoring_v3.ListTimeSeriesRequest.TimeSeriesView.HEADERS,
aggregation=monitoring_v3.Aggregation(
per_series_aligner=monitoring_v3.Aggregation.Aligner.ALIGN_MAX,
alignment_period={"seconds": 3600},
),
)
request = channel.requests[0][1]
self.assertEqual(request, expected_request)
Expand Down