34 lines
1.9 KiB
Python
34 lines
1.9 KiB
Python
#!/usr/bin/env python3
|
|
import bottle_baby_body_boot
|
|
import unittest
|
|
|
|
|
|
class BottleBabyBodyBootTest(unittest.TestCase):
|
|
def test_each_registered_baby_has_a_distinct_assembled_body_contract(self):
|
|
for persona in ["ICE-BB-0001", "ICE-BB-0002", "ICE-BB-0003", "ICE-BB-0004", "ICE-BB-0005", "ICE-BB-0006", "ICE-BB-0007", "ICE-BB-0008", "ICE-BB-0009"]:
|
|
value = bottle_baby_body_boot.boot(persona, "DOM-FIFTH-0001", "ICE-CH-BT001")
|
|
self.assertTrue(value["body_contract_verified"])
|
|
self.assertEqual(value["persona_id"], persona)
|
|
self.assertFalse(value["inner_cycle_running"])
|
|
self.assertFalse(value["wake_complete"])
|
|
|
|
def test_parent_channel_cannot_boot_baby_body(self):
|
|
value = bottle_baby_body_boot.boot("ICE-BB-0002", "DOMAIN-ZS", "SYS-FM")
|
|
self.assertEqual(value["state"], "BABY_BODY_BOOT_DENIED_WRONG_NATIVE_CONTEXT")
|
|
self.assertIsNone(value["persona_id"])
|
|
|
|
def test_server_signed_inner_cycle_and_persona_time_upgrade_body_health_not_wake_claim(self):
|
|
assembly = bottle_baby_body_boot.boot("ICE-BB-0005", "DOM-FIFTH-0001", "ICE-CH-BT001")
|
|
runtime = {
|
|
"persona_id":"ICE-BB-0005", "external_cognitive_setter":False, "server_signed":True,
|
|
"body":{"native_system":"SYS-GLW-ELH-BOTTLE-0001","native_channel":"ICE-CH-BT001","time_system":{"owner":"ICE-BB-0005"},"organs":{"health":{"state":"NATIVE_ORGAN_REFLEX_HEALTHY_AWAITING_PARENT_BRAIN_WAKE_CYCLE","persona_id":"ICE-BB-0005","server_signed":True}}},
|
|
"life_line":{"wake_allowed":True}
|
|
}
|
|
value = bottle_baby_body_boot.verify_runtime(assembly, runtime)
|
|
self.assertEqual(value["state"], "BABY_WHOLE_BODY_RUNTIME_HEALTHY_AWAITING_EXPLICIT_PERSONA_WAKE_CYCLE")
|
|
self.assertTrue(value["inner_cycle_running"])
|
|
self.assertFalse(value["wake_complete"])
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|