diff options
Diffstat (limited to '_pytest/test_unfurl.py')
-rw-r--r-- | _pytest/test_unfurl.py | 325 |
1 files changed, 166 insertions, 159 deletions
diff --git a/_pytest/test_unfurl.py b/_pytest/test_unfurl.py index eb8fe27..e8043a8 100644 --- a/_pytest/test_unfurl.py +++ b/_pytest/test_unfurl.py @@ -6,166 +6,173 @@ import time import wee_slack import os -os.environ['TZ'] = 'UTC' +os.environ["TZ"] = "UTC" -@pytest.mark.parametrize('case', ( - { - 'input': "foo", - 'output': "foo", - }, - { - 'input': "<!channel>", - 'output': "@channel", - }, - { - 'input': "<!everyone>", - 'output': "@everyone", - }, - { - 'input': "<!group>", - 'output': "@group", - }, - { - 'input': "<!here>", - 'output': "@here", - }, - { - 'input': "<@U407ABLLW|@othernick>: foo", - 'output': "@alice: foo", - }, - { - 'input': "<@UNKNOWN|@othernick>: foo", - 'output': "@othernick: foo", - }, - { - 'input': "foo <#C407ABS94|otherchannel> foo", - 'output': "foo #general foo", - }, - { - 'input': "foo <#UNKNOWN|otherchannel> foo", - 'output': "foo #otherchannel foo", - }, - { - 'input': "url: <https://example.com|fallback> suffix", - 'output': "url: https://example.com suffix", - 'ignore_alt_text': True, - }, - { - 'input': "url: <https://example.com|example> suffix", - 'output': "url: https://example.com (example) suffix", - 'auto_link_display': 'both', - }, - { - 'input': "url: <https://example.com|example with spaces> suffix", - 'output': "url: https://example.com (example with spaces) suffix", - 'auto_link_display': 'both', - }, - { - 'input': "url: <https://example.com|example.com> suffix", - 'output': "url: https://example.com (example.com) suffix", - 'auto_link_display': 'both', - }, - { - 'input': "url: <mailto:name@example.com|name@example.com> suffix", - 'output': "url: mailto:name@example.com (name@example.com) suffix", - 'auto_link_display': 'both', - }, - { - 'input': "url: <https://example.com|example.com> suffix", - 'output': "url: example.com suffix", - 'auto_link_display': 'text', - }, - { - 'input': "url: <https://example.com|different text> suffix", - 'output': "url: https://example.com (different text) suffix", - 'auto_link_display': 'text', - }, - { - 'input': "url: <mailto:name@example.com|name@example.com> suffix", - 'output': "url: name@example.com suffix", - 'auto_link_display': 'text', - }, - { - 'input': "url: <https://example.com|different text> suffix", - 'output': "url: https://example.com (different text) suffix", - 'auto_link_display': 'url', - }, - { - 'input': "url: <https://example.com|example.com> suffix", - 'output': "url: https://example.com suffix", - 'auto_link_display': 'url', - }, - { - 'input': "url: <mailto:name@example.com|name@example.com> suffix", - 'output': "url: mailto:name@example.com suffix", - 'auto_link_display': 'url', - }, - { - 'input': "<@U407ABLLW> multiple unfurl <https://example.com|example with spaces>", - 'output': "@alice multiple unfurl https://example.com (example with spaces)", - 'auto_link_display': 'both', - }, - { - 'input': "url with equal fallback: <https://example.com|https://example.com> suffix", - 'output': "url with equal fallback: https://example.com suffix", - 'auto_link_display': 'both', - }, - { - 'input': "try the #general channel", - 'output': "try the #general channel", - }, - { - 'input': "<@U407ABLLW> I think 3 > 2", - 'output': "@alice I think 3 > 2", - }, - { - 'input': "<!subteam^TGX0ALBK3|@othersubteam> This is announcement for the dev team", - 'output': "@test This is announcement for the dev team" - }, - { - 'input': "<!subteam^UNKNOWN|@othersubteam> This is announcement for the dev team", - 'output': "@othersubteam This is announcement for the dev team" - }, - { - 'input': "Ends <!date^1577880000^{date_num} - {date} - {date_short} - {date_long}|Jan 01, 2020>.", - 'output': "Ends 2020-01-01 - January 01, 2020 - Jan 01, 2020 - Wednesday, January 01, 2020." - }, - { - 'input': "Ends <!date^1577880000^{time} - {time_secs}|12:00 PM>.", - 'output': "Ends 12:00 - 12:00:00." - }, - { - 'input': "Ends <!date^1577880000^{date_num} {invalid_token}>.", - 'output': "Ends 2020-01-01 {invalid_token}." - }, - { - 'input': "Ends <!date^1577880000^{date_num}^http://github.com>.", - 'output': "Ends 2020-01-01 (http://github.com)." - }, - { - 'input': "Ends <!date^{}^{{date_pretty}} - {{date_short_pretty}} - {{date_long_pretty}}>.".format( - int(time.mktime(datetime.today().timetuple()))), - 'output': "Ends today - today - today." - }, - { - 'input': "Ends <!date^{}^{{date_pretty}} - {{date_short_pretty}} - {{date_long_pretty}}>.".format( - int(time.mktime((datetime.today() - timedelta(days=1)).timetuple()))), - 'output': "Ends yesterday - yesterday - yesterday." - }, - { - 'input': "Ends <!date^{}^{{date_pretty}} - {{date_short_pretty}} - {{date_long_pretty}}>.".format( - int(time.mktime((datetime.today() + timedelta(days=1)).timetuple()))), - 'output': "Ends tomorrow - tomorrow - tomorrow." - }, - { - 'input': "Ends <!date^1577880000^{date_pretty} - {date_short_pretty} - {date_long_pretty}>.", - 'output': "Ends January 01, 2020 - Jan 01, 2020 - Wednesday, January 01, 2020." - } -)) + +@pytest.mark.parametrize( + "case", + ( + { + "input": "foo", + "output": "foo", + }, + { + "input": "<!channel>", + "output": "@channel", + }, + { + "input": "<!everyone>", + "output": "@everyone", + }, + { + "input": "<!group>", + "output": "@group", + }, + { + "input": "<!here>", + "output": "@here", + }, + { + "input": "<@U407ABLLW|@othernick>: foo", + "output": "@alice: foo", + }, + { + "input": "<@UNKNOWN|@othernick>: foo", + "output": "@othernick: foo", + }, + { + "input": "foo <#C407ABS94|otherchannel> foo", + "output": "foo #general foo", + }, + { + "input": "foo <#UNKNOWN|otherchannel> foo", + "output": "foo #otherchannel foo", + }, + { + "input": "url: <https://example.com|fallback> suffix", + "output": "url: https://example.com suffix", + "ignore_alt_text": True, + }, + { + "input": "url: <https://example.com|example> suffix", + "output": "url: https://example.com (example) suffix", + "auto_link_display": "both", + }, + { + "input": "url: <https://example.com|example with spaces> suffix", + "output": "url: https://example.com (example with spaces) suffix", + "auto_link_display": "both", + }, + { + "input": "url: <https://example.com|example.com> suffix", + "output": "url: https://example.com (example.com) suffix", + "auto_link_display": "both", + }, + { + "input": "url: <mailto:name@example.com|name@example.com> suffix", + "output": "url: mailto:name@example.com (name@example.com) suffix", + "auto_link_display": "both", + }, + { + "input": "url: <https://example.com|example.com> suffix", + "output": "url: example.com suffix", + "auto_link_display": "text", + }, + { + "input": "url: <https://example.com|different text> suffix", + "output": "url: https://example.com (different text) suffix", + "auto_link_display": "text", + }, + { + "input": "url: <mailto:name@example.com|name@example.com> suffix", + "output": "url: name@example.com suffix", + "auto_link_display": "text", + }, + { + "input": "url: <https://example.com|different text> suffix", + "output": "url: https://example.com (different text) suffix", + "auto_link_display": "url", + }, + { + "input": "url: <https://example.com|example.com> suffix", + "output": "url: https://example.com suffix", + "auto_link_display": "url", + }, + { + "input": "url: <mailto:name@example.com|name@example.com> suffix", + "output": "url: mailto:name@example.com suffix", + "auto_link_display": "url", + }, + { + "input": "<@U407ABLLW> multiple unfurl <https://example.com|example with spaces>", + "output": "@alice multiple unfurl https://example.com (example with spaces)", + "auto_link_display": "both", + }, + { + "input": "url with equal fallback: <https://example.com|https://example.com> suffix", + "output": "url with equal fallback: https://example.com suffix", + "auto_link_display": "both", + }, + { + "input": "try the #general channel", + "output": "try the #general channel", + }, + { + "input": "<@U407ABLLW> I think 3 > 2", + "output": "@alice I think 3 > 2", + }, + { + "input": "<!subteam^TGX0ALBK3|@othersubteam> This is announcement for the dev team", + "output": "@test This is announcement for the dev team", + }, + { + "input": "<!subteam^UNKNOWN|@othersubteam> This is announcement for the dev team", + "output": "@othersubteam This is announcement for the dev team", + }, + { + "input": "Ends <!date^1577880000^{date_num} - {date} - {date_short} - {date_long}|Jan 01, 2020>.", + "output": "Ends 2020-01-01 - January 01, 2020 - Jan 01, 2020 - Wednesday, January 01, 2020.", + }, + { + "input": "Ends <!date^1577880000^{time} - {time_secs}|12:00 PM>.", + "output": "Ends 12:00 - 12:00:00.", + }, + { + "input": "Ends <!date^1577880000^{date_num} {invalid_token}>.", + "output": "Ends 2020-01-01 {invalid_token}.", + }, + { + "input": "Ends <!date^1577880000^{date_num}^http://github.com>.", + "output": "Ends 2020-01-01 (http://github.com).", + }, + { + "input": "Ends <!date^{}^{{date_pretty}} - {{date_short_pretty}} - {{date_long_pretty}}>.".format( + int(time.mktime(datetime.today().timetuple())) + ), + "output": "Ends today - today - today.", + }, + { + "input": "Ends <!date^{}^{{date_pretty}} - {{date_short_pretty}} - {{date_long_pretty}}>.".format( + int(time.mktime((datetime.today() - timedelta(days=1)).timetuple())) + ), + "output": "Ends yesterday - yesterday - yesterday.", + }, + { + "input": "Ends <!date^{}^{{date_pretty}} - {{date_short_pretty}} - {{date_long_pretty}}>.".format( + int(time.mktime((datetime.today() + timedelta(days=1)).timetuple())) + ), + "output": "Ends tomorrow - tomorrow - tomorrow.", + }, + { + "input": "Ends <!date^1577880000^{date_pretty} - {date_short_pretty} - {date_long_pretty}>.", + "output": "Ends January 01, 2020 - Jan 01, 2020 - Wednesday, January 01, 2020.", + }, + ), +) def test_unfurl_refs(case, realish_eventrouter): wee_slack.EVENTROUTER = realish_eventrouter - wee_slack.config.unfurl_ignore_alt_text = case.get('ignore_alt_text') - wee_slack.config.unfurl_auto_link_display = case.get('auto_link_display') + wee_slack.config.unfurl_ignore_alt_text = case.get("ignore_alt_text") + wee_slack.config.unfurl_auto_link_display = case.get("auto_link_display") - result = wee_slack.unfurl_refs(case['input']) - assert result == case['output'] + result = wee_slack.unfurl_refs(case["input"]) + assert result == case["output"] |