diff --git a/tests/test_rtutil.py b/tests/test_rtutil.py index c57bf40e17fd93d920f425b756d38617cbd0b306..1fed60fe632bc9feac68b8a172c368327350c755 100644 --- a/tests/test_rtutil.py +++ b/tests/test_rtutil.py @@ -15,6 +15,8 @@ # along with this program. If not, see . import contextlib +import itertools +import re import pytest @@ -62,6 +64,28 @@ def test_url(rt, ticket_id, attachment_id, expected): expected = DEFAULT_RT_URL + expected assert rt.url(ticket_id, attachment_id) == expected +@pytest.mark.parametrize('attachment_id,first_link_only', itertools.product( + [245, None], + [True, False], +)) +def test_metadata_regexp(rt, attachment_id, first_link_only): + if attachment_id is None: + match_links = ['rt:220', 'rt://ticket/220'] + else: + match_links = [f'rt:220/{attachment_id}', + f'rt://ticket/220/attachments/{attachment_id}'] + regexp = rt.metadata_regexp(220, attachment_id, first_link_only=first_link_only) + for link in match_links: + assert re.search(regexp, link) + assert re.search(regexp, link + ' link2') + assert re.search(regexp, link + '0') is None + assert re.search(regexp, 'a' + link) is None + end_match = re.search(regexp, 'link0 ' + link) + if first_link_only: + assert end_match is None + else: + assert end_match + @pytest.mark.parametrize('attachment_id', [ 13, None,