summaryrefslogtreecommitdiffhomepage
path: root/ios/MullvadVPNTests/MullvadSettings/IPOverrideRepositoryStub.swift
blob: 36d60bf4f7067e2a2dd2d5b7e6b6a4f530bfd112 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
//
//  IPOverrideRepositoryStub.swift
//  MullvadVPNTests
//
//  Created by Jon Petersson on 2024-01-31.
//  Copyright © 2025 Mullvad VPN AB. All rights reserved.
//

@preconcurrency import Combine
import MullvadSettings

struct IPOverrideRepositoryStub: IPOverrideRepositoryProtocol {
    let passthroughSubject: CurrentValueSubject<[IPOverride], Never> = CurrentValueSubject([])
    var overridesPublisher: AnyPublisher<[IPOverride], Never> {
        passthroughSubject.eraseToAnyPublisher()
    }

    let overrides: [IPOverride]

    init(overrides: [IPOverride] = []) {
        self.overrides = overrides
    }

    func add(_ overrides: [IPOverride]) {}

    func fetchAll() -> [IPOverride] {
        overrides
    }

    func fetchByHostname(_ hostname: String) -> IPOverride? {
        nil
    }

    func deleteAll() {}

    func parse(data: Data) throws -> [IPOverride] {
        overrides
    }
}