Files
Auto_Bangumi/examples/plugins/custom-rss-site/tests/test_custom_rss_site.py
Estrella Pan a1adf237b8 feat(4.0-P7): 新增 5 个示例插件,逐个运行契约与行为测试
- webhook-on-event、custom-rss-site、template-rename、nfo-writer、ntfy-notifier
- scripts/test_example_plugins.sh 对每个示例运行 ab-plugin validate 与自带测试
- 宿主侧测试把全部示例载入 PluginManager,断言 Provider 与钩子已登记
- NotifierContract 发现 ntfy 示例的中文标题请求头缺陷,已改用 bytes 请求头
2026-10-08 14:50:59 +02:00

31 lines
941 B
Python

import pytest
from custom_rss_site import CustomRssSite
from ab_sdk.ingest import HttpRequest
from ab_sdk.testing import SearchSiteContract, create_plugin
class TestSite(SearchSiteContract):
def create(self):
plugin, _ = create_plugin(CustomRssSite)
return plugin.site()
@pytest.mark.parametrize(
("url", "cookie"),
[
("https://tracker.example.org/rss?search=a", "uid=1"),
("https://other.example.com/feed", None),
],
)
def test_add_cookie_only_for_own_host(url, cookie):
plugin, _ = create_plugin(CustomRssSite, {"cookie": "uid=1"})
result = plugin.add_cookie(HttpRequest("GET", url, {}))
assert (result.headers["Cookie"] if result else None) == cookie
def test_add_cookie_empty_cookie_leaves_request_alone():
plugin, _ = create_plugin(CustomRssSite)
request = HttpRequest("GET", "https://tracker.example.org/rss", {})
assert plugin.add_cookie(request) is None