diff --git a/tests/test_utils_asyncgen.py b/tests/test_utils_asyncgen.py index 7f9c0371b..1e4dfbaf9 100644 --- a/tests/test_utils_asyncgen.py +++ b/tests/test_utils_asyncgen.py @@ -1,38 +1,44 @@ import sys -from unittest import TestCase from pytest import mark +from twisted.trial import unittest + +from scrapy.utils.defer import deferred_f_from_coro_f @mark.skipif(sys.version_info < (3, 6), reason="Async generators require Python 3.6 or higher") -class AsyncGeneratorTest(TestCase): +class AsyncGeneratorTest(unittest.TestCase): + @deferred_f_from_coro_f async def test_as_async_generator_simple(self): from scrapy.utils.asyncgen import as_async_generator gen = (i for i in range(3)) results = [] async for i in as_async_generator(gen): results.append(i) - self.assertEqual(results, [1, 2, 3]) + self.assertEqual(results, [0, 1, 2]) + @deferred_f_from_coro_f async def test_as_async_generator_list(self): from scrapy.utils.asyncgen import as_async_generator L = [i for i in range(3)] results = [] async for i in as_async_generator(L): results.append(i) - self.assertEqual(results, [1, 2, 3]) + self.assertEqual(results, [0, 1, 2]) + @deferred_f_from_coro_f async def test_as_async_generator_async(self): from scrapy.utils.asyncgen import as_async_generator from tests.py36._test_utils_asyncgen import async_gen results = [] async for i in as_async_generator(async_gen()): results.append(i) - self.assertEqual(results, [1, 2, 3]) + self.assertEqual(results, [0, 1, 2]) + @deferred_f_from_coro_f async def test_collect_asyncgen(self): from scrapy.utils.asyncgen import collect_asyncgen from tests.py36._test_utils_asyncgen import async_gen - results = collect_asyncgen(async_gen()) - self.assertEqual(results, [1, 2, 3]) + results = await collect_asyncgen(async_gen()) + self.assertEqual(results, [0, 1, 2])