@@ -15,6 +15,8 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>.
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
assert end_match
@pytest.mark.parametrize('attachment_id', [
13,
None,