Files
gmv-analytics/tests/test_feishu_http.py
T

30 lines
1.1 KiB
Python
Raw Normal View History

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()