// // RESTRequestExecutor+Stubs.swift // MullvadVPNTests // // Created by Marco Nikic on 2023-10-03. // Copyright © 2025 Mullvad VPN AB. All rights reserved. // import Foundation import MullvadREST import MullvadTypes struct RESTRequestExecutorStub: RESTRequestExecutor { var success: (() -> Success)? func execute(completionHandler: @escaping (Result) -> Void) -> Cancellable { if let result = success?() { completionHandler(.success(result)) } return AnyCancellable() } func execute( retryStrategy: REST.RetryStrategy, completionHandler: @escaping (Result) -> Void ) -> Cancellable { if let result = success?() { completionHandler(.success(result)) } return AnyCancellable() } func execute() async throws -> Success { try await execute(retryStrategy: .noRetry) } func execute(retryStrategy: REST.RetryStrategy) async throws -> Success { guard let success = success else { throw POSIXError(.EINVAL) } return success() } }