# -*- coding: utf-8 -*- # Copyright (c) 2025 relakkes@gmail.com # # This file is part of MediaCrawler project. # Repository: https://github.com/NanmiCoder/MediaCrawler/blob/main/tests/conftest.py # GitHub: https://github.com/NanmiCoder # Licensed under NON-COMMERCIAL LEARNING LICENSE 1.1 # # 声明:本代码仅供学习和研究目的使用。使用者应遵守以下原则: # 1. 不得用于任何商业用途。 # 2. 使用时应遵守目标平台的使用条款和robots.txt规则。 # 3. 不得进行大规模爬取或对平台造成运营干扰。 # 4. 应合理控制请求频率,避免给目标平台带来不必要的负担。 # 5. 不得用于任何非法或不当的用途。 # # 详细许可条款请参阅项目根目录下的LICENSE文件。 # 使用本代码即表示您同意遵守上述原则和LICENSE中的所有条款。 """ Pytest configuration and shared fixtures """ import pytest import sys from pathlib import Path # Add project root to Python path project_root = Path(__file__).parent.parent sys.path.insert(0, str(project_root)) @pytest.fixture(scope="session") def project_root_path(): """Return project root path""" return project_root @pytest.fixture def sample_xhs_note(): """Sample Xiaohongshu note data for testing""" return { "note_id": "test_note_123", "type": "normal", "title": "Test Title", "desc": "This is a test description", "video_url": "", "time": 1700000000, "last_update_time": 1700000000, "user_id": "user_123", "nickname": "Test User", "avatar": "https://example.com/avatar.jpg", "liked_count": 100, "collected_count": 50, "comment_count": 25, "share_count": 10, "ip_location": "Shanghai", "image_list": "https://example.com/img1.jpg,https://example.com/img2.jpg", "tag_list": "test,programming,Python", "note_url": "https://www.xiaohongshu.com/explore/test_note_123", "source_keyword": "test keyword", "xsec_token": "test_token_123" } @pytest.fixture def sample_xhs_comment(): """Sample Xiaohongshu comment data for testing""" return { "comment_id": "comment_123", "create_time": 1700000000, "ip_location": "Beijing", "note_id": "test_note_123", "content": "This is a test comment", "user_id": "user_456", "nickname": "Comment User", "avatar": "https://example.com/avatar2.jpg", "sub_comment_count": 5, "pictures": "", "parent_comment_id": 0, "like_count": 15 } @pytest.fixture def sample_xhs_creator(): """Sample Xiaohongshu creator data for testing""" return { "user_id": "creator_123", "nickname": "Creator Name", "gender": "Female", "avatar": "https://example.com/creator_avatar.jpg", "desc": "This is the creator bio", "ip_location": "Guangzhou", "follows": 500, "fans": 10000, "interaction": 50000, "tag_list": '{"profession": "Designer", "interest": "Photography"}' }