Add environment configuration, enhance Feishu session handling, and implement tests for TLS 1.2 and retry logic
This commit is contained in:
@@ -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()
|
||||
Reference in New Issue
Block a user