lerobot-grader / tests /test_usage.py
kalanosdev's picture
Measure anonymous Space activity and successful card copies
4ee7c6a
Raw History Blame Contribute Delete
1.77 kB
import unittest
from unittest.mock import patch
import app
import usage
class UsageTests(unittest.TestCase):
def test_failed_audit_counts_start_and_failure_without_input(self):
with patch('app.track') as track, patch('app.quick_grade', side_effect=ValueError('limit')):
app.run('private/example')
self.assertEqual([c.args for c in track.call_args_list], [('hf_audit_started',), ('hf_audit_failed',)])
def test_success_counts_only_after_result_is_rendered(self):
with patch('app.track') as track, patch('app.quick_grade', return_value={}), \
patch('app.card_payload', return_value={'markdown': 'private card'}), patch('app.render', return_value='result'):
app.run('org/example')
self.assertEqual([c.args for c in track.call_args_list], [('hf_audit_started',), ('hf_audit_completed',)])
def test_invalid_syntax_does_not_count_as_an_audit(self):
with patch('app.track') as track:
app.run('')
track.assert_not_called()
def test_transport_sends_event_only_and_failure_is_harmless(self):
with patch('usage.requests.post', side_effect=RuntimeError('offline')) as post:
usage._send('hf_audit_completed')
self.assertEqual(post.call_args.kwargs['json'], {'event': 'hf_audit_completed'})
self.assertEqual(post.call_args.kwargs['timeout'], 2)
def test_local_and_unknown_events_are_not_sent(self):
with patch('usage.ENABLED', False), patch('usage._pending.put_nowait') as send:
usage.track('hf_audit_started')
send.assert_not_called()
with patch('usage.ENABLED', True), patch('usage._pending.put_nowait') as send:
usage.track('report_ingested')
send.assert_not_called()