Add CVE database and test fixtures
Some checks failed
CI / test (push) Failing after 12s

This commit is contained in:
2026-02-04 14:58:52 +00:00
parent eae57500c6
commit 87161bbdd8

137
tests/conftest.py Normal file
View File

@@ -0,0 +1,137 @@
"""Test configuration and fixtures for depcheck tests."""
import json
import tempfile
from pathlib import Path
import pytest
from depcheck.models import Dependency, PackageManager, ScanResult, Severity, Vulnerability
@pytest.fixture
def temp_dir():
"""Create a temporary directory for tests."""
with tempfile.TemporaryDirectory() as tmpdir:
yield tmpdir
@pytest.fixture
def sample_package_json():
"""Create a sample package.json file content."""
return """{
\"name\": \"test-project\",
\"version\": \"1.0.0\",
\"dependencies\": {
\"express\": \"4.18.2\",
\"lodash\": \"4.17.20\"
},
\"devDependencies\": {
\"jest\": \"29.7.0\"
}
}"""
@pytest.fixture
def sample_requirements_txt():
"""Create a sample requirements.txt file content."""
return """requests>=2.31.0
flask>=2.0.0
numpy==1.24.0
"""
@pytest.fixture
def sample_go_mod():
"""Create a sample go.mod file content."""
return """
module github.com/example/project
go 1.21
require (
github.com/stretchr/testify v1.8.4
golang.org/x/crypto v0.17.0
)
"""
@pytest.fixture
def sample_cargo_toml():
"""Create a sample Cargo.toml file content."""
return """
[package]
name = \"my-project\"
version = \"0.1.0\"
edition = \"2021\"
[dependencies]
serde = \"1.0\"
tokio = \"1.36\"
"""
@pytest.fixture
def sample_vulnerable_dependencies():
"""Create scan result with vulnerable dependencies."""
dep1 = Dependency(
name="lodash",
current_version="4.17.20",
package_manager=PackageManager.NPM,
)
dep2 = Dependency(
name="requests",
current_version="2.28.0",
package_manager=PackageManager.PIP,
)
vuln1 = Vulnerability(
cve_id="CVE-2021-23337",
severity=Severity.HIGH,
description="Command Injection",
affected_versions="<4.17.21",
fixed_version="4.17.21",
)
vuln2 = Vulnerability(
cve_id="CVE-2024-35195",
severity=Severity.MEDIUM,
description="Auth bypass",
affected_versions="<2.32.0",
fixed_version="2.32.0",
)
result = ScanResult()
result.dependencies = [dep1, dep2]
result.vulnerabilities = [(dep1, vuln1), (dep2, vuln2)]
return result
@pytest.fixture
def sample_outdated_dependencies():
"""Create scan result with outdated dependencies."""
deps = [
Dependency(
name="express",
current_version="4.18.2",
latest_version="4.19.2",
package_manager=PackageManager.NPM,
is_outdated=True,
),
Dependency(
name="flask",
current_version="2.0.0",
latest_version="3.0.0",
package_manager=PackageManager.PIP,
is_outdated=True,
),
]
return ScanResult(dependencies=deps)
@pytest.fixture
def empty_scan_result():
"""Create an empty scan result."""
return ScanResult()