2019-01-06 12:26:08 -07:00
|
|
|
//
|
2024-10-25 23:09:31 -04:00
|
|
|
// MockNetworkSession
|
2024-10-01 14:05:41 -04:00
|
|
|
// masTests
|
2019-01-06 12:26:08 -07:00
|
|
|
//
|
|
|
|
// Created by Ben Chatelain on 11/13/18.
|
|
|
|
// Copyright © 2018 mas-cli. All rights reserved.
|
|
|
|
//
|
|
|
|
|
2021-04-14 12:08:55 -07:00
|
|
|
import Foundation
|
2021-04-22 19:15:57 -07:00
|
|
|
import PromiseKit
|
2021-05-09 13:25:20 -07:00
|
|
|
|
2024-10-01 14:05:41 -04:00
|
|
|
@testable import mas
|
2019-01-06 12:26:08 -07:00
|
|
|
|
2019-01-06 14:01:08 -07:00
|
|
|
/// Mock NetworkSession for testing.
|
2024-10-25 23:09:31 -04:00
|
|
|
class MockNetworkSession: NetworkSession {
|
2019-01-06 12:26:08 -07:00
|
|
|
// Properties that enable us to set exactly what data or error
|
|
|
|
// we want our mocked URLSession to return for any request.
|
|
|
|
var data: Data?
|
|
|
|
var error: Error?
|
|
|
|
|
2021-04-22 19:15:57 -07:00
|
|
|
func loadData(from _: URL) -> Promise<Data> {
|
2024-02-05 16:03:51 -05:00
|
|
|
guard let data else {
|
2021-04-22 19:15:57 -07:00
|
|
|
return Promise(error: error ?? MASError.noData)
|
|
|
|
}
|
|
|
|
|
|
|
|
return .value(data)
|
2019-01-06 12:26:08 -07:00
|
|
|
}
|
|
|
|
}
|