From e012085412d76be55e681ac7ab202482efc898a1 Mon Sep 17 00:00:00 2001 From: Daniel Koster Date: Sat, 23 Aug 2025 17:26:24 -0300 Subject: [PATCH 01/12] Removed file unused --- .../Network Settings/HostSettingsReader.swift | 36 ------------------- 1 file changed, 36 deletions(-) delete mode 100644 Sources/Network Settings/HostSettingsReader.swift diff --git a/Sources/Network Settings/HostSettingsReader.swift b/Sources/Network Settings/HostSettingsReader.swift deleted file mode 100644 index 4c31d96..0000000 --- a/Sources/Network Settings/HostSettingsReader.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// HostSettingsReader.swift -// QuickHatch -// -// Created by Daniel Koster on 5/14/21. -// Copyright © 2021 DaVinci Labs. All rights reserved. -// - -import Foundation - -//public protocol HostSettingsReader { -// func read() -> Settings -//} -// -//private class HostConfigReader { -// class var values: HostSettings { -// let data = try! PropertyListSerialization.data(fromPropertyList: Bundle.init(for: Host.self).infoDictionary!, -// format: PropertyListSerialization.PropertyListFormat.binary, -// options: 0) -// let plistDecoder = PropertyListDecoder() -// return try! plistDecoder.decode(HostSettings.self, from: data) -// -// } -//} - -//private struct HostSettings: Decodable { -// let apiKey: String -// let host: String -// let baseUrl: String -// -// enum CodingKeys: String, CodingKey { -// case apiKey = "Api Key" -// case host = "Host" -// case baseUrl = "Base URL" -// } -//} From 8163399bac4fceafee5080951f3c632cf587106a Mon Sep 17 00:00:00 2001 From: Daniel Koster Date: Sat, 23 Aug 2025 17:28:23 -0300 Subject: [PATCH 02/12] updated package --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 98b9331..5e5be06 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.0 +// swift-tools-version: 5.10.0 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription From 11a5a8438e87db58df7e9e21e11f8be6cae0aba4 Mon Sep 17 00:00:00 2001 From: Daniel Koster Date: Sat, 23 Aug 2025 17:37:45 -0300 Subject: [PATCH 03/12] configuring pipeline --- .github/workflows/swift.yml | 4 +++- Package.swift | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 3320306..a22fa3b 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -15,7 +15,9 @@ jobs: runs-on: macos-latest steps: - - uses: actions/checkout@v4 + - uses: swift-actions/setup-swift@v2 + - name: Get swift version + run: swift --version - name: Build run: swift build -v - name: Run tests diff --git a/Package.swift b/Package.swift index 5e5be06..98b9331 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 5.10.0 +// swift-tools-version: 6.0 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription From 31f165330bf42483da057116858be8c2bf951f2b Mon Sep 17 00:00:00 2001 From: Daniel Koster Date: Sat, 23 Aug 2025 17:39:20 -0300 Subject: [PATCH 04/12] fixed yaml file --- .github/workflows/swift.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index a22fa3b..d5264fa 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: swift-actions/setup-swift@v2 - name: Get swift version - run: swift --version + run: swift --version - name: Build run: swift build -v - name: Run tests From 0bb7fe0a65c7f683f668f30a8d8adcca01080725 Mon Sep 17 00:00:00 2001 From: Daniel Koster Date: Sat, 23 Aug 2025 17:42:51 -0300 Subject: [PATCH 05/12] check directories --- .github/workflows/swift.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index d5264fa..265d37a 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -17,7 +17,9 @@ jobs: steps: - uses: swift-actions/setup-swift@v2 - name: Get swift version - run: swift --version + run: swift --version + - name: List directories + run: ls -lha - name: Build run: swift build -v - name: Run tests From f53fb3516abbaaad5d44bb05c94542f5dac70021 Mon Sep 17 00:00:00 2001 From: Daniel Koster Date: Sat, 23 Aug 2025 17:45:26 -0300 Subject: [PATCH 06/12] revert changes --- .github/workflows/swift.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 265d37a..33991df 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -15,6 +15,7 @@ jobs: runs-on: macos-latest steps: + - uses: actions/checkout@v4 - uses: swift-actions/setup-swift@v2 - name: Get swift version run: swift --version From d750808ae9d4828cc8a75ae17d17fea19fd8e2f2 Mon Sep 17 00:00:00 2001 From: Daniel Koster Date: Sat, 23 Aug 2025 17:49:43 -0300 Subject: [PATCH 07/12] configuire swiftlint --- .github/workflows/swift.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 33991df..29f7f7b 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -17,10 +17,12 @@ jobs: steps: - uses: actions/checkout@v4 - uses: swift-actions/setup-swift@v2 + - name: Install SwiftLint + run: brew install swiftlint - name: Get swift version run: swift --version - - name: List directories - run: ls -lha + - name: Check Linting + run: swiftlint - name: Build run: swift build -v - name: Run tests From 0a934a5d7c276d2777393d459b6c2544576937ad Mon Sep 17 00:00:00 2001 From: Daniel Koster Date: Sat, 23 Aug 2025 17:53:59 -0300 Subject: [PATCH 08/12] fix linting --- .../URLSessionPinningDelegateTests.swift | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Tests/TestCases/CertificatePinning/URLSessionPinningDelegateTests.swift b/Tests/TestCases/CertificatePinning/URLSessionPinningDelegateTests.swift index ce9163a..0924576 100644 --- a/Tests/TestCases/CertificatePinning/URLSessionPinningDelegateTests.swift +++ b/Tests/TestCases/CertificatePinning/URLSessionPinningDelegateTests.swift @@ -20,23 +20,23 @@ struct URLSessionPinningDelegateTests { } private struct TestCases { - static let whenChallengeIsNilExpectInvalidResults = TestMetadata(challenge: Stubs.CertificatePinner.fakeChallenge(with: nil), + static let whenChallengeIsNilExpectInvalid = TestMetadata(challenge: Stubs.CertificatePinner.fakeChallenge(with: nil), certificatePinnerIsServerTrustedResult: false, credentialResult: nil, result: .cancelAuthenticationChallenge) - static let whenChallengeIsValidAndServerIsNotTrustedExpectInvalidResults = TestMetadata(challenge: Stubs.CertificatePinner.fakeChallenge(with: Stubs.CertificatePinner.certificate), + static let whenChallengeIsValidAndServerIsNotTrustedExpectInvalid = TestMetadata(challenge: Stubs.CertificatePinner.fakeChallenge(with: Stubs.CertificatePinner.certificate), certificatePinnerIsServerTrustedResult: false, credentialResult: nil, result: .cancelAuthenticationChallenge) - static let whenChallengeIsValidAndServerIsTrustedExpectValidResults = TestMetadata(challenge: Stubs.CertificatePinner.fakeChallenge(with: Stubs.CertificatePinner.certificate), + static let whenChallengeIsValidAndServerIsTrustedExpectValid = TestMetadata(challenge: Stubs.CertificatePinner.fakeChallenge(with: Stubs.CertificatePinner.certificate), certificatePinnerIsServerTrustedResult: true, credentialResult: URLCredential(trust: Stubs.CertificatePinner.fakeChallenge(with: Stubs.CertificatePinner.certificate).protectionSpace.serverTrust!), result: .useCredential) } - @Test(arguments: [TestCases.whenChallengeIsNilExpectInvalidResults, - TestCases.whenChallengeIsValidAndServerIsNotTrustedExpectInvalidResults, - TestCases.whenChallengeIsValidAndServerIsTrustedExpectValidResults]) + @Test(arguments: [TestCases.whenChallengeIsNilExpectInvalid, + TestCases.whenChallengeIsValidAndServerIsNotTrustedExpectInvalid, + TestCases.whenChallengeIsValidAndServerIsTrustedExpectValid]) func urlSessionTests(metadata: TestMetadata) async { await confirmation("") { confirmation in let (sut, mock) = sut() From 567c79ba3af1060932378e0a9eb7298c3fc9e115 Mon Sep 17 00:00:00 2001 From: Daniel Koster Date: Sat, 23 Aug 2025 17:57:02 -0300 Subject: [PATCH 09/12] remove version check --- .github/workflows/swift.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 29f7f7b..5e37e9e 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -19,8 +19,6 @@ jobs: - uses: swift-actions/setup-swift@v2 - name: Install SwiftLint run: brew install swiftlint - - name: Get swift version - run: swift --version - name: Check Linting run: swiftlint - name: Build From c051fca283762f3d32c6a756eb6fd98c09293596 Mon Sep 17 00:00:00 2001 From: Daniel Koster Date: Sat, 23 Aug 2025 17:59:06 -0300 Subject: [PATCH 10/12] set swift version --- .github/workflows/swift.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 5e37e9e..d33b25b 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -17,6 +17,8 @@ jobs: steps: - uses: actions/checkout@v4 - uses: swift-actions/setup-swift@v2 + with: + swift-version: "6.1" - name: Install SwiftLint run: brew install swiftlint - name: Check Linting From 90fa69656a7c08e1e4c42fc14489f74e2092bb99 Mon Sep 17 00:00:00 2001 From: Daniel Koster Date: Sat, 23 Aug 2025 18:09:17 -0300 Subject: [PATCH 11/12] deleted message --- Sources/Logger.swift | 82 -------------------------------------------- 1 file changed, 82 deletions(-) delete mode 100644 Sources/Logger.swift diff --git a/Sources/Logger.swift b/Sources/Logger.swift deleted file mode 100644 index 7c87377..0000000 --- a/Sources/Logger.swift +++ /dev/null @@ -1,82 +0,0 @@ -// -// Logger.swift -// QuickHatch -// -// Created by Daniel Koster on 9/18/17. -// Copyright © 2019 DaVinci Labs. All rights reserved. -// - -import Foundation - -//public let log = Log("🌐QuickHatch🌐 -") - -public struct LogsShortcuts { - public static let quickhatch = "🌐QuickHatch🌐 - " - public static let commandModule = "\(LogsShortcuts.quickhatch)Command -> " - public static let requestFactory = "\(LogsShortcuts.quickhatch)RequestFactory -> " - public static let certificatePinner = "\(LogsShortcuts.quickhatch)CertificatePinner ->" -} - -public protocol Logger { - func verbose(_ msg: String) - func debug(_ msg: String) - func warning(_ msg: String) - func error(_ msg: String) - func info(_ msg: String) - func severe(_ msg: String) -} - -public class Log: Logger { - private let shortcutId: String - - public init(_ shortcutId: String) { - self.shortcutId = shortcutId - } - - public func severe(_ msg: String) { - #if DEBUG - NSLog("\(shortcutId) Log: \(thread) 🆘 SEVERE -- \(msg)") - #endif - } - - public func warning(_ msg: String) { - #if DEBUG - NSLog("\(shortcutId) Log: \(thread) ⚠️ WARNING -- \(msg)") - #endif - } - - public func verbose(_ msg: String) { - #if DEBUG - NSLog("\(shortcutId) Log: \(thread) VERBOSE -- \(msg)") - #endif - } - - public func debug(_ msg: String) { - #if DEBUG - NSLog("\(shortcutId) Log: \(thread) ✅ DEBUG -- \(msg)") - #endif - } - - public func error(_ msg: String) { - #if DEBUG - NSLog("\(shortcutId) Log: \(thread) ❌ ERROR -- \(msg)") - #endif - } - - public func info(_ msg: String) { - #if DEBUG - NSLog("\(shortcutId) Log: \(thread) ℹ️ INFO -- \(msg)") - #endif - } - - private var thread: String { - var thread = "Thread:" - if Thread.current.isMainThread { - thread += "main:" - } else { - thread += "background:" - } - thread += "priority:\(Thread.current.threadPriority)" - return thread - } -} From 112cf4a0d18fc62b81f981e06dfdd040d64e7aa9 Mon Sep 17 00:00:00 2001 From: Daniel Koster Date: Sat, 23 Aug 2025 18:15:08 -0300 Subject: [PATCH 12/12] Logger back --- Sources/Logger.swift | 82 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 Sources/Logger.swift diff --git a/Sources/Logger.swift b/Sources/Logger.swift new file mode 100644 index 0000000..7c87377 --- /dev/null +++ b/Sources/Logger.swift @@ -0,0 +1,82 @@ +// +// Logger.swift +// QuickHatch +// +// Created by Daniel Koster on 9/18/17. +// Copyright © 2019 DaVinci Labs. All rights reserved. +// + +import Foundation + +//public let log = Log("🌐QuickHatch🌐 -") + +public struct LogsShortcuts { + public static let quickhatch = "🌐QuickHatch🌐 - " + public static let commandModule = "\(LogsShortcuts.quickhatch)Command -> " + public static let requestFactory = "\(LogsShortcuts.quickhatch)RequestFactory -> " + public static let certificatePinner = "\(LogsShortcuts.quickhatch)CertificatePinner ->" +} + +public protocol Logger { + func verbose(_ msg: String) + func debug(_ msg: String) + func warning(_ msg: String) + func error(_ msg: String) + func info(_ msg: String) + func severe(_ msg: String) +} + +public class Log: Logger { + private let shortcutId: String + + public init(_ shortcutId: String) { + self.shortcutId = shortcutId + } + + public func severe(_ msg: String) { + #if DEBUG + NSLog("\(shortcutId) Log: \(thread) 🆘 SEVERE -- \(msg)") + #endif + } + + public func warning(_ msg: String) { + #if DEBUG + NSLog("\(shortcutId) Log: \(thread) ⚠️ WARNING -- \(msg)") + #endif + } + + public func verbose(_ msg: String) { + #if DEBUG + NSLog("\(shortcutId) Log: \(thread) VERBOSE -- \(msg)") + #endif + } + + public func debug(_ msg: String) { + #if DEBUG + NSLog("\(shortcutId) Log: \(thread) ✅ DEBUG -- \(msg)") + #endif + } + + public func error(_ msg: String) { + #if DEBUG + NSLog("\(shortcutId) Log: \(thread) ❌ ERROR -- \(msg)") + #endif + } + + public func info(_ msg: String) { + #if DEBUG + NSLog("\(shortcutId) Log: \(thread) ℹ️ INFO -- \(msg)") + #endif + } + + private var thread: String { + var thread = "Thread:" + if Thread.current.isMainThread { + thread += "main:" + } else { + thread += "background:" + } + thread += "priority:\(Thread.current.threadPriority)" + return thread + } +}