Skip to content

Commit 077c52a

Browse files
authored
Allow subclassing the MockingURLProtocol, fallback for HTTP Body (#109)
* Allow subclassing the MockingURLProtocol, fallback for HTTP Body * Update CI * Fix building for SwiftLint phase * Fix Danger * Fix Danger
1 parent fdfa7cb commit 077c52a

File tree

5 files changed

+19
-14
lines changed

5 files changed

+19
-14
lines changed

Mocker.xcodeproj/project.pbxproj

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@
192192
isa = PBXProject;
193193
attributes = {
194194
LastSwiftUpdateCheck = 0830;
195-
LastUpgradeCheck = 1020;
195+
LastUpgradeCheck = 1320;
196196
ORGANIZATIONNAME = WeTransfer;
197197
TargetAttributes = {
198198
501E26931F3DAE370048F39E = {
@@ -259,7 +259,7 @@
259259
);
260260
runOnlyForDeploymentPostprocessing = 0;
261261
shellPath = /bin/sh;
262-
shellScript = "./Submodules/WeTransfer-iOS-CI/SwiftLint/swiftlint.sh\n";
262+
shellScript = "./Submodules/WeTransfer-iOS-CI/BuildTools/swiftlint.sh\n";
263263
};
264264
/* End PBXShellScriptBuildPhase section */
265265

@@ -321,6 +321,7 @@
321321
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
322322
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
323323
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
324+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
324325
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
325326
CLANG_WARN_STRICT_PROTOTYPES = YES;
326327
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -346,7 +347,7 @@
346347
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
347348
GCC_WARN_UNUSED_FUNCTION = YES;
348349
GCC_WARN_UNUSED_VARIABLE = YES;
349-
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
350+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
350351
MTL_ENABLE_DEBUG_INFO = YES;
351352
ONLY_ACTIVE_ARCH = YES;
352353
SDKROOT = iphoneos;
@@ -385,6 +386,7 @@
385386
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
386387
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
387388
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
389+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
388390
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
389391
CLANG_WARN_STRICT_PROTOTYPES = YES;
390392
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -404,7 +406,7 @@
404406
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
405407
GCC_WARN_UNUSED_FUNCTION = YES;
406408
GCC_WARN_UNUSED_VARIABLE = YES;
407-
IPHONEOS_DEPLOYMENT_TARGET = 10.3;
409+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
408410
MTL_ENABLE_DEBUG_INFO = NO;
409411
SDKROOT = iphoneos;
410412
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
@@ -430,7 +432,7 @@
430432
);
431433
INFOPLIST_FILE = "Mocker/Supporting Files/Info.plist";
432434
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
433-
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
435+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
434436
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
435437
PRODUCT_BUNDLE_IDENTIFIER = com.wetransfer.Mocker;
436438
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -453,7 +455,7 @@
453455
);
454456
INFOPLIST_FILE = "Mocker/Supporting Files/Info.plist";
455457
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
456-
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
458+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
457459
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
458460
PRODUCT_BUNDLE_IDENTIFIER = com.wetransfer.Mocker;
459461
PRODUCT_NAME = "$(TARGET_NAME)";

Mocker.xcodeproj/xcshareddata/xcschemes/Mocker.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1020"
3+
LastUpgradeVersion = "1320"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

Package.swift

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version:5.1
1+
// swift-tools-version:5.5
22
// The swift-tools-version declares the minimum version of Swift required to build this package.
33
// We're hiding dev, test, and danger dependencies with // dev to make sure they're not fetched by users of this package.
44

@@ -15,11 +15,14 @@ let package = Package(name: "Mocker",
1515
.library(name: "Mocker", targets: ["Mocker"])
1616
],
1717
dependencies: [
18-
// dev .package(url: "https://github.com/danger/swift", from: "3.0.0"),
19-
// dev .package(path: "Submodules/WeTransfer-iOS-CI/Danger-Swift")
18+
// dev .package(name: "danger-swift", url: "https://github.com/danger/swift", from: "3.12.1"),
19+
// dev .package(name: "WeTransferPRLinter", path: "Submodules/WeTransfer-iOS-CI/WeTransferPRLinter")
2020
],
2121
targets: [
22-
// dev .target(name: "DangerDependencies", dependencies: ["Danger", "WeTransferPRLinter"], path: "Submodules/WeTransfer-iOS-CI/Danger-Swift", sources: ["DangerFakeSource.swift"]),
22+
// dev .target(name: "DangerDependencies", dependencies: [
23+
// dev .product(name: "Danger", package: "danger-swift"),
24+
// dev .product(name: "WeTransferPRLinter", package: "WeTransferPRLinter")
25+
// dev ], path: "Submodules/WeTransfer-iOS-CI/DangerFakeSources", sources: ["DangerFakeSource.swift"]),
2326
.target(name: "Mocker", path: "Sources"),
2427
.testTarget(name: "MockerTests", dependencies: ["Mocker"], path: "MockerTests")
2528
],

Sources/MockingURLProtocol.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import Foundation
1010

1111
/// The protocol which can be used to send Mocked data back. Use the `Mocker` to register `Mock` data
12-
public final class MockingURLProtocol: URLProtocol {
12+
open class MockingURLProtocol: URLProtocol {
1313

1414
enum Error: Swift.Error, LocalizedError, CustomDebugStringConvertible {
1515
case missingMockedData(url: String)
@@ -108,7 +108,7 @@ private extension Data {
108108

109109
private extension URLRequest {
110110
var postBodyArguments: [String: Any]? {
111-
guard let httpBody = httpBodyStreamData() else { return nil }
111+
guard let httpBody = httpBodyStreamData() ?? httpBody else { return nil }
112112
return try? JSONSerialization.jsonObject(with: httpBody, options: .fragmentsAllowed) as? [String: Any]
113113
}
114114

Submodules/WeTransfer-iOS-CI

Submodule WeTransfer-iOS-CI updated 185 files

0 commit comments

Comments
 (0)