Add environment configuration, enhance Feishu session handling, and implement tests for TLS 1.2 and retry logic

This commit is contained in:
BXY
2026-09-28 11:20:14 +08:00
parent a71dd66504
commit 152cb5a65b
5 changed files with 143 additions and 22 deletions
+29
View File
@@ -0,0 +1,29 @@
import ssl
from project_bitable_common import FEISHU_HTTP_RETRY_COUNT, TLS12HTTPAdapter, create_feishu_session
def test_feishu_session_forces_tls_12() -> None:
session = create_feishu_session()
try:
adapter = session.get_adapter("https://open.feishu.cn")
assert isinstance(adapter, TLS12HTTPAdapter)
context = adapter._ssl_context
assert context.minimum_version == ssl.TLSVersion.TLSv1_2
assert context.maximum_version == ssl.TLSVersion.TLSv1_2
finally:
session.close()
def test_token_session_can_retry_post_but_regular_session_cannot() -> None:
regular_session = create_feishu_session()
token_session = create_feishu_session(retry_post=True)
try:
regular_retry = regular_session.get_adapter("https://open.feishu.cn").max_retries
token_retry = token_session.get_adapter("https://open.feishu.cn").max_retries
assert regular_retry.total == FEISHU_HTTP_RETRY_COUNT
assert regular_retry.allowed_methods == frozenset({"GET", "HEAD", "OPTIONS"})
assert token_retry.allowed_methods is None
finally:
regular_session.close()
token_session.close()