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