Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When deploying
filmbot
to AWS, the majority of issues are small Python mistakes insidediscord_handler.py
. Although there isn't a terrible amount of logic inside this file, there's still a decent amount of code that could go wrong.This commit adds a reasonable attempt at testing most inputs to
handle_discord
(perhaps with the exception of the film autocomplete as it relys on IMDbPy to send a network request).Throughout testing I have found 2 potential causes for non-determinism, which won't actually cause any issues in the real world, but makes unit testing difficult. One was unnecessarily converting an iterable into a
set
and then iterating through it to display a message, and the second was a situation that arises in the test where we may or may not have the two nominated films share an identical timestamp depending on how fast the code runs. In the case of a tiemoto
returns the results in a different order from the query than if they were different. To fix this we make sure to sort entries by Discord User ID if the nomination timestamps are the same.