Include scheduled operations usage in weekly reports
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user