DDRouterTests/TestEndpoint.swift (64 lines of code) (raw):

import DDRouter import Foundation // MARK: - ResponseModel struct ResponseModel: Decodable { let id: String let en: String let author: String } // MARK: - PostmanJSONModel struct PostmanJSONModel: Decodable { let json: [String: String]? let url: URL let headers: HTTPHeaders let args: [String: String] } // MARK: - PostmanDataModel struct PostmanDataModel: Decodable { let url: URL let data: String? let headers: HTTPHeaders let args: [String: String] } // MARK: - TestErrorModel struct TestErrorModel: APIErrorModelProtocol {} // MARK: - TestEndpoint enum TestEndpoint { case randomQuote case postmanPost(data: Data) } // MARK: EndpointType extension TestEndpoint: EndpointType { var baseURL: URL { switch self { case .randomQuote: // swiftlint:disable:next force_unwrapping return URL(string: "https://programming-quotes-api.herokuapp.com")! case .postmanPost: // swiftlint:disable:next force_unwrapping return URL(string: "https://postman-echo.com")! } } var path: String { switch self { case .randomQuote: return "quotes/random" case .postmanPost: return "post" } } var query: [String: String] { [:] } var method: HTTPMethod { switch self { case .randomQuote: return .get case .postmanPost: return .post } } var task: HTTPTask { switch self { case .randomQuote: return .request case let .postmanPost(data): return .requestWithRawBody(body: data) } } var headers: HTTPHeaders? { [:] } }