Skip to content

Commit

Permalink
Fix line endings in reddit plugin test suite
Browse files Browse the repository at this point in the history
  • Loading branch information
dgw committed Nov 29, 2021
1 parent 2bad1e1 commit 7af3889
Showing 1 changed file with 79 additions and 79 deletions.
158 changes: 79 additions & 79 deletions test/modules/test_modules_reddit.py
Original file line number Diff line number Diff line change
@@ -1,79 +1,79 @@
"""Tests for Sopel's ``reddit`` plugin"""
from __future__ import generator_stop

import pytest

from sopel.trigger import PreTrigger


TMP_CONFIG = """
[core]
owner = Admin
nick = Sopel
enable =
reddit
host = irc.libera.chat
"""


@pytest.fixture
def bot(botfactory, configfactory):
settings = configfactory('default.ini', TMP_CONFIG)
return botfactory.preloaded(settings, ['reddit'])


MATCHING_URLS = (
# URLs the reddit plugin is expected to handle
# Should match ONCE each, no more, no less
'https://redd.it/123456',
'https://redd.it/123456/',
'https://reddit.com/123456',
'https://reddit.com/123456/',
'https://reddit.com/r/subname',
'https://reddit.com/r/subname/',
'https://www.reddit.com/r/subname',
'https://www.reddit.com/r/subname/',
'https://reddit.com/comments/123456',
'https://reddit.com/comments/123456/',
'https://www.reddit.com/comments/123456',
'https://www.reddit.com/comments/123456/',
'https://reddit.com/r/subname/comments/123456',
'https://reddit.com/r/subname/comments/123456/',
'https://www.reddit.com/comments/123456?param=value',
'https://www.reddit.com/comments/123456/?param=value',
'https://reddit.com/r/subname/comments/123456?param=value',
'https://reddit.com/r/subname/comments/123456/?param=value',
'https://www.reddit.com/r/subname/comments/123456',
'https://www.reddit.com/r/subname/comments/123456/',
'https://reddit.com/r/subname/comments/123456/post_title_slug/234567',
'https://reddit.com/r/subname/comments/123456/post_title_slug/234567/',
'https://www.reddit.com/r/subname/comments/123456/post_title_slug/234567',
'https://www.reddit.com/r/subname/comments/123456/post_title_slug/234567/',
'https://reddit.com/r/subname/comments/123456/post_title_slug/234567/?context=1337',
'https://www.reddit.com/r/subname/comments/123456/post_title_slug/234567/?context=1337',
)


NON_MATCHING_URLS = (
# we don't allow for query parameters on subreddit links (yet?)
'https://reddit.com/r/subname?param=value',
'https://reddit.com/r/subname/?param=value',
'https://www.reddit.com/r/subname?param=value',
'https://www.reddit.com/r/subname/?param=value',
)


@pytest.mark.parametrize('link', MATCHING_URLS)
def test_url_matching(link, bot):
line = PreTrigger(bot.nick, ':[email protected] PRIVMSG #channel {}'.format(link))
matches = bot.rules.get_triggered_rules(bot, line)

assert len([match for match in matches if match[0].get_plugin_name() == 'reddit']) == 1


@pytest.mark.parametrize('link', NON_MATCHING_URLS)
def test_url_non_matching(link, bot):
line = PreTrigger(bot.nick, ':[email protected] PRIVMSG #channel {}'.format(link))
matches = bot.rules.get_triggered_rules(bot, line)

assert len([match for match in matches if match[0].get_plugin_name() == 'reddit']) == 0
"""Tests for Sopel's ``reddit`` plugin"""
from __future__ import generator_stop

import pytest

from sopel.trigger import PreTrigger


TMP_CONFIG = """
[core]
owner = Admin
nick = Sopel
enable =
reddit
host = irc.libera.chat
"""


@pytest.fixture
def bot(botfactory, configfactory):
settings = configfactory('default.ini', TMP_CONFIG)
return botfactory.preloaded(settings, ['reddit'])


MATCHING_URLS = (
# URLs the reddit plugin is expected to handle
# Should match ONCE each, no more, no less
'https://redd.it/123456',
'https://redd.it/123456/',
'https://reddit.com/123456',
'https://reddit.com/123456/',
'https://reddit.com/r/subname',
'https://reddit.com/r/subname/',
'https://www.reddit.com/r/subname',
'https://www.reddit.com/r/subname/',
'https://reddit.com/comments/123456',
'https://reddit.com/comments/123456/',
'https://www.reddit.com/comments/123456',
'https://www.reddit.com/comments/123456/',
'https://reddit.com/r/subname/comments/123456',
'https://reddit.com/r/subname/comments/123456/',
'https://www.reddit.com/comments/123456?param=value',
'https://www.reddit.com/comments/123456/?param=value',
'https://reddit.com/r/subname/comments/123456?param=value',
'https://reddit.com/r/subname/comments/123456/?param=value',
'https://www.reddit.com/r/subname/comments/123456',
'https://www.reddit.com/r/subname/comments/123456/',
'https://reddit.com/r/subname/comments/123456/post_title_slug/234567',
'https://reddit.com/r/subname/comments/123456/post_title_slug/234567/',
'https://www.reddit.com/r/subname/comments/123456/post_title_slug/234567',
'https://www.reddit.com/r/subname/comments/123456/post_title_slug/234567/',
'https://reddit.com/r/subname/comments/123456/post_title_slug/234567/?context=1337',
'https://www.reddit.com/r/subname/comments/123456/post_title_slug/234567/?context=1337',
)


NON_MATCHING_URLS = (
# we don't allow for query parameters on subreddit links (yet?)
'https://reddit.com/r/subname?param=value',
'https://reddit.com/r/subname/?param=value',
'https://www.reddit.com/r/subname?param=value',
'https://www.reddit.com/r/subname/?param=value',
)


@pytest.mark.parametrize('link', MATCHING_URLS)
def test_url_matching(link, bot):
line = PreTrigger(bot.nick, ':[email protected] PRIVMSG #channel {}'.format(link))
matches = bot.rules.get_triggered_rules(bot, line)

assert len([match for match in matches if match[0].get_plugin_name() == 'reddit']) == 1


@pytest.mark.parametrize('link', NON_MATCHING_URLS)
def test_url_non_matching(link, bot):
line = PreTrigger(bot.nick, ':[email protected] PRIVMSG #channel {}'.format(link))
matches = bot.rules.get_triggered_rules(bot, line)

assert len([match for match in matches if match[0].get_plugin_name() == 'reddit']) == 0

0 comments on commit 7af3889

Please sign in to comment.