def test_proccessor_invalid_type_reference(): with patch("tuesmon.mdrender.extensions.references.get_instance_by_ref" ) as mock: instance = mock.return_value instance.content_type.model = "other" instance.content_object.subject = "test" result = render(dummy_project, "**#4**") assert result == "<p><strong>#4</strong></p>"
def test_proccessor_valid_us_reference(): with patch("tuesmon.mdrender.extensions.references.get_instance_by_ref" ) as mock: instance = mock.return_value instance.content_type.model = "userstory" instance.content_object.subject = "test" result = render(dummy_project, "**#1**") expected_result = '<p><strong><a class="reference user-story" href="http://localhost:9001/project/test/us/1" title="#1 test">#1</a></strong></p>' assert result == expected_result
def test_mentions_valid_username_with_points(): with patch("tuesmon.mdrender.extensions.mentions.get_user_model" ) as get_user_model_mock: dummy_uuser = MagicMock() dummy_uuser.get_full_name.return_value = "Luna Lovegood" get_user_model_mock.return_value.objects.get = MagicMock( return_value=dummy_uuser) result = render(dummy_project, "text @luna.lovegood text") get_user_model_mock.return_value.objects.get.assert_called_with( username="******") assert result == ( '<p>text <a class="mention" href="http://*****:*****@luna.lovegood</a> text</p>')
def test_mentions_valid_username(): with patch("tuesmon.mdrender.extensions.mentions.get_user_model" ) as get_user_model_mock: dummy_uuser = MagicMock() dummy_uuser.get_full_name.return_value = "Hermione Granger" get_user_model_mock.return_value.objects.get = MagicMock( return_value=dummy_uuser) result = render(dummy_project, "text @hermione text") get_user_model_mock.return_value.objects.get.assert_called_with( username="******") assert result == ( '<p>text <a class="mention" href="http://*****:*****@hermione</a> text</p>')
def test_mentions_valid_username_with_dash(): with patch("tuesmon.mdrender.extensions.mentions.get_user_model" ) as get_user_model_mock: dummy_uuser = MagicMock() dummy_uuser.get_full_name.return_value = "Ginny Weasley" get_user_model_mock.return_value.objects.get = MagicMock( return_value=dummy_uuser) result = render(dummy_project, "text @super-ginny text") get_user_model_mock.return_value.objects.get.assert_called_with( username="******") assert result == ( '<p>text <a class="mention" href="http://*****:*****@super-ginny</a> text</p>')
def test_render_absolute_image(): assert render( dummy_project, "![test](/test.png)") == "<p><img alt=\"test\" src=\"/test.png\"></p>"
def test_render_url_automail(): expected_result = "<p>Test the <a href=\"mailto:[email protected]\" target=\"_blank\">[email protected]</a> automail</p>" source = "Test the [email protected] automail" assert render(dummy_project, source) == expected_result
def test_render_url_autolinks_without_http(): expected_result = "<p>Test the <a href=\"http://www.example.com\" target=\"_blank\">www.example.com</a> autolink</p>" source = "Test the www.example.com autolink" assert render(dummy_project, source) == expected_result
def test_render_url_autolinks(): expected_result = "<p>Test the <a href=\"http://example.com/\" target=\"_blank\">http://example.com/</a> autolink</p>" source = "Test the http://example.com/ autolink" assert render(dummy_project, source) == expected_result
def test_render_reference_links(): expected_result = "<p>An <a href=\"http://example.com/\" target=\"_blank\" title=\"Title\">example</a> of reference link</p>" source = "An [example][id] of reference link\n [id]: http://example.com/ \"Title\"" assert render(dummy_project, source) == expected_result
def test_proccessor_invalid_user_mention(): result = render(dummy_project, "**@notvaliduser**") assert result == '<p><strong>@notvaliduser</strong></p>'
def test_render_wikilink_3(): expected_result = "<p><a class=\"reference wiki\" href=\"http://localhost:9001/project/test/wiki/testpage\" title=\"TestPage\">TestPage</a></p>" assert render(dummy_project, "[[TestPage]]") == expected_result
def test_render_wiki_strike(): assert render(dummy_project, "~~test~~") == "<p><del>test</del></p>"
def test_render_wikilink_1(): expected_result = "<p><a class=\"reference wiki\" href=\"http://localhost:9001/project/test/wiki/test\" title=\"test\">test</a></p>" assert render(dummy_project, "[[test]]") == expected_result
def test_render_wiki_italic(): assert render(dummy_project, "*test*") == "<p><em>test</em></p>" assert render(dummy_project, "_test_") == "<p><em>test</em></p>"
def test_render_wiki_strong(): assert render(dummy_project, "**test**") == "<p><strong>test</strong></p>" assert render(dummy_project, "__test__") == "<p><strong>test</strong></p>"
def test_proccessor_invalid_reference(): with patch("tuesmon.mdrender.extensions.references.get_instance_by_ref" ) as mock: mock.return_value = None result = render(dummy_project, "**#5**") assert result == "<p><strong>#5</strong></p>"
def test_render_relative_image(): assert render( dummy_project, "![test](test.png)") == "<p><img alt=\"test\" src=\"test.png\"></p>"
def test_proccessor_valid_user_mention_with_dashes(): factories.UserFactory(username="******", full_name="test name") result = render(dummy_project, "**@user1_text_after_dash**") expected_result = "<p><strong><a class=\"mention\" href=\"http://*****:*****@user1_text_after_dash</a></strong></p>" assert result == expected_result
def test_render_triple_quote_and_lang_code(): expected_result = '<div class="codehilite"><pre><span></span><span class="k">print</span><span class="p">(</span><span class="s2">"test"</span><span class="p">)</span>\n</pre></div>' assert render(dummy_project, "```python\nprint(\"test\")\n```") == expected_result
def test_render_wikilink_relative_to_absolute(): expected_result = "<p><a href=\"http://localhost:9001/project/test/\">test project</a></p>" assert render(dummy_project, "[test project](/project/test/)") == expected_result
def test_render_wikilink_with_custom_title(): expected_result = "<p><a class=\"reference wiki\" href=\"http://localhost:9001/project/test/wiki/test\" title=\"custom\">custom</a></p>" assert render(dummy_project, "[[test|custom]]") == expected_result
def test_proccessor_valid_email(): result = render(dummy_project, "**[email protected]**") expected_result = "<p><strong><a href=\"mailto:[email protected]\" target=\"_blank\">[email protected]</a></strong></p>" assert result == expected_result
def test_render_wikilink_slug_to_wikipages(): expected_result = "<p><a class=\"reference wiki\" href=\"http://localhost:9001/project/test/wiki/wiki_page\" title=\"wiki page\">wiki</a></p>" assert render(dummy_project, "[wiki](wiki_page \"wiki page\")") == expected_result
def mdrender(project, text) -> str: if text: return Markup(render(project, text)) return ""