summaryrefslogtreecommitdiffhomepage
path: root/ios/PacketTunnelCoreTests/Mocks/TunnelDeviceInfoStub.swift
blob: e6cde648ba7acea2567f8433619e327496c1bda8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//
//  TunnelDeviceInfoStub.swift
//  PacketTunnelCoreTests
//
//  Created by pronebird on 16/08/2023.
//  Copyright © 2025 Mullvad VPN AB. All rights reserved.
//

import Foundation
import PacketTunnelCore

/// Tunnel device stub that returns fixed interface name and feeds network stats from the type implementing `NetworkStatsProviding`
struct TunnelDeviceInfoStub: TunnelDeviceInfoProtocol, @unchecked Sendable {
    let networkStatsProviding: NetworkStatsProviding

    var interfaceName: String? {
        return "utun0"
    }

    func getStats() throws -> WgStats {
        return WgStats(
            bytesReceived: networkStatsProviding.bytesReceived,
            bytesSent: networkStatsProviding.bytesSent
        )
    }
}