Skip to content

Commit 92299a2

Browse files
authored
[Cosmos] testing pipelines fix (Azure#31435)
* Update test_query.py * Update test_query_async.py
1 parent 0253db2 commit 92299a2

File tree

2 files changed

+2
-225
lines changed

2 files changed

+2
-225
lines changed

sdk/cosmos/azure-cosmos/test/test_query.py

Lines changed: 0 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -268,117 +268,6 @@ def test_query_change_feed_with_pk_range_id(self):
268268
iter_list = list(query_iterable)
269269
self.assertEqual(len(iter_list), 0)
270270

271-
def test_query_change_feed(self, use_partition_key):
272-
created_collection = self.created_db.create_container_if_not_exists("change_feed_test_" + str(uuid.uuid4()),
273-
PartitionKey(path="/pk"))
274-
# The test targets partition #3
275-
partition_key = "pk"
276-
partition_key_range_id = 0
277-
partition_param = {"partition_key": partition_key} if use_partition_key else {
278-
"partition_key_range_id": partition_key_range_id}
279-
280-
# Read change feed without passing any options
281-
query_iterable = created_collection.query_items_change_feed()
282-
iter_list = list(query_iterable)
283-
self.assertEqual(len(iter_list), 0)
284-
285-
# Read change feed from current should return an empty list
286-
query_iterable = created_collection.query_items_change_feed(**partition_param)
287-
iter_list = list(query_iterable)
288-
self.assertEqual(len(iter_list), 0)
289-
self.assertTrue('etag' in created_collection.client_connection.last_response_headers)
290-
self.assertNotEqual(created_collection.client_connection.last_response_headers['etag'], '')
291-
292-
# Read change feed from beginning should return an empty list
293-
query_iterable = created_collection.query_items_change_feed(
294-
is_start_from_beginning=True,
295-
**partition_param
296-
)
297-
iter_list = list(query_iterable)
298-
self.assertEqual(len(iter_list), 0)
299-
self.assertTrue('etag' in created_collection.client_connection.last_response_headers)
300-
continuation1 = created_collection.client_connection.last_response_headers['etag']
301-
self.assertNotEqual(continuation1, '')
302-
303-
# Create a document. Read change feed should return be able to read that document
304-
document_definition = {'pk': 'pk', 'id': 'doc1'}
305-
created_collection.create_item(body=document_definition)
306-
query_iterable = created_collection.query_items_change_feed(
307-
is_start_from_beginning=True,
308-
**partition_param
309-
)
310-
iter_list = list(query_iterable)
311-
self.assertEqual(len(iter_list), 1)
312-
self.assertEqual(iter_list[0]['id'], 'doc1')
313-
self.assertTrue('etag' in created_collection.client_connection.last_response_headers)
314-
continuation2 = created_collection.client_connection.last_response_headers['etag']
315-
self.assertNotEqual(continuation2, '')
316-
self.assertNotEqual(continuation2, continuation1)
317-
318-
# Create two new documents. Verify that change feed contains the 2 new documents
319-
# with page size 1 and page size 100
320-
document_definition = {'pk': 'pk', 'id': 'doc2'}
321-
created_collection.create_item(body=document_definition)
322-
document_definition = {'pk': 'pk', 'id': 'doc3'}
323-
created_collection.create_item(body=document_definition)
324-
325-
for pageSize in [1, 100]:
326-
# verify iterator
327-
query_iterable = created_collection.query_items_change_feed(
328-
continuation=continuation2,
329-
max_item_count=pageSize,
330-
**partition_param
331-
)
332-
it = query_iterable.__iter__()
333-
expected_ids = 'doc2.doc3.'
334-
actual_ids = ''
335-
for item in it:
336-
actual_ids += item['id'] + '.'
337-
self.assertEqual(actual_ids, expected_ids)
338-
339-
# verify by_page
340-
# the options is not copied, therefore it need to be restored
341-
query_iterable = created_collection.query_items_change_feed(
342-
continuation=continuation2,
343-
max_item_count=pageSize,
344-
**partition_param
345-
)
346-
count = 0
347-
expected_count = 2
348-
all_fetched_res = []
349-
for page in query_iterable.by_page():
350-
fetched_res = list(page)
351-
self.assertEqual(len(fetched_res), min(pageSize, expected_count - count))
352-
count += len(fetched_res)
353-
all_fetched_res.extend(fetched_res)
354-
355-
actual_ids = ''
356-
for item in all_fetched_res:
357-
actual_ids += item['id'] + '.'
358-
self.assertEqual(actual_ids, expected_ids)
359-
360-
# verify reading change feed from the beginning
361-
query_iterable = created_collection.query_items_change_feed(
362-
is_start_from_beginning=True,
363-
**partition_param
364-
)
365-
expected_ids = ['doc1', 'doc2', 'doc3']
366-
it = query_iterable.__iter__()
367-
for i in range(0, len(expected_ids)):
368-
doc = next(it)
369-
self.assertEqual(doc['id'], expected_ids[i])
370-
self.assertTrue('etag' in created_collection.client_connection.last_response_headers)
371-
continuation3 = created_collection.client_connection.last_response_headers['etag']
372-
373-
# verify reading empty change feed
374-
query_iterable = created_collection.query_items_change_feed(
375-
continuation=continuation3,
376-
is_start_from_beginning=True,
377-
**partition_param
378-
)
379-
iter_list = list(query_iterable)
380-
self.assertEqual(len(iter_list), 0)
381-
382271
def test_populate_query_metrics(self):
383272
created_collection = self.created_db.create_container_if_not_exists("query_metrics_test",
384273
PartitionKey(path="/pk"))

sdk/cosmos/azure-cosmos/test/test_query_async.py

Lines changed: 2 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -269,118 +269,6 @@ async def test_query_change_feed_with_pk_range_id(self):
269269
iter_list = [item async for item in query_iterable]
270270
self.assertEqual(len(iter_list), 0)
271271

272-
async def test_query_change_feed(self, use_partition_key):
273-
created_collection = await self.created_db.create_container_if_not_exists(
274-
"change_feed_test_" + str(uuid.uuid4()),
275-
PartitionKey(path="/pk"))
276-
# The test targets partition #3
277-
partition_key = "pk"
278-
partition_key_range_id = 0
279-
partition_param = {"partition_key": partition_key} if use_partition_key else {
280-
"partition_key_range_id": partition_key_range_id}
281-
282-
# Read change feed without passing any options
283-
query_iterable = created_collection.query_items_change_feed()
284-
iter_list = [item async for item in query_iterable]
285-
self.assertEqual(len(iter_list), 0)
286-
287-
# Read change feed from current should return an empty list
288-
query_iterable = created_collection.query_items_change_feed(**partition_param)
289-
iter_list = [item async for item in query_iterable]
290-
self.assertEqual(len(iter_list), 0)
291-
self.assertTrue('etag' in created_collection.client_connection.last_response_headers)
292-
self.assertNotEqual(created_collection.client_connection.last_response_headers['etag'], '')
293-
294-
# Read change feed from beginning should return an empty list
295-
query_iterable = created_collection.query_items_change_feed(
296-
is_start_from_beginning=True,
297-
**partition_param
298-
)
299-
iter_list = [item async for item in query_iterable]
300-
self.assertEqual(len(iter_list), 0)
301-
self.assertTrue('etag' in created_collection.client_connection.last_response_headers)
302-
continuation1 = created_collection.client_connection.last_response_headers['etag']
303-
self.assertNotEqual(continuation1, '')
304-
305-
# Create a document. Read change feed should return be able to read that document
306-
document_definition = {'pk': 'pk', 'id': 'doc1'}
307-
await created_collection.create_item(body=document_definition)
308-
query_iterable = created_collection.query_items_change_feed(
309-
is_start_from_beginning=True,
310-
**partition_param
311-
)
312-
iter_list = [item async for item in query_iterable]
313-
self.assertEqual(len(iter_list), 1)
314-
self.assertEqual(iter_list[0]['id'], 'doc1')
315-
self.assertTrue('etag' in created_collection.client_connection.last_response_headers)
316-
continuation2 = created_collection.client_connection.last_response_headers['etag']
317-
self.assertNotEqual(continuation2, '')
318-
self.assertNotEqual(continuation2, continuation1)
319-
320-
# Create two new documents. Verify that change feed contains the 2 new documents
321-
# with page size 1 and page size 100
322-
document_definition = {'pk': 'pk', 'id': 'doc2'}
323-
await created_collection.create_item(body=document_definition)
324-
document_definition = {'pk': 'pk', 'id': 'doc3'}
325-
await created_collection.create_item(body=document_definition)
326-
327-
for pageSize in [1, 100]:
328-
# verify iterator
329-
query_iterable = created_collection.query_items_change_feed(
330-
continuation=continuation2,
331-
max_item_count=pageSize,
332-
**partition_param
333-
)
334-
it = query_iterable.__aiter__()
335-
expected_ids = 'doc2.doc3.'
336-
actual_ids = ''
337-
async for item in it:
338-
actual_ids += item['id'] + '.'
339-
self.assertEqual(actual_ids, expected_ids)
340-
341-
# verify by_page
342-
# the options is not copied, therefore it need to be restored
343-
query_iterable = created_collection.query_items_change_feed(
344-
continuation=continuation2,
345-
max_item_count=pageSize,
346-
**partition_param
347-
)
348-
count = 0
349-
expected_count = 2
350-
all_fetched_res = []
351-
for page in query_iterable.by_page():
352-
fetched_res = [item async for item in page]
353-
self.assertEqual(len(fetched_res), min(pageSize, expected_count - count))
354-
count += len(fetched_res)
355-
all_fetched_res.extend(fetched_res)
356-
357-
actual_ids = ''
358-
for item in all_fetched_res:
359-
actual_ids += item['id'] + '.'
360-
self.assertEqual(actual_ids, expected_ids)
361-
362-
# verify reading change feed from the beginning
363-
query_iterable = created_collection.query_items_change_feed(
364-
is_start_from_beginning=True,
365-
**partition_param
366-
)
367-
expected_ids = ['doc1', 'doc2', 'doc3']
368-
it = query_iterable.__aiter__()
369-
for i in range(0, len(expected_ids)):
370-
doc = await it.__anext__()
371-
self.assertEqual(doc['id'], expected_ids[i])
372-
self.assertTrue('etag' in created_collection.client_connection.last_response_headers)
373-
continuation3 = created_collection.client_connection.last_response_headers['etag']
374-
375-
# verify reading empty change feed
376-
query_iterable = created_collection.query_items_change_feed(
377-
continuation=continuation3,
378-
is_start_from_beginning=True,
379-
**partition_param
380-
)
381-
iter_list = [item async for item in query_iterable]
382-
self.assertEqual(len(iter_list), 0)
383-
384272
async def test_populate_query_metrics(self):
385273
created_collection = await self.created_db.create_container_if_not_exists("query_metrics_test",
386274
PartitionKey(path="/pk"))
@@ -576,7 +464,7 @@ async def test_distinct(self):
576464

577465
await self._validate_distinct(created_collection=created_collection,
578466
query='SELECT distinct c.%s from c ORDER BY c.%s' % (
579-
distinct_field, distinct_field),
467+
distinct_field, distinct_field),
580468
# nosec
581469
results=self._get_distinct_docs(
582470
self._get_order_by_docs(padded_docs, distinct_field, None), distinct_field,
@@ -635,7 +523,7 @@ async def test_distinct(self):
635523

636524
await self._validate_distinct(created_collection=created_collection,
637525
query='SELECT distinct c.%s from c ORDER BY c.%s' % (
638-
different_field, different_field),
526+
different_field, different_field),
639527
# nosec
640528
results=[],
641529
is_select=True,

0 commit comments

Comments
 (0)