Files
Dip/SampleApp/Tests/NetworkMock.swift
Ilya Puchka 3ada18d756 Swift 3 (#120)
Swift 3 migration
2016-09-11 11:01:02 +02:00

38 lines
1.0 KiB
Swift

//
// NetworkMock.swift
// Dip
//
// Created by Olivier Halligon on 11/10/2015.
// Copyright © 2015 AliSoftware. All rights reserved.
//
import Foundation
import Dip
var wsDependencies = DependencyContainer()
// MARK: - Mock object used for tests
struct NetworkMock : NetworkLayer {
let fakeData: Data?
init(json: Any) {
do {
fakeData = try JSONSerialization.data(withJSONObject: json, options: [])
} catch {
fakeData = nil
}
}
func request(path: String, completion: @escaping (NetworkResponse) -> Void) {
let fakeURL = NSURL(string: "http://stub")?.appendingPathComponent(path)
if let data = fakeData {
let response = HTTPURLResponse(url: fakeURL!, statusCode: 200, httpVersion: "1.1", headerFields:nil)!
completion(.Success(data, response))
} else {
let response = HTTPURLResponse(url: fakeURL!, statusCode: 204, httpVersion: "1.1", headerFields:nil)!
completion(.Success(Data(), response))
}
}
}