30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
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()
|