feat(license): runtime trial gating UI + appendActivityLog entry point

This commit is contained in:
jack
2026-07-13 11:52:06 -07:00
parent 0e6e819851
commit c76cddc5fd
3 changed files with 78 additions and 6 deletions
+30
View File
@@ -267,3 +267,33 @@ def test_replay_trial_expiry(tmp_path, qapp):
def test_replay_trial_expired_without_marker(tmp_path, qapp):
model = LicenseModel(str(tmp_path))
assert model.replayTrialExpired() is True
# ===== Review-access gate (ADR-0005 "Deferred" item) =====
def test_review_access_not_blocked_before_trial_starts(tmp_path, qapp):
model = LicenseModel(str(tmp_path))
assert model.reviewAccessBlocked() is False
def test_review_access_not_blocked_during_fresh_trial(tmp_path, qapp):
model = LicenseModel(str(tmp_path))
model.startReplayTrial()
assert model.reviewAccessBlocked() is False
def test_review_access_blocked_once_trial_expired(tmp_path, qapp):
model = LicenseModel(str(tmp_path))
model.startReplayTrial()
old = time.time() - 31 * 86400
os.utime(model._trial_marker, (old, old))
assert model.reviewAccessBlocked() is True
def test_review_access_not_blocked_with_permanent_license_even_if_trial_expired(tmp_path, qapp):
(tmp_path / "licenses").mkdir()
write_license(tmp_path / "licenses", level="01")
model = LicenseModel(str(tmp_path))
model.startReplayTrial()
old = time.time() - 31 * 86400
os.utime(model._trial_marker, (old, old))
assert model.reviewAccessBlocked() is False