7a0da7932b
OSV-Scanner (Scheduled) / scan-scheduled (push) Failing after 0s
Create Release / test-gate (push) Has been cancelled
Create Release / release-gate (push) Has been cancelled
Create Release / ci-gate (push) Has been cancelled
Create Release / version-check (push) Has been cancelled
Create Release / e2e-test-gate (push) Has been cancelled
Create Release / responsive-test-gate (push) Has been cancelled
Create Release / compat-test-gate (push) Has been cancelled
Create Release / compose-integration-gate (push) Has been cancelled
Create Release / vulture-gate (push) Has been cancelled
Create Release / build (push) Has been cancelled
Create Release / provenance (push) Has been cancelled
Create Release / prerelease-docker (push) Has been cancelled
Create Release / publish-docker (push) Has been cancelled
Create Release / create-release (push) Has been cancelled
Create Release / cleanup-changelog (push) Has been cancelled
Create Release / trigger-pypi (push) Has been cancelled
Create Release / monitor-pypi (push) Has been cancelled
Create Release / Clean up orphan prerelease tags and signatures (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [research-form] (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [research-metrics] (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [research-workflow] (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [settings-core] (push) Has been cancelled
CodeQL Advanced / Analyze (javascript-typescript) (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [history-news] (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [library] (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [link-analytics] (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [chat-core] (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [chat-lifecycle] (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [error-benchmark] (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [settings-pages] (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) (push) Has been cancelled
Docker Tests (Consolidated) / Accessibility Tests (push) Has been cancelled
Docker Tests (Consolidated) / LLM Unit Tests (push) Has been cancelled
Docker Tests (Consolidated) / LLM Example Tests (push) Has been cancelled
Docker Tests (Consolidated) / Production Image Smoke Test (push) Has been cancelled
Docker Tests (Consolidated) / Infrastructure Tests (push) Has been cancelled
OSSF Scorecard / OSSF Security Scorecard Analysis (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [mobile] (push) Has been cancelled
Backwards Compatibility / Verify Encryption Constants (push) Has been cancelled
Backwards Compatibility / PyPI Version Compatibility (push) Has been cancelled
Backwards Compatibility / Database Migration Tests (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled
Docker Tests (Consolidated) / detect-changes (push) Has been cancelled
Docker Tests (Consolidated) / Build Test Image (push) Has been cancelled
Docker Tests (Consolidated) / All Pytest Tests + Coverage (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [accessibility] (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [api-crud] (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [auth-login] (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [auth-pages] (push) Has been cancelled
Docker Tests (Consolidated) / UI Tests (Puppeteer) [auth-register] (push) Has been cancelled
100 lines
2.8 KiB
Python
100 lines
2.8 KiB
Python
"""
|
|
Fixtures for content_fetcher tests.
|
|
"""
|
|
|
|
import pytest
|
|
from unittest.mock import MagicMock, patch
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_html_response():
|
|
"""Mock HTML response for testing."""
|
|
return """
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Test Article Title</title>
|
|
<meta name="description" content="This is a test article description.">
|
|
<meta name="author" content="Test Author">
|
|
</head>
|
|
<body>
|
|
<nav>Navigation menu to be removed</nav>
|
|
<article>
|
|
<h1>Main Article Heading</h1>
|
|
<p>This is the first paragraph of the article content. It contains important information about the topic being discussed.</p>
|
|
<p>This is the second paragraph with more details about the subject matter.</p>
|
|
<h2>Subheading</h2>
|
|
<p>Additional content under the subheading explaining more concepts.</p>
|
|
</article>
|
|
<footer>Footer content to be removed</footer>
|
|
</body>
|
|
</html>
|
|
"""
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_arxiv_html():
|
|
"""Mock arXiv abstract page."""
|
|
return """
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>[2301.12345] Attention Is All You Need</title>
|
|
</head>
|
|
<body>
|
|
<div id="abs">
|
|
<h1>Attention Is All You Need</h1>
|
|
<div class="authors">Vaswani et al.</div>
|
|
<blockquote class="abstract">
|
|
The dominant sequence transduction models are based on complex recurrent or
|
|
convolutional neural networks. We propose a new simple network architecture,
|
|
the Transformer, based solely on attention mechanisms.
|
|
</blockquote>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
"""
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_session():
|
|
"""Mock requests session."""
|
|
mock = MagicMock()
|
|
mock.headers = {}
|
|
return mock
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_successful_response(mock_html_response):
|
|
"""Mock successful HTTP response."""
|
|
response = MagicMock()
|
|
response.status_code = 200
|
|
response.text = mock_html_response
|
|
response.content = mock_html_response.encode("utf-8")
|
|
response.headers = {"content-type": "text/html; charset=utf-8"}
|
|
return response
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_pdf_response():
|
|
"""Mock PDF response (minimal valid PDF)."""
|
|
# Minimal PDF content
|
|
pdf_content = b"%PDF-1.4\n1 0 obj\n<<>>\nendobj\ntrailer\n<<>>\n%%EOF"
|
|
response = MagicMock()
|
|
response.status_code = 200
|
|
response.content = pdf_content
|
|
response.headers = {"content-type": "application/pdf"}
|
|
return response
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_rate_tracker():
|
|
"""Mock rate tracker."""
|
|
with patch(
|
|
"local_deep_research.research_library.downloaders.html.AdaptiveRateLimitTracker"
|
|
) as mock:
|
|
tracker = MagicMock()
|
|
tracker.apply_rate_limit.return_value = 0
|
|
mock.return_value = tracker
|
|
yield tracker
|