P08-03: 配置の通常操作受入
This commit is contained in:
@@ -61,6 +61,39 @@ class EvidenceTests(unittest.TestCase):
|
||||
self.assertEqual(1,C.main(['--verify-only','--project-root',str(self.root)]))
|
||||
self.assertIn('reason mismatch',json.loads(output.getvalue())['deficits'])
|
||||
|
||||
def bootstrap_edit(self, mutate):
|
||||
self.edit("os-pair/writer-bootstrap-checkpoint.json", mutate)
|
||||
self.reject("bootstrap source-defined operation drift")
|
||||
|
||||
def test_bootstrap_missing_notification(self):
|
||||
self.bootstrap_edit(lambda d: C.typed_member(d,"systems","runtime","domain_events","recent_events")["items"].pop())
|
||||
|
||||
def test_bootstrap_extra_notification(self):
|
||||
self.bootstrap_edit(lambda d: C.typed_member(d,"systems","runtime","domain_events","recent_events")["items"].append(
|
||||
copy.deepcopy(C.typed_member(d,"systems","runtime","domain_events","recent_events")["items"][-1])))
|
||||
|
||||
def test_bootstrap_counter_drift(self):
|
||||
self.bootstrap_edit(lambda d: C.typed_member(d,"systems","runtime","id_generator","counters","domain_event").update(text="999"))
|
||||
|
||||
def test_bootstrap_payload_drift(self):
|
||||
def mutate(d):
|
||||
event = C.typed_member(d,"systems","runtime","domain_events","recent_events")["items"][-1]
|
||||
C.typed_member(event,"payload","save_path").update(text='"/wrong/path"')
|
||||
self.bootstrap_edit(mutate)
|
||||
|
||||
def test_bootstrap_unknown_field_drift(self):
|
||||
self.bootstrap_edit(lambda d: d["entries"].append([F.typed("unknown"),F.typed(1)]))
|
||||
|
||||
def test_bootstrap_missing_raw(self):
|
||||
(self.out/"os-pair/writer-bootstrap-checkpoint.var").unlink()
|
||||
F.repin(self.out)
|
||||
self.reject("writer-bootstrap-checkpoint.var")
|
||||
|
||||
def test_bootstrap_overwritten_raw(self):
|
||||
shutil.copyfile(self.out/"os-pair/writer-checkpoint.var", self.out/"os-pair/writer-bootstrap-checkpoint.var")
|
||||
F.repin(self.out)
|
||||
self.reject("wrong bootstrap raw model")
|
||||
|
||||
def test_reason_mismatch(self):
|
||||
self.edit('pair/writer-actions.json', lambda d: d['actions'][0].update(status='配置可能'))
|
||||
self.reject('reason mismatch')
|
||||
|
||||
Reference in New Issue
Block a user