9 lines
1.5 KiB
Python
9 lines
1.5 KiB
Python
import importlib.util,json,os,pathlib,tempfile,time,unittest
|
|
P=pathlib.Path(__file__).with_name('enterprise_living_lighthouse.py');S=importlib.util.spec_from_file_location('x',P);M=importlib.util.module_from_spec(S);S.loader.exec_module(M)
|
|
class T(unittest.TestCase):
|
|
def test_echo_required_and_dark_unknown(self):
|
|
with tempfile.TemporaryDirectory() as d:
|
|
M.ROOT=pathlib.Path(d);M.KEY=b'k';M.API='';M.MAP=pathlib.Path(d)/'map';M.MAP.write_text(json.dumps({'sha256':'m','routes':[{'id':'A','name':'alpha','kind':'x','route':'r'}]}));now=int(time.time()*1000)
|
|
with self.assertRaisesRegex(ValueError,'human_language'):M.ignite({'schema':'guanghu.linguistic-echo/v1','scope':'ENTERPRISE_PUBLIC','session_id':'s'})
|
|
s=M.ignite({'schema':'guanghu.linguistic-echo/v1','scope':'ENTERPRISE_PUBLIC','session_id':'s','human_language':{'human_id':'H','sha256':'a'*64,'occurred_at':now-2},'persona_echo':{'persona_id':'P','sha256':'b'*64,'occurred_at':now-1}});lid=json.loads(s['payload'])['lamp_id'];self.assertEqual(M.ask({'lamp_id':lid,'session_id':'s','query':'A'})['outcome'],'PASS');self.assertEqual(M.ask({'lamp_id':lid,'session_id':'s','query':'old'})['state'],'DARK_OR_UNKNOWN_DO_NOT_WALK');original=M.model_pick;M.model_pick=lambda *_:(_ for _ in ()).throw(AssertionError('structured unknown must not reach model'));self.assertEqual(M.ask({'lamp_id':lid,'session_id':'s','query':'ICE-P-ZY001'})['state'],'DARK_OR_UNKNOWN_DO_NOT_WALK');M.model_pick=original
|
|
if __name__=='__main__':unittest.main()
|