征信解析员工样本
姓名:测试员工
身份证号:320101199001010030
""" Pytest 配置和共享 fixtures """ import pytest from fastapi.testclient import TestClient import sys import os # 添加项目根目录到 sys.path sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from main import app from config.settings import settings from routers.api import file_service class FakeStaffIdentityRepository: def select_random_staff_with_families(self): return { "staff_name": "测试员工", "staff_id_card": "320101199001010030", "family_id_cards": ["320101199201010051"], } @pytest.fixture(autouse=True) def reset_file_service_state(): """避免 file_service 单例状态影响测试顺序。""" file_service.file_records.clear() file_service.log_counter = settings.INITIAL_LOG_ID file_service.staff_identity_repository = FakeStaffIdentityRepository() yield file_service.file_records.clear() file_service.log_counter = settings.INITIAL_LOG_ID @pytest.fixture def client(): """创建测试客户端""" original_routes = list(app.router.routes) try: from routers import credit_api if not any(route.path == "/xfeature-mngs/conversation/htmlEval" for route in app.routes): app.include_router(credit_api.router, tags=["征信解析接口"]) app.openapi_schema = None except ModuleNotFoundError: pass try: yield TestClient(app) finally: app.router.routes[:] = original_routes app.openapi_schema = None @pytest.fixture def sample_token_request(): """示例 Token 请求 - 返回 form-data 格式的数据""" return { "projectNo": "test_project_001", "entityName": "测试企业", "userId": "902001", "userName": "902001", "appId": "remote_app", "appSecretCode": "test_secret_code_12345", "role": "VIEWER", "orgCode": "902000", "departmentCode": "902000", } @pytest.fixture def sample_inner_flow_request(): """示例拉取行内流水请求""" return { "groupId": 1001, "customerNo": "test_customer_001", "dataChannelCode": "test_code", "requestDateId": 20240101, "dataStartDateId": 20240101, "dataEndDateId": 20240131, "uploadUserId": 902001, } @pytest.fixture def sample_credit_html_file(): """示例征信 HTML 文件。""" html = """
姓名:测试员工
身份证号:320101199001010030