Publish curated ITWorx-ModelForge source from 990401737f96c8d46a9f7b0d84994516cadcb6a0
This commit is contained in:
1 parent
7082ab955a
commit
848f0d8f8a
434 files changed
+67298
-4315
No files matched your search
@@ -0,0 +1,56 @@
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import Session
|
||||
from sqlalchemy.pool import StaticPool
|
||||
|
||||
from modelforge_api.domain.projects import ProjectCreate, ProjectRequirementCreate
|
||||
from modelforge_api.persistence.models import ArtifactSet, Base, Model, ModelRevision
|
||||
from modelforge_api.services.projects import ProjectService
|
||||
from tests.test_serving import approve_and_promote, setup_m5
|
||||
|
||||
|
||||
def test_project_workspace_resolves_exact_model_behind_stable_capability() -> None:
|
||||
engine = create_engine(
|
||||
"sqlite://",
|
||||
connect_args={"check_same_thread": False},
|
||||
poolclass=StaticPool,
|
||||
)
|
||||
Base.metadata.create_all(engine)
|
||||
try:
|
||||
with Session(engine) as session:
|
||||
serving, candidate, _node = setup_m5(session)
|
||||
_approval, deployment = approve_and_promote(serving, candidate.id)
|
||||
projects = ProjectService(serving)
|
||||
projects.create(ProjectCreate(
|
||||
key="managed-model-app",
|
||||
name="Managed model app",
|
||||
description="Model management contract",
|
||||
owner="Operator",
|
||||
))
|
||||
workspace = projects.bind(
|
||||
"managed-model-app",
|
||||
ProjectRequirementCreate(
|
||||
capability="rag.embedding@1",
|
||||
migration_support="reindex",
|
||||
),
|
||||
)
|
||||
|
||||
requirement = workspace.requirements[0]
|
||||
assert requirement.deployment_id == deployment.id
|
||||
assert requirement.serving_model is not None
|
||||
|
||||
artifact_set = session.get(ArtifactSet, deployment.artifact_set_id)
|
||||
assert artifact_set is not None
|
||||
revision = session.get(ModelRevision, artifact_set.revision_id)
|
||||
assert revision is not None
|
||||
model = session.get(Model, revision.model_id)
|
||||
assert model is not None
|
||||
|
||||
assert requirement.serving_model.model_id == model.id
|
||||
assert requirement.serving_model.display_name == model.display_name
|
||||
assert requirement.serving_model.revision_id == revision.id
|
||||
assert requirement.serving_model.resolved_commit_sha == revision.resolved_commit_sha
|
||||
assert requirement.serving_model.artifact_set_id == artifact_set.id
|
||||
assert requirement.serving_model.runtime_profile_id == deployment.runtime_profile_id
|
||||
assert requirement.serving_model.compute_node_id == deployment.compute_node_id
|
||||
finally:
|
||||
engine.dispose()
|
||||
Reference in new issue
Block a user