summaryrefslogtreecommitdiff
path: root/addons/link_tracker/tests/test_mail_render_mixin.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/link_tracker/tests/test_mail_render_mixin.py
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/link_tracker/tests/test_mail_render_mixin.py')
-rw-r--r--addons/link_tracker/tests/test_mail_render_mixin.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/addons/link_tracker/tests/test_mail_render_mixin.py b/addons/link_tracker/tests/test_mail_render_mixin.py
new file mode 100644
index 00000000..23a74b5a
--- /dev/null
+++ b/addons/link_tracker/tests/test_mail_render_mixin.py
@@ -0,0 +1,52 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo.tests import common
+
+
+class TestMailRenderMixin(common.TransactionCase):
+ def test_shorten_links(self):
+ test_links = [
+ '<a href="https://gitlab.com" title="title" fake="fake">test_label</a>',
+ '<a href="https://test_542152qsdqsd.com"/>',
+ """<a href="https://third_test_54212.com">
+ <img src="imagesrc"/>
+ </a>
+ """,
+ """<a
+ href="https://test_strange_html.com" title="title"
+ fake='fake'
+ > test_strange_html_label
+ </a>
+ """,
+ '<a href="https://test_escaped.com" title="title" fake="fake"> test_escaped &lt; &gt; </a>',
+ '<a href="https://url_with_params.com?a=b&c=d">label</a>',
+ ]
+
+ self.env["mail.render.mixin"]._shorten_links("".join(test_links), {})
+
+ trackers_to_find = [
+ [("url", "=", "https://gitlab.com"), ("label", "=", "test_label")],
+ [("url", "=", "https://test_542152qsdqsd.com")],
+ [
+ ("url", "=", "https://test_strange_html.com"),
+ ("label", "=", "test_strange_html_label"),
+ ],
+ [
+ ("url", "=", "https://test_escaped.com"),
+ ("label", "=", "test_escaped < >"),
+ ],
+ [
+ ("url", "=", "https://url_with_params.com?a=b&c=d"),
+ ("label", "=", "label"),
+ ],
+ ]
+ trackers_to_fail = [
+ [("url", "=", "https://test_542152qsdqsd.com"), ("label", "ilike", "_")]
+ ]
+
+ for tracker_to_find in trackers_to_find:
+ self.assertTrue(self.env["link.tracker"].search(tracker_to_find))
+
+ for tracker_to_fail in trackers_to_fail:
+ self.assertFalse(self.env["link.tracker"].search(tracker_to_fail))