Files
jobtrackingapp/docs/redesign/phase-9/p9-sec-02/full-model/test_prepare.py
T
cesnimda b48f25c4ff
MariaDB persistence qualification / mariadb (push) Has been cancelled
test: qualify immutable models and Phase 9 regression
2026-10-25 13:43:50 +01:00

36 lines
1.8 KiB
Python

import hashlib
import io
import json
from pathlib import Path
import tempfile
import unittest
from unittest.mock import patch
from prepare import prepare
class PreparationBoundaryTests(unittest.TestCase):
def run_fixture(self, payload, expected=b'approved'):
revision='a4f8f3ea906ed274767e9906dbaede7531d660ff'
manifest={'weights-only':{'sourceRevision':revision,'license':'Apache-2.0 pinned card',
'files':[{'file':'config.json','url':'https://huggingface.co/sshleifer/distilbart-cnn-12-6/resolve/'+revision+'/config.json',
'bytes':len(expected),'sha256':hashlib.sha256(expected).hexdigest()}]}}
with tempfile.TemporaryDirectory() as directory:
target=Path(directory)/'new-cache'
with patch.object(Path,'read_text',return_value=json.dumps(manifest)), patch('prepare.shutil.disk_usage',return_value=type('Usage',(),{'free':10*1024**3})()), patch('prepare.urllib.request.urlopen',return_value=io.BytesIO(payload)):
if payload==expected:
prepare(target)
self.assertEqual((target/'config.json').read_bytes(),expected)
with self.assertRaises(AssertionError):prepare(target)
self.assertEqual((target/'config.json').read_bytes(),expected)
else:
with self.assertRaises(AssertionError):prepare(target)
self.assertFalse((target/'config.json').exists())
self.assertTrue((target/'config.json.partial').exists())
def test_validated_bytes_and_existing_cache_preserved(self):self.run_fixture(b'approved')
def test_corrupt_bytes_never_promoted(self):self.run_fixture(b'rejected')
def test_oversized_bytes_never_promoted(self):self.run_fixture(b'oversized payload')
if __name__=='__main__':unittest.main()