RadrootsTelemetryTestingTests.swift (962B)
1 import Testing 2 import RadrootsKit 3 import RadrootsKitTesting 4 5 @Test func recordingTelemetryStoresEventsInOrderAndFiltersByLevel() async throws { 6 let telemetry = RadrootsRecordingTelemetry(minimumLevel: .warning) 7 let debug = try RadrootsTelemetryEvent(name: "field_ios.startup.debug", level: .debug) 8 let warning = try RadrootsTelemetryEvent(name: "field_ios.relay.warning", level: .warning) 9 let critical = try RadrootsTelemetryEvent(name: "field_ios.identity.critical", level: .critical) 10 11 await telemetry.record(debug) 12 await telemetry.record(warning) 13 await telemetry.record(critical) 14 15 #expect(await telemetry.recordedEventCount == 2) 16 #expect(await telemetry.recordedEventNames == [ 17 "field_ios.relay.warning", 18 "field_ios.identity.critical" 19 ]) 20 #expect(await telemetry.events(named: "field_ios.relay.warning").count == 1) 21 22 await telemetry.reset() 23 24 #expect(await telemetry.recordedEventCount == 0) 25 }