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,27 @@
|
||||
"""Legacy route entry points participate in the durable generation fence."""
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from modelforge_api.domain.serving import CapabilityPromotionCreate
|
||||
from modelforge_api.persistence.models import CapabilityContract
|
||||
from tests.test_serving import approve_and_promote, session, setup_m5
|
||||
|
||||
__all__ = ["session"]
|
||||
|
||||
|
||||
def test_first_promotion_and_repeated_drain_do_not_allow_generation_reuse(session: Session):
|
||||
service, candidate, _ = setup_m5(session)
|
||||
approval, deployment = approve_and_promote(service, candidate.id)
|
||||
contract = session.get(CapabilityContract, approval.capability_contract_id)
|
||||
assert contract.serving_generation == deployment.route_generation == 1
|
||||
replay = service.promote(candidate.id, CapabilityPromotionCreate(
|
||||
production_approval_id=approval.id, keep_warm_seconds=900))
|
||||
assert replay.id == deployment.id and contract.serving_generation == 1
|
||||
service.request_unload(deployment.id)
|
||||
assert contract.serving_generation == 1
|
||||
service.request_unload(deployment.id, drain=True)
|
||||
assert contract.serving_generation == 2
|
||||
service.request_unload(deployment.id, drain=True)
|
||||
assert contract.serving_generation == 2
|
||||
replacement = service.promote(candidate.id, CapabilityPromotionCreate(
|
||||
production_approval_id=approval.id, keep_warm_seconds=901))
|
||||
assert replacement.id != deployment.id and contract.serving_generation == replacement.route_generation == 3
|
||||
Reference in new issue
Block a user