diff options
author | 2024-10-12 01:21:11 +0800 | |
---|---|---|
committer | 2024-10-12 01:21:11 +0800 | |
commit | 999afd4adb73540e6def7b02e110e76a515ae169 (patch) | |
tree | 1deb2b9ed46ec962d4d7bbb4d773b6cb7e699243 /tests/test_filter.py | |
parent | e775f7b66c52cc2096938bfa2265a25248a3a7da (diff) | |
parent | 92fa74553341d4cdac134b0cafdaf16fa94b3afa (diff) | |
download | miniflux-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.py | 125 |
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() |