fluidattacks_core_models 13.1.0__tar.gz → 13.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/.gitignore +2 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/PKG-INFO +1 -1
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/state_machines/__init__.py +2 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/state_machines/component_orchestrator.py +4 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/pyproject.toml +1 -1
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/tests/test_component_orchestrator.py +14 -5
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/uv.lock +1 -1
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/.envrc +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/build/default.nix +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/build/filter.nix +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/flake.lock +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/flake.nix +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/__init__.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/py.typed +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/scanners/__init__.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/scanners/apk_config.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/scanners/common_config.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/scanners/containers_sca_config.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/scanners/cspm_config.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/scanners/dast_config.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/scanners/loader.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/scanners/sast_config.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/scanners/sbom_config.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/scanners/sca_config.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/scanners/scan_config.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/scanners/sniffs_config.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/state_machines/root_scanner.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/fluidattacks_core/models/state_machines/types.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/import-linter.cfg +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/mypy.ini +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/ruff.toml +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/tests/__init__.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/tests/test_loader_env.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/tests/test_model_scanner.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/tests/test_root_scanner.py +0 -0
- {fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/tests/test_state_machines.py +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from fluidattacks_core.models.state_machines.component_orchestrator import (
|
|
2
2
|
ComponentScanOptions,
|
|
3
|
+
ResolvesScanOptions,
|
|
3
4
|
StateMachineComponentOrchestrator,
|
|
4
5
|
)
|
|
5
6
|
from fluidattacks_core.models.state_machines.root_scanner import (
|
|
@@ -26,6 +27,7 @@ __all__ = [
|
|
|
26
27
|
"ContextualizesScanInput",
|
|
27
28
|
"ContextualizesScanOptions",
|
|
28
29
|
"PerRootScanOptions",
|
|
30
|
+
"ResolvesScanOptions",
|
|
29
31
|
"StateMachine",
|
|
30
32
|
"StateMachineCloningInput",
|
|
31
33
|
"StateMachineComponentOrchestrator",
|
|
@@ -5,6 +5,7 @@ from pydantic import ValidationError
|
|
|
5
5
|
|
|
6
6
|
from fluidattacks_core.models.state_machines.component_orchestrator import (
|
|
7
7
|
ComponentScanOptions,
|
|
8
|
+
ResolvesScanOptions,
|
|
8
9
|
StateMachineComponentOrchestrator,
|
|
9
10
|
)
|
|
10
11
|
from fluidattacks_core.models.state_machines.root_scanner import (
|
|
@@ -14,7 +15,7 @@ from fluidattacks_core.models.state_machines.root_scanner import (
|
|
|
14
15
|
)
|
|
15
16
|
|
|
16
17
|
|
|
17
|
-
class
|
|
18
|
+
class _OptionsWithAnExtraField(ComponentScanOptions):
|
|
18
19
|
seed_domain: str
|
|
19
20
|
|
|
20
21
|
|
|
@@ -155,15 +156,23 @@ def test_machine_name_is_injective() -> None:
|
|
|
155
156
|
|
|
156
157
|
|
|
157
158
|
def test_orchestrator_binds_the_options_type_it_is_parameterized_with() -> None:
|
|
158
|
-
|
|
159
|
+
extended = _OptionsWithAnExtraField(
|
|
159
160
|
config_id="123456",
|
|
160
161
|
entity_name="acme",
|
|
161
162
|
seed_domain="acme.com",
|
|
162
163
|
user_email="test@fluidattacks.com",
|
|
163
164
|
)
|
|
164
|
-
machine_input = StateMachineComponentOrchestrator[
|
|
165
|
-
_wire_payload(options=
|
|
165
|
+
machine_input = StateMachineComponentOrchestrator[_OptionsWithAnExtraField].model_validate(
|
|
166
|
+
_wire_payload(options=extended)
|
|
166
167
|
)
|
|
167
168
|
assert json.loads(machine_input.execution_options)["seed_domain"] == "acme.com"
|
|
168
169
|
with pytest.raises(ValidationError):
|
|
169
|
-
StateMachineComponentOrchestrator[
|
|
170
|
+
StateMachineComponentOrchestrator[_OptionsWithAnExtraField].model_validate(_wire_payload())
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
def test_resolves_options_add_no_fields_of_their_own() -> None:
|
|
174
|
+
options = ResolvesScanOptions(
|
|
175
|
+
config_id="123456", entity_name="acme", user_email="test@fluidattacks.com"
|
|
176
|
+
)
|
|
177
|
+
with pytest.raises(ValidationError):
|
|
178
|
+
ResolvesScanOptions.model_validate({**options.model_dump(), "seed_domain": "acme.com"})
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/tests/test_loader_env.py
RENAMED
|
File without changes
|
{fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/tests/test_model_scanner.py
RENAMED
|
File without changes
|
{fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/tests/test_root_scanner.py
RENAMED
|
File without changes
|
{fluidattacks_core_models-13.1.0 → fluidattacks_core_models-13.2.0}/tests/test_state_machines.py
RENAMED
|
File without changes
|