Fixture
provide.testkit.quality.security.fixture
¶
Pytest fixtures for security scanning.
Classes¶
SecurityFixture
¶
Bases: BaseQualityFixture
Pytest fixture for security scanning integration.
Initialize security fixture.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config
|
dict[str, Any] | None
|
Security scanner configuration |
None
|
artifact_dir
|
Path | None
|
Directory for artifacts |
None
|
Source code in provide/testkit/quality/security/fixture.py
Functions¶
generate_report
¶
Generate security report.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
format
|
str
|
Report format (terminal, json) |
'terminal'
|
Returns:
| Type | Description |
|---|---|
str
|
Formatted report |
Source code in provide/testkit/quality/security/fixture.py
scan
¶
Perform security scan.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
Path
|
Path to scan |
required |
Returns:
| Type | Description |
|---|---|
dict[str, Any]
|
Security scan results |
Source code in provide/testkit/quality/security/fixture.py
setup
¶
Setup security scanning.
Source code in provide/testkit/quality/security/fixture.py
Functions¶
auto_security_marker
¶
Automatically apply security scanning to marked tests.
Tests marked with @pytest.mark.security will automatically get security scanning without needing to explicitly use fixtures.
Source code in provide/testkit/quality/security/fixture.py
parametrized_security
¶
parametrized_security(
request: FixtureRequest, tmp_path: Path
) -> Generator[SecurityFixture, None, None]
Parametrized security fixture for testing different configurations.
Automatically runs tests with different security thresholds to validate behavior under various settings.
Usage
def test_security_configs(parametrized_security): # Test runs multiple times with different configs result = parametrized_security.scan(Path('./src')) # Behavior will vary based on configuration
Source code in provide/testkit/quality/security/fixture.py
pytest_configure
¶
Configure pytest with security markers.
Source code in provide/testkit/quality/security/fixture.py
security_config
¶
Default security configuration fixture.
Returns standard security configuration that can be customized per test or project.
Usage
def test_custom_security(security_config): security_config["max_high_severity"] = 0 security_config["min_score"] = 95.0 # Use with parametrized security_scanner
Source code in provide/testkit/quality/security/fixture.py
security_scanner
¶
security_scanner(
request: FixtureRequest, tmp_path: Path
) -> Generator[SecurityFixture, None, None]
Pytest fixture for security scanning.
Provides a SecurityFixture instance for security vulnerability scanning.
Usage
def test_security_scan(security_scanner): result = security_scanner.scan(Path('./src')) assert result['passed'] assert result['issues'] == 0