mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-10-31 12:45:41 +08:00
- 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 请求头
31 lines
941 B
Python
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
|