Publish curated ITWorx-ModelForge source from 990401737f96c8d46a9f7b0d84994516cadcb6a0

This commit is contained in:
Public Source Publisher committed 2026-09-30 09:23:17 +00:00
1 parent 7082ab955a
commit 848f0d8f8a
434 files changed
+67298 -4315

No files matched your search

+16
View File
@@ -5,6 +5,7 @@ import pytest
from fastapi import HTTPException
from fastapi.testclient import TestClient
from hardware_fakes import FakeAcceleratorCollector, FakeHostCollector
from http_contract_fakes import isolated_http_contract # noqa: F401 - opt-in pytest fixture
from pydantic import SecretStr
from sqlalchemy import create_engine, text
from sqlalchemy.orm import Session
@@ -18,6 +19,8 @@ from modelforge_api.services.hardware_inventory import HardwareInventoryService
from modelforge_api.services.node_agent import NodeAgentService
from modelforge_api.settings import Settings, get_settings
pytestmark = pytest.mark.usefixtures("isolated_http_contract")
def enrollment_payload(token: str, identity: str = "remote-a") -> dict:
return {
@@ -71,6 +74,16 @@ def test_agent_api_enrollment_secret_is_once_only_and_node_scoped() -> None:
assert enrolled.status_code == 201
assert enrolled.headers["cache-control"] == "no-store"
credential = enrolled.json()["node_credential"]
enrollments_after_use = client.get(
"/api/v1/admin/node-enrollments",
headers={"X-ModelForge-Admin-Token": "admin-key"},
)
assert enrollments_after_use.status_code == 200
used_summary = next(
item for item in enrollments_after_use.json() if item["id"] == created.json()["id"]
)
assert used_summary["enrolled_node_id"] == enrolled.json()["node_id"]
assert "enrollment_token" not in used_summary
assert (
client.post("/api/v1/agent/enroll", json=enrollment_payload(token)).status_code
== 401
@@ -189,6 +202,8 @@ def test_agent_openapi_contract_contains_versioned_surfaces_without_list_secret(
"/api/v1/agent/telemetry",
"/api/v1/admin/node-enrollments",
"/api/v1/admin/hardware/nodes/{node_id}/credential/rotate",
"/api/v1/admin/hardware/nodes/{node_id}/lifecycle/preview",
"/api/v1/admin/hardware/nodes/{node_id}/lifecycle",
"/api/v1/admin/hardware/nodes/{node_id}/decommission/preview",
"/api/v1/admin/hardware/nodes/{node_id}/decommission",
"/api/v1/agent/runtime-probes/next",
@@ -199,3 +214,4 @@ def test_agent_openapi_contract_contains_versioned_surfaces_without_list_secret(
assert path in schema["paths"]
summary = schema["components"]["schemas"]["EnrollmentTokenSummary"]
assert "enrollment_token" not in summary["properties"]
assert "enrolled_node_id" in summary["properties"]