Include scheduled operations usage in weekly reports

This commit is contained in:
wuyang
2026-11-03 22:22:29 +08:00
parent ad86a1661b
commit 830d5b722a
3 changed files with 68 additions and 2 deletions
+20
View File
@@ -53,6 +53,26 @@ class AccountingTests(unittest.TestCase):
self.assertFalse(created)
self.assertEqual(original, second.read_bytes())
def test_scheduled_usage_is_period_scoped_and_preserves_failed_runs(self):
import json
with tempfile.TemporaryDirectory() as directory:
root = Path(directory)
(root / 'one.summary.json').write_text(json.dumps({'id':'20261103T141341Z-a','status':'complete','usage':[{'input_tokens':100,'cached_input_tokens':80,'output_tokens':10}]}))
(root / 'two.summary.json').write_text(json.dumps({'id':'20261104T141341Z-b','status':'failed','usage':[]}))
(root / 'old.summary.json').write_text(json.dumps({'id':'20261003T141341Z-c','status':'complete','usage':[{'input_tokens':900}]}))
value=report.scheduled_codex_usage(root,dt.datetime(2026,11,3,tzinfo=report.TZ),dt.datetime(2026,11,5,tzinfo=report.TZ))
self.assertEqual((value['runs'],value['failed_runs'],value['input_tokens'],value['cached_input_tokens']), (2,1,100,80))
def test_harness_ledger_counts_only_selected_period(self):
import json
with tempfile.TemporaryDirectory() as directory:
path = Path(directory) / 'harness-runs.jsonl'
entries = [{'at_utc':'2026-11-03T14:00:00Z','usage':[{'inputTokens':10,'outputTokens':4}]}, {'at_utc':'2026-10-03T14:00:00Z','usage':[{'inputTokens':100}]}]
path.write_text('\n'.join(json.dumps(e) for e in entries))
value=report.harness_run_usage(path,dt.datetime(2026,11,3,tzinfo=report.TZ),dt.datetime(2026,11,5,tzinfo=report.TZ))
self.assertEqual((value['runs'],value['input_tokens'],value['output_tokens']),(1,10,4))
self.assertIsNone(value['cash_settlement_usd'])
if __name__ == '__main__':
unittest.main()