14 lines
897 B
Python
14 lines
897 B
Python
from pathlib import Path
|
|
import importlib.util,unittest
|
|
p=Path(__file__).resolve().parent/'diagnose_stream.py';s=importlib.util.spec_from_file_location('stream',p);d=importlib.util.module_from_spec(s);s.loader.exec_module(d)
|
|
class Tests(unittest.TestCase):
|
|
def test_only_exact_public_marker_is_accepted(self):
|
|
self.assertTrue(d.marker(b'{"cached_artifacts_verified":true}\n'))
|
|
for raw in [None,b'PRIVATE_SENTINEL',b'{"cached_artifacts_verified":false}',b'{"cached_artifacts_verified":true,"extra":"PRIVATE_SENTINEL"}']:
|
|
self.assertFalse(d.marker(raw))
|
|
def test_probe_does_not_read_input_or_modify_artifacts(self):
|
|
script=d.check_script({})
|
|
for command in ['chmod ','mkdir ','cp ','mv ','rm ','cat >','cat >/']:
|
|
self.assertNotIn(command,script)
|
|
self.assertIn('.migration-owner',script)
|
|
if __name__=='__main__':unittest.main()
|