apple_kit

Apple-native services for Radroots iOS and macOS apps
git clone https://radroots.dev/git/apple_kit.git
Log | Files | Refs | README

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 }