from __future__ import unicode_literals
import unittest
from xml.etree import ElementTree
from mock import patch, Mock
from pagure import pfmarkdown
from pagure.lib import model
@patch('pagure.pfmarkdown.flask.url_for', Mock(return_value='http://eh/'))
class TestObjAnchorTag(unittest.TestCase):
"""
A set of tests for the pagure.pfmarkdown._obj_anchor_tag function
"""
def test_obj_anchor_tag_issue(self):
"""Assert links to issues are generated correctly"""
issue = model.Issue(
title='The issue summary',
content='The issue description',
)
expected_markup = (b''
b'My Issue')
element = pfmarkdown._obj_anchor_tag(
'jcline', None, None, issue, 'My Issue')
self.assertEqual(expected_markup, ElementTree.tostring(element))
def test_obj_anchor_tag_private_issue(self):
"""Assert links to private issues hide the title"""
issue = model.Issue(
title='The private issue summary',
content='The issue description',
private=True
)
expected_markup = (b''
b'My Issue')
element = pfmarkdown._obj_anchor_tag(
'jcline', None, None, issue, 'My Issue')
self.assertEqual(expected_markup, ElementTree.tostring(element))
def test_obj_anchor_tag_pr(self):
"""Assert links to pull requests are generated correctly"""
pr = model.PullRequest(title='The pull request summary')
expected_markup = (b'My Pull Request')
element = pfmarkdown._obj_anchor_tag(
'jcline', None, None, pr, 'My Pull Request')
self.assertEqual(expected_markup, ElementTree.tostring(element))
if __name__ == '__main__':
unittest.main(verbosity=2)