aboutsummaryrefslogtreecommitdiff
path: root/tests/test_filter.py
diff options
context:
space:
mode:
authorGravatar Qetesh <4559341+Qetesh@users.noreply.github.com> 2024-10-12 01:21:11 +0800
committerGravatar GitHub <noreply@github.com> 2024-10-12 01:21:11 +0800
commit999afd4adb73540e6def7b02e110e76a515ae169 (patch)
tree1deb2b9ed46ec962d4d7bbb4d773b6cb7e699243 /tests/test_filter.py
parente775f7b66c52cc2096938bfa2265a25248a3a7da (diff)
parent92fa74553341d4cdac134b0cafdaf16fa94b3afa (diff)
downloadminiflux-ai-999afd4adb73540e6def7b02e110e76a515ae169.tar.gz
miniflux-ai-999afd4adb73540e6def7b02e110e76a515ae169.tar.zst
miniflux-ai-999afd4adb73540e6def7b02e110e76a515ae169.zip
Merge pull request #4 from Qetesh/deny-allow-list-wildcard-urlv0.6.1
support Deny-/allow list wildcard url
Diffstat (limited to 'tests/test_filter.py')
-rw-r--r--tests/test_filter.py125
1 files changed, 125 insertions, 0 deletions
diff --git a/tests/test_filter.py b/tests/test_filter.py
new file mode 100644
index 0000000..5aa4add
--- /dev/null
+++ b/tests/test_filter.py
@@ -0,0 +1,125 @@
+import unittest
+from yaml import safe_load
+from core.entry_filter import filter_entry
+
+test_config = '''
+{
+ "test_style_block": {
+ "agents": {
+ "test": {
+ "title": "🌐AI 翻译",
+ "style_block": true,
+ "allow_list": ,
+ "deny_list":
+ }
+ }
+ },
+ "test_allow_list": {
+ "agents": {
+ "test": {
+ "title": "🌐AI 翻译",
+ "style_block": false,
+ "allow_list": [
+ "https://9to5mac.com/",
+ "https://home.kpmg/*"
+ ],
+ "deny_list":
+ }
+ }
+ },
+ "test_deny_list": {
+ "agents": {
+ "test": {
+ "title": "🌐AI 翻译",
+ "style_block": false,
+ "allow_list": ,
+ "deny_list": [
+ "https://9to5mac.com/",
+ "https://home.kpmg/cn/zh/home/insights.html"
+ ]
+ }
+ }
+ },
+ "test_None": {
+ "agents": {
+ "test": {
+ "title": "🌐AI 翻译",
+ "style_block": false,
+ "allow_list": ,
+ "deny_list":
+ }
+ }
+ }
+}
+'''
+
+test_entries = '''
+{
+ "test_style_block":
+ {
+ "entry":
+ {
+ "content": '<pre',
+ "feed":
+ {
+ "site_url": "https://weibo.com/1906286443/OAih1wghK",
+ },
+ },
+ "result": False,
+ },
+ "test_allow_list":
+ {
+ "entry":
+ {
+ "content": '123',
+ "feed":
+ {
+ "site_url": "https://home.kpmg/cn/zh/home/insights.html",
+ },
+ },
+ "result": True,
+ },
+ "test_deny_list":
+ {
+ "entry":
+ {
+ "content": '123',
+ "feed":
+ {
+ "site_url": "https://weibo.com/1906286443/OAih1wghK",
+ },
+ },
+ "result": True,
+ },
+ "test_None":
+ {
+ "entry":
+ {
+ "content": '123',
+ "feed":
+ {
+ "site_url": "https://weibo.com/1906286443/OAih1wghK",
+ },
+ },
+ "result": True,
+ },
+}
+
+'''
+
+configs = safe_load(test_config)
+entries = safe_load(test_entries)
+
+class MyTestCase(unittest.TestCase):
+ def test_entry_filter(self):
+ i = 0
+
+ for agent in configs.items():
+ entry = entries[list(configs.keys())[i]]
+ result = filter_entry(configs['test_style_block'], agent, entry['entry'])
+ self.assertEqual(result, entry['result'])
+ i += 1
+
+
+if __name__ == '__main__':
+ unittest.main()