aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar MarkKoz <[email protected]>2020-02-23 22:00:34 -0800
committerGravatar MarkKoz <[email protected]>2020-02-23 22:00:34 -0800
commit0de8f42c122a4bf8f0ea84ea481d2f26d718a0c7 (patch)
treec25cf5f802b8ca81f411bcc756813dfb8975e181
parentMigrate syncers test suite to Python 3.8 (diff)
Sync tests: use autospec instead of MockSyncer
Autospec supports using AsyncMocks in 3.8 so there's no need to rely on a subclass of CustomMockMixin for the async mocks.
-rw-r--r--tests/bot/cogs/sync/test_cog.py22
1 files changed, 4 insertions, 18 deletions
diff --git a/tests/bot/cogs/sync/test_cog.py b/tests/bot/cogs/sync/test_cog.py
index 8c87c0d6b..81398c61f 100644
--- a/tests/bot/cogs/sync/test_cog.py
+++ b/tests/bot/cogs/sync/test_cog.py
@@ -11,19 +11,6 @@ from tests import helpers
from tests.base import CommandTestCase
-class MockSyncer(helpers.CustomMockMixin, mock.MagicMock):
- """
- A MagicMock subclass to mock Syncer objects.
-
- Instances of this class will follow the specifications of `bot.cogs.sync.syncers.Syncer`
- instances. For more information, see the `MockGuild` docstring.
- """
- spec_set = Syncer
-
- def __init__(self, **kwargs) -> None:
- super().__init__(**kwargs)
-
-
class SyncExtensionTests(unittest.IsolatedAsyncioTestCase):
"""Tests for the sync extension."""
@@ -41,16 +28,15 @@ class SyncCogTestCase(unittest.IsolatedAsyncioTestCase):
def setUp(self):
self.bot = helpers.MockBot()
- # These patch the type. When the type is called, a MockSyncer instanced is returned.
- # MockSyncer is needed so that our custom AsyncMock is used.
- # TODO: Use autospec instead in 3.8, which will automatically use AsyncMock when needed.
self.role_syncer_patcher = mock.patch(
"bot.cogs.sync.syncers.RoleSyncer",
- new=mock.MagicMock(return_value=MockSyncer())
+ autospec=Syncer,
+ spec_set=True
)
self.user_syncer_patcher = mock.patch(
"bot.cogs.sync.syncers.UserSyncer",
- new=mock.MagicMock(return_value=MockSyncer())
+ autospec=Syncer,
+ spec_set=True
)
self.RoleSyncer = self.role_syncer_patcher.start()
self.UserSyncer = self.user_syncer_patcher.start()