GodsDevProject commited on
Commit
e82495b
·
verified ·
1 Parent(s): 2b51a32

Create tests/test_adapter_contract.py

Browse files
Files changed (1) hide show
  1. tests/test_adapter_contract.py +3 -27
tests/test_adapter_contract.py CHANGED
@@ -1,30 +1,6 @@
1
- REQUIRED_KEYS = {
2
- "source",
3
- "title",
4
- "url",
5
- "snippet",
6
- "live",
7
- "extended",
8
- }
9
-
10
-
11
- @pytest.mark.asyncio
12
- async def test_result_schema():
13
- """
14
- Enforces normalized result format for UI, export, and citations.
15
- """
16
  adapters = get_all_adapters()
17
 
18
  for name, adapter in adapters.items():
19
- results = await adapter.search("compliance test")
20
-
21
- for r in results:
22
- missing = REQUIRED_KEYS - set(r.keys())
23
- assert not missing, f"{name} missing keys: {missing}"
24
-
25
- assert isinstance(r["source"], str)
26
- assert isinstance(r["title"], str)
27
- assert isinstance(r["url"], str)
28
- assert isinstance(r["snippet"], str)
29
- assert isinstance(r["live"], bool)
30
- assert isinstance(r["extended"], bool)
 
1
+ def test_adapters_have_rate_limit():
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  adapters = get_all_adapters()
3
 
4
  for name, adapter in adapters.items():
5
+ assert hasattr(adapter, "_rate_limit"), f"{name} missing rate limiter"
6
+ assert hasattr(adapter, "rate_limit_seconds"), f"{name} missing rate_limit_seconds"