openwallet-foundation / acapy

Hyperledger Aries Cloud Agent Python (ACA-Py) is a foundation for building decentralized identity applications and services running in non-mobile environments.
https://wiki.hyperledger.org/display/aries
Apache License 2.0
412 stars 512 forks source link

Asynctest replacement #1717

Closed andrewwhitehead closed 11 months ago

andrewwhitehead commented 2 years ago

The asynctest library which we use extensively in unit tests is no longer being maintained, and does not function properly under Python 3.8+.

Coincidentally, Python 3.8 with mock 4.0 introduces some tools (IsolatedAsyncioTestCase and AsyncMock) which might be sufficient to replace it. It looks like there is a backwards-compatible stub which could be required for testing in Python 3.6 and 3.7.

There would be some changes required to all async test cases (using asyncSetUp instead of async def setUp for example), and we will probably want to try porting some more advanced test cases first in order to check if any other features of asynctest are required.

swcurran commented 2 years ago

For anyone wanting to contributing and to get a good view on the scope of ACA-Py, this would be a good task.