cyberhybridhub/test/admin/helpers/sync_run_fixtures.dart
2026-05-31 11:17:12 -05:00

45 lines
1.1 KiB
Dart

import 'package:cyberhybridhub/admin/models/sync_run_event.dart';
SyncRunEvent syncRunFixture({
required int id,
required String kind,
required DateTime startedAt,
DateTime? finishedAt,
int rowsWritten = 0,
int rowsRemoved = 0,
String? error,
SyncRunSeverity severity = SyncRunSeverity.ok,
SyncRunStatus status = SyncRunStatus.success,
String? summary,
}) {
return SyncRunEvent(
id: id,
kind: kind,
startedAt: startedAt,
finishedAt: finishedAt,
rowsWritten: rowsWritten,
rowsRemoved: rowsRemoved,
error: error,
severity: severity,
status: status,
durationMs: finishedAt == null
? null
: finishedAt.difference(startedAt).inMilliseconds,
summary: summary ?? 'summary $id',
);
}
List<SyncRunEvent> fixtureRateLimitUnresolved(DateTime base) {
return <SyncRunEvent>[
syncRunFixture(
id: 10,
kind: 'backfill',
startedAt: base,
finishedAt: base.add(const Duration(minutes: 2)),
error: 'rate limited: 429',
severity: SyncRunSeverity.rateLimit,
status: SyncRunStatus.failed,
),
];
}