aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| | | * | | | | | | Remove empty tests.cogs folderGravatar Sebastiaan Zeeff2019-10-14-0/+0
| | | | | | | | | |
| | | * | | | | | | Merge branch 'cogs-security-unittest' into unittest-migrationGravatar Sebastiaan Zeeff2019-10-14-0/+59
| | | |\ \ \ \ \ \ \
| | | | * | | | | | | Move test_security to tests.bot.cogsGravatar Sebastiaan Zeeff2019-10-14-0/+0
| | | | | | | | | | |
| | | | * | | | | | | Use `MockBot` and `MockContext`.Gravatar Johannes Christ2019-10-13-3/+3
| | | | | | | | | | |
| | | | * | | | | | | Move the `security` cog tests to `unittest`.Gravatar Johannes Christ2019-10-12-0/+59
| | | | | | | | | | |
| | | * | | | | | | | Merge branch 'pagination-tests-to-unittest' into unittest-migrationGravatar Sebastiaan Zeeff2019-10-14-0/+36
| | | |\ \ \ \ \ \ \ \
| | | | * | | | | | | | Move test_pagination to tests.bot subdirGravatar Sebastiaan Zeeff2019-10-14-0/+0
| | | | | | | | | | | |
| | | | * | | | | | | | Move `tests.test_pagination` to `unittest`.Gravatar Johannes Christ2019-10-12-0/+36
| | | | |/ / / / / / /
| | | * | | | | | | | Move sync tests to tests.bot.cogs.syncGravatar Sebastiaan Zeeff2019-10-13-0/+0
| | | | | | | | | | |
| | | * | | | | | | | Merge branch 'cogs-antispam-unittest' into unittest-migrationGravatar Sebastiaan Zeeff2019-10-13-0/+35
| | | |\ \ \ \ \ \ \ \
| | | | * | | | | | | | Move test_antispam.py to tests.bot.cogsGravatar Sebastiaan Zeeff2019-10-13-0/+0
| | | | | | | | | | | |
| | | | * | | | | | | | Move the `antispam` cog tests to `unittest`.Gravatar Johannes Christ2019-10-12-0/+35
| | | | |/ / / / / / /
| | | * | | | | | | | Merge branch 'rules-attachment-tests-unittest' into unittest-migrationGravatar Sebastiaan Zeeff2019-10-13-0/+52
| | | |\ \ \ \ \ \ \ \
| | | | * | | | | | | | Move test_attachments.py to tests/bot/rules dirGravatar Sebastiaan Zeeff2019-10-13-0/+0
| | | | | | | | | | | |
| | | | * | | | | | | | Move the `rules.attachments` module tests to `unittest`.Gravatar Johannes Christ2019-10-12-0/+52
| | | | |/ / / / / / /
| | | * | | | | | | | Merge branch 'resources-to-unittest' into unittest-migrationGravatar Sebastiaan Zeeff2019-10-13-0/+17
| | | |\ \ \ \ \ \ \ \
| | | | * | | | | | | | Add subTest + move test_resource to resources subdirGravatar Sebastiaan Zeeff2019-10-13-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've added a `self.subTest` to the `name` loop so we still test and get output for all names in the list if one of them fails the test. In addition, I've moved it to the `tests/bot/resources` subdirectory.
| | | | * | | | | | | | Move `tests.test_resources` to `unittest`.Gravatar Johannes Christ2019-10-12-0/+16
| | | | |/ / / / / / /
| | | * | | | | | | | Merge pull request #520 from python-discord/sync-cog-to-unittestGravatar Sebastiaan Zeeff2019-10-13-0/+210
| | | |\ \ \ \ \ \ \ \ | | | | |/ / / / / / / | | | |/| | | | | | | Move the `sync` cog tests to `unittest`.
| | | | * | | | | | | Move the `sync` cog tests to `unittest`.Gravatar Johannes Christ2019-10-12-0/+210
| | | |/ / / / / / /
| | | * | | | | | | Update README.mdGravatar Sebastiaan Zeeff2019-10-11-8/+7
| | | | | | | | | |
| | | * | | | | | | Make textual changes to testing guideGravatar Sebastiaan Zeeff2019-10-11-20/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've made some textual changes to the testing guidelines defined in README.md.
| | | * | | | | | | Change pipeline testrunner to xmlrunnerGravatar Sebastiaan Zeeff2019-10-11-17/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have change the testrunner from `unittest` to `xmlrunner` in the Azure pipeline to be able to publish our test results on Azure. This is the same runner as `site` uses to generate XML reports. In addition, I've cleaned up some small mistakes in docstrings and `README.md`.
| | | * | | | | | | Add tests for tests.baseGravatar Sebastiaan Zeeff2019-10-11-11/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I forgot to test some aspects of the `tests.base` module, including some branches of the `self.assertNotLogs` method. I've corrected that by including a couple of tests. I also removed the test result publishing from the Azure pipeline, since I've not configured an XML test runner yet. The coverage report is still published, of course and test output will be available in standard out, so information is readily available.
| | | * | | | | | | Migrate pytest to unittestGravatar Sebastiaan Zeeff2019-10-11-1285/+1567
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a discussion in the core developers channel, we have decided to migrate from `pytest` to `unittest` as the testing framework. This commit sets up the repository to use `unittest` and migrates the first couple of tests files to the new framework. What I have done to migrate to `unitest`: - Removed all `pytest` test files, since they are incompatible. - Removed `pytest`-related dependencies from the Pipfile. - Added `coverage.py` to the Pipfile dev-packages and relocked. - Added convenience scripts to Pipfile for running the test suite. - Adjust to `azure-pipelines.yml` to use `coverage.py` and `unittest`. - Migrated four test files from `pytest` to `unittest` format. In addition, I've added five helper Mock subclasses in `helpers.py` and created a `TestCase` subclass in `base.py` to add an assertion that asserts that no log records were logged within the context of the context manager. Obviously, these new utility functions and classes are fully tested in their respective `test_` files. Finally, I've started with an introductory guide for writing tests for our bot in `README.md`.
| | | | | * | | | | Fixing formatting for timedelta.Gravatar Shirayuki Nekomata2019-10-21-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Now it will only show the amount of days. - Quality of Life: Also show `day` instead of `days` when it's just 1 day.
| | | | | * | | | | Update defcon.pyGravatar Shirayuki Nekomata2019-10-21-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Update docstrings for `build_defcon_msg()` and `send_defcon_log()` - It is now taking in an `Action` directly instead of a string.
| | | | | * | | | | Update defcon.pyGravatar Shirayuki Nekomata2019-10-21-14/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove the unneccessary `get_info()` method of Enum `Action`. - Pass Enum `Action` directly to `build_defcon_msg()` and `send_defcon_log()` - Right now, only `_defcon_action()` is using them.
| | | | | * | | | | Update defcon.pyGravatar Shirayuki Nekomata2019-10-21-22/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Renamed `DefconInfoLog` to `Action` - Added `ActionInfo` namedtuple. - Use `Action` consistently for `_defcon_action()` and `send_defcon_log()`
| | | | | * | | | | Update defcon.pyGravatar Shirayuki Nekomata2019-10-19-63/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Further unify defcon actions in `_defcon_action` - Thanks to Mark's suggestions. - Changed from a Dict to an Enum for defcon log info.
| | | | | * | | | | Fix defcon having wrong text when disabling.Gravatar Shirayuki Nekomata2019-10-17-50/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #### Closes #539 This pull request fixes the issue for wrong status in the embed, as well as unifying certains if else to prevent similar future errors. Most notable code is here: ```python log_msg = f"**Staffer:** {actor} (`{actor.id}`)\n" if change.lower() == "enabled": icon = Icons.defcon_enabled color = Colours.soft_green status_msg = "DEFCON enabled" log_msg += f"**Days:** {self.days.days}\n\n" elif change.lower() == "disabled": icon = Icons.defcon_disabled color = Colours.soft_red status_msg = "DEFCON enabled" elif change.lower() == "updated": icon = Icons.defcon_updated color = Colour.blurple() status_msg = "DEFCON updated" log_msg += f"**Days:** {self.days.days}\n\n" ``` To remedy this issue, the class will now have a private class variable ```py _defcon_log_info: Dict[str, Tuple] = { 'enabled': (Icons.defcon_enabled, Colours.soft_green, "**Days:** {days}\n\n"), 'disabled': (Icons.defcon_disabled, Colours.soft_red, ""), 'updated': (Icons.defcon_updated, Colour.blurple(), "**Days:** {days}\n\n"), } ``` Another big change is the introduction of `_defcon_action` to unify the process all defcon actions has to go through: - Try to do the action. - Log error if there is any. - Send log message.
| | | | | | | * | | Modify in_channel_check to accept list of channelsGravatar Atul Mishra2019-10-22-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Update test cases for in_channel_check
| | | | | | | * | | Fix typo in channel nameGravatar Atul Mishra2019-10-21-1/+1
| | | | | | | | | |
| | | | | | | * | | Add #admin-spam channel to moderation channels listGravatar Atul Mishra2019-10-21-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Change doc string for cog_check method
| | | | | | | * | | Add missing channels to the configGravatar Atul Mishra2019-10-19-0/+2
| | | | | | | | | |
| | | | | | | * | | Add moderation channels check to cog_checkGravatar Atul Mishra2019-10-19-2/+11
| | | | | | |/ / / | | | | | |/| | |
| | | | | | | * | Substract one to now calculationGravatar Akarys422019-10-23-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid aving `Your reminder will arrive in 59 minutes and 59 seconds!` instead of `Your reminder will arrive in 1 hour!`
| | | | | | | * | Update send_reminder message creationGravatar Akarys422019-10-21-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is now truly backward compatible and use a more DRY method
| | | | | | | * | Merge branch 'master' of https://github.com/python-discord/bot into reminder-upGravatar Akarys422019-10-19-1998/+2072
| | | | | | | |\ \ | | |_|_|_|_|_|/ / | |/| | | | | | |
| * | | | | | | | Fix rule alias. (#537)Gravatar scragly2019-10-16-6/+6
| |\ \ \ \ \ \ \ \ | | |_|_|_|/ / / / | |/| | | | | | | Fix rule alias.
| | * | | | | | | Merge branch 'master' into rule-numGravatar scragly2019-10-16-45/+61
| | |\ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | |
| * | | | | | | | Merge pull request #511 from python-discord/off-topic-checkGravatar Kieran Siek2019-10-15-45/+61
| |\ \ \ \ \ \ \ \ | | |_|_|_|/ / / / | |/| | | | | | | Prevent too similar off-topic channel names
| | * | | | | | | Merge branch 'master' into off-topic-checkGravatar Kieran Siek2019-10-15-47/+230
| | |\ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | |
| | * | | | | | | Merge branch 'master' into off-topic-checkGravatar kosayoda2019-10-15-1882/+2058
| | |\ \ \ \ \ \ \ | | | | |_|_|/ / / | | | |/| | | | |
| | * | | | | | | Utilize __str__ of discord.Member in logging and outputGravatar kosayoda2019-10-12-47/+33
| | | | | | | | |
| | * | | | | | | Add !otn forceadd command.Gravatar kosayoda2019-10-11-0/+8
| | | | | | | | |
| | * | | | | | | Add check to !otn add to prevent too similar names.Gravatar kosayoda2019-10-11-2/+24
| | | | | | | | |
| | | | * | | | | Fix rule alias.Gravatar kosayoda2019-10-15-6/+6
| | |_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow rule alias to take rule numbers, passes them to the `site rules` command. Rules are now 1-indexed to conform with the representation on the website.
| | | | | | * | Delete “confirmation echo”Gravatar Matteo Bertucci2019-10-07-1/+1
| | | | | | | |
| | | | | | * | Turn the jump URL into a clickable linkGravatar Matteo Bertucci2019-10-07-1/+1
| | | | | | | |