Cover local acceptance gaps and reject nonfinite JSON exponents
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a0e6f0-a6f6-7b93-9124-55ef584930e2
This commit is contained in:
parent
c29bf39b5d
commit
3e537d117f
12 changed files with 604 additions and 34 deletions
|
|
@ -8,27 +8,6 @@ from railiance_clock.client import Clock, FileTrust
|
|||
from railiance_clock.core import ClockError, Tick, Window
|
||||
from railiance_clock.protocol import sign, strict_json, encode64, verify
|
||||
|
||||
class Timer:
|
||||
def __init__(self): self.n=0; self.boot=0; self.domain='boot1'
|
||||
def read(self): return Tick(self.n, self.n+self.boot, self.domain)
|
||||
|
||||
@pytest.fixture
|
||||
def setup(tmp_path):
|
||||
key=ec.generate_private_key(ec.SECP256R1())
|
||||
data={'status':'admitted','authority_id':'railiance01','environment':'test','epoch':'epoch1','policy_id':'test-v1','kid':'test-key',
|
||||
'endpoint':'https://clock.invalid/v1/time-samples',
|
||||
'public_key_pem':key.public_key().public_bytes(serialization.Encoding.PEM,serialization.PublicFormat.SubjectPublicKeyInfo).decode(),
|
||||
'limits':{'max_age_ns':5_000_000_000,'max_rtt_ns':2_000_000_000,'max_width_ns':3_000_000_000,'max_server_error_ns':50_000_000,'timer_ppm':1000,'timer_resolution_ns':1000,'suspend_tolerance_ns':5_000_000,'trust_session_ns':60_000_000_000}}
|
||||
tmp_path.chmod(0o700)
|
||||
state=tmp_path/'state.json';state.write_text(json.dumps({'authority_id':'railiance01','epoch':'epoch1','lower_ns':0}));state.chmod(0o600)
|
||||
data.update(client_boot_id='boot1',trust_not_after_boottime_ns=60_000_000_000,rollback_state_file=str(state))
|
||||
path=tmp_path/'trust.json';path.write_text(json.dumps(data));path.chmod(0o600)
|
||||
timer=Timer()
|
||||
def transport(request):
|
||||
timer.n+=10_000_000
|
||||
return sign(dict(request,epoch='epoch1',policy_id='test-v1',quality='bounded',receive_unix_ns='100000000000',send_unix_ns='100001000000',error_ns='1000000',max_age_ns='5000000000'),key,'test-key')
|
||||
return path,key,timer,transport
|
||||
|
||||
def test_interval_contains_send_with_asymmetric_delay(setup, monkeypatch):
|
||||
path,key,timer,transport=setup
|
||||
import time
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue