From f5a3c96a122c02b7fd9b84dc5150fa480bb172b5 Mon Sep 17 00:00:00 2001 From: Igor Palaguta Date: Wed, 15 Apr 2020 13:12:47 +0300 Subject: [PATCH] Fix Swift Package Manager Tests --- Package.resolved | 9 +++++++++ Package.swift | 13 ++++++------- Tests/YoutubeEngineTests/EngineTests.swift | 10 ++++++++++ 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/Package.resolved b/Package.resolved index 5d01179..78e1629 100644 --- a/Package.resolved +++ b/Package.resolved @@ -10,6 +10,15 @@ "version": "8.0.7" } }, + { + "package": "OHHTTPStubs", + "repositoryURL": "https://github.com/AliSoftware/OHHTTPStubs.git", + "state": { + "branch": null, + "revision": "e92b5a5746ef16add2a1424f1fc19529d9a75cde", + "version": "9.0.0" + } + }, { "package": "Quick", "repositoryURL": "https://github.com/Quick/Quick.git", diff --git a/Package.swift b/Package.swift index 87de8a1..f94e68d 100644 --- a/Package.swift +++ b/Package.swift @@ -11,19 +11,18 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/ReactiveCocoa/ReactiveSwift.git", from: "6.0.0"), - .package(url: "https://github.com/Quick/Nimble.git", from: "8.0.0") - // stub and fixture functions don't work - // .package(url: "https://github.com/AliSoftware/OHHTTPStubs.git", from: "9.0.0") + .package(url: "https://github.com/Quick/Nimble.git", from: "8.0.0"), + .package(url: "https://github.com/AliSoftware/OHHTTPStubs.git", from: "9.0.0") ], targets: [ .target(name: "YoutubeEngine", dependencies: ["ReactiveSwift"], path: "Source"), .testTarget(name: "YoutubeEngineTests", dependencies: [ "YoutubeEngine", - "Nimble" - // "OHHTTPStubsSwift" - ], - exclude: ["EngineTests.swift"]) + "Nimble", + "OHHTTPStubsSwift" + ] + ), ], swiftLanguageVersions: [.v5] ) diff --git a/Tests/YoutubeEngineTests/EngineTests.swift b/Tests/YoutubeEngineTests/EngineTests.swift index 7216c07..17142a4 100644 --- a/Tests/YoutubeEngineTests/EngineTests.swift +++ b/Tests/YoutubeEngineTests/EngineTests.swift @@ -1,5 +1,8 @@ import Nimble import OHHTTPStubs +#if SWIFT_PACKAGE +import OHHTTPStubsSwift +#endif import ReactiveSwift import XCTest @testable import YoutubeEngine @@ -251,7 +254,14 @@ final class EngineTests: XCTestCase { } private func jsonFile(_ fileName: String) -> HTTPStubsResponse { + #if SWIFT_PACKAGE + let relativePath = "Tests/YoutubeEngineTests/Responses/\(fileName).json" + let path = (FileManager.default.currentDirectoryPath as NSString) + .appendingPathComponent(relativePath) + #else let path = Bundle(for: type(of: self)).path(forResource: fileName, ofType: "json")! + #endif + let response = fixture(filePath: path, headers: nil) response.requestTime(0, responseTime: 0) return response