Testing for providers requiring authorization #11691
Merged
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.
This PR demonstrates a proposed approach to testing torrent providers requiring authorization using
animebytes
as an example.Authorization mechanism is a part of an individual provider implementation. Usually, it depends on credentials stored as attributes of a provider class. In this particular example of
animebytes
provider,username
andpasskey
attributes store user-provided credentials.When provider class is imported to the testing context, advanced configuration of the instance can performed by injecting custom attributes found in
_meta.attr
in the test YAML file.To prevent credentials from getting leaked by VCR recording them in the request, VCR context configuration can be defined in
_meta.vcr
. In case ofanimebytes
, credentials are supplied asusername
andtorrent_pass
query parameters, so they have to be stripped withfilter_query_parameters=['username', 'torrent_pass']
param provided touse_cassette()
. ReferenceTo sum up, this PR introduces: