aboutsummaryrefslogtreecommitdiffstats
path: root/tests/helpers.py (unfollow)
Commit message (Collapse)AuthorLines
2019-11-14Fix bug in attachments rule where last_message could potentially count twice ↵Gravatar kwzrd-2/+2
in the sum of attachments
2019-11-13Use async_test helper to simplify coro testingGravatar kwzrd-9/+14
2019-11-13Adjust attachments rule to use MockMessage, restructure test casesGravatar kwzrd-20/+23
2019-11-13Adjust links rule to use proper MockMessageGravatar kwzrd-14/+10
2019-11-13Prevent await warnings for MockBot's create_taskGravatar Sebastiaan Zeeff-1/+19
Previously, the coroutine object passed to `MockBot.loop.create_task` would trigger a `RuntimeWarning` for not being awaited as we do not actually create a task for it. To prevent these warnings, coroutine objects passed will now automatically be closed.
2019-11-13Prevent setting unknown attributes on d.py mocksGravatar Sebastiaan Zeeff-158/+101
Our custom `discord.py` now follow the specifications of the object they are mocking more strictly by using the `spec_set` instead of the `spec` kwarg to initialize the specifications. This means that trying to set an attribute that does not follow the specifications will now also result in an `AttributeError`. To make sure we are not trying to set illegal attributes during the default initialization of the mock objects, I've changed the way we handle default values of parameters. This does introduce a breaking change: Instead of passing a `suffix_id`, the `id` attribute should now be passed using the exact name. `id`. This commit also makes sure existing tests follow this change.
2019-11-13Allow `name` attribute to be set during Mock initGravatar Sebastiaan Zeeff-0/+3
The `name` keyword argument has a special meaning for the default mockobjects provided by `unittest.mock`. This means that by default, the common d.py `name` attribute can't be set during initalization of one of our custom Mock-objects by passing it to the constructor. Since it's unlikely for us to make use of the special `name` feature of mocks and more likely to want to set the d.py `name` attribute, I added special handling of the `name` kwarg.
2019-11-13Prevent unwanted logging while running testsGravatar Sebastiaan Zeeff-1/+14
Previously, logging messages would output to std.out. when running individual test files (instead of running the entire suite). To prevent this, I've added a `for`-loop to `tests.helpers` that sets the level of all registered loggers to `CRITICAL`. The reason for adding this to `tests.helpers` is simple: It's the most common file to be imported in individual tests, increasing the chance of the code being run for individual test files. A small downside of this way of handling logging is that when we are trying to assert logging messages are being emitted, we need to set the logger explicitly in the `self.assertLogs` context manager. This is a small downside, though, and probably good practice anyway. There was one test in `tests.bot.test_api` that did not do this, so I have changed this to make the test compatible with the new set-up.
2019-11-09[kaizen] Remove now duplicate channel checkGravatar Derek-19/+18
Unindent subsequent lines after check
2019-11-09Forward user/role pings in checkpoint to mod-alertsGravatar Derek-2/+34
[kaizen] limit on_message listener to verification channel
2019-11-09Adjust incorrect type hintGravatar kwzrd-1/+1
2019-11-09Use MockMessage instead of custom FakeMessageGravatar kwzrd-15/+11
2019-11-09Adjust type hint to correctly represent internal typeGravatar kwzrd-1/+1
2019-11-09Use range to build mock mentions listGravatar kwzrd-1/+1
2019-11-09Adjust docstring asterisk to backtick for consistencyGravatar kwzrd-1/+1
2019-11-09Add missing docstringGravatar kwzrd-0/+1