From f22ee304f369e81dee7ab28140c9c0d8f14f827e Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Tue, 20 Aug 2024 12:55:50 -0400 Subject: [PATCH 1/9] Adds enterprise support Allows sign-here to use a flag into it execution to enable enterprise support --- .bazelrc | 4 +- MODULE.bazel.lock | 8 +- Makefile | 7 + .../CreateProvisioningProfileCommand.swift | 22 +-- .../DeleteProvisioningProfileCommand.swift | 22 +-- .../Services/iTunesConnectService.swift | 144 +++++++++--------- ...reateProvisioningProfileCommandTests.swift | 5 +- ...eleteProvisioningProfileCommandTests.swift | 7 +- ...tServiceTests_test_createCertificate.1.txt | 2 +- ...teCertificate_unableToDecodeResponse.1.txt | 2 +- ...nnectServiceTests_test_createProfile.1.txt | 2 +- ...sts_test_createProfile_decodingError.1.txt | 2 +- ...est_createProfile_iosAppStoreProfile.1.txt | 2 +- ...s_test_createProfile_withProfileName.1.txt | 2 +- ...ficates_privateKeyMatches_enterprise.1.txt | 25 +++ ...ficates_privateKeyMatches_enterprise.2.txt | 3 + ...ficates_privateKeyMatches_enterprise.3.txt | 8 + .../iTunesConnectServiceTests.swift | 66 +++++++- 18 files changed, 226 insertions(+), 107 deletions(-) create mode 100644 Makefile create mode 100644 Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.1.txt create mode 100644 Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.2.txt create mode 100644 Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.3.txt diff --git a/.bazelrc b/.bazelrc index aac68a8..7aa78e9 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,3 +1,5 @@ +common --enable_bzlmod + build --incompatible_disallow_empty_glob build --apple_platform_type=macos build --incompatible_strict_action_env @@ -8,4 +10,4 @@ build --crosstool_top=@local_config_apple_cc//:toolchain build --host_crosstool_top=@local_config_apple_cc//:toolchain test --test_output=errors test --test_summary=detailed -common --enable_bzlmod +test:record_snapshots --spawn_strategy=local diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 2f67297..310c65f 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -44,8 +44,8 @@ "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", "https://bcr.bazel.build/modules/rules_cc/0.0.9/source.json": "1f1ba6fea244b616de4a554a0f4983c91a9301640c8fe0dd1d410254115c8430", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", - "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", - "https://bcr.bazel.build/modules/rules_java/7.6.1/source.json": "8f3f3076554e1558e8e468b2232991c510ecbcbed9e6f8c06ac31c93bcf38362", + "https://bcr.bazel.build/modules/rules_java/7.6.5/MODULE.bazel": "481164be5e02e4cab6e77a36927683263be56b7e36fef918b458d7a8a1ebadb1", + "https://bcr.bazel.build/modules/rules_java/7.6.5/source.json": "a805b889531d1690e3c72a7a7e47a870d00323186a9904b36af83aa3d053ee8d", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/source.json": "a075731e1b46bc8425098512d038d416e966ab19684a10a34f4741295642fc35", "https://bcr.bazel.build/modules/rules_license/0.0.3/MODULE.bazel": "627e9ab0247f7d1e05736b59dbb1b6871373de5ad31c3011880b4133cafd4bd0", @@ -74,8 +74,8 @@ "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/source.json": "f1ef7d3f9e0e26d4b23d1c39b5f5de71f584dd7d1b4ef83d9bbba6ec7a6a6459", "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", - "https://bcr.bazel.build/modules/zlib/1.3/MODULE.bazel": "6a9c02f19a24dcedb05572b2381446e27c272cd383aed11d41d99da9e3167a72", - "https://bcr.bazel.build/modules/zlib/1.3/source.json": "b6b43d0737af846022636e6e255fd4a96fee0d34f08f3830e6e0bac51465c37c" + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/MODULE.bazel": "af322bc08976524477c79d1e45e241b6efbeb918c497e8840b8ab116802dda79", + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d" }, "selectedYankedVersions": {}, "moduleExtensions": { diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1d10140 --- /dev/null +++ b/Makefile @@ -0,0 +1,7 @@ +.PHONY: record_snapshots +record_snapshots: + bazel test //Tests/... \ + --config=record_snapshots \ + --test_env=BUILD_WORKSPACE_DIRECTORY=$$(pwd) \ + --test_env=SNAPSHOT_DIRECTORY="$$(pwd)/Tests/SignHereLibraryTests" \ + --test_env=RERECORD_SNAPSHOTS=TRUE diff --git a/Sources/SignHereLibrary/Commands/CreateProvisioningProfileCommand.swift b/Sources/SignHereLibrary/Commands/CreateProvisioningProfileCommand.swift index 0eb986f..5552bf5 100644 --- a/Sources/SignHereLibrary/Commands/CreateProvisioningProfileCommand.swift +++ b/Sources/SignHereLibrary/Commands/CreateProvisioningProfileCommand.swift @@ -126,6 +126,7 @@ internal struct CreateProvisioningProfileCommand: ParsableCommand { case certificateSigningRequestSubject = "certificateSigningRequestSubject" case profileName = "profileName" case autoRegenerate = "autoRegenerate" + case enterprise = "enterprise" } @Option(help: "The key identifier of the private key (https://developer.apple.com/documentation/appstoreconnectapi/generating_tokens_for_api_requests)") @@ -189,6 +190,9 @@ internal struct CreateProvisioningProfileCommand: ParsableCommand { @Flag(help: "Defines if the profile should be regenerated in case it already exists (optional)") internal var autoRegenerate = false + @Flag(help: "Controls if the enterprise API should be used.") + internal var enterprise: Bool = false + private let files: Files private let log: Log private let shell: Shell @@ -206,10 +210,7 @@ internal struct CreateProvisioningProfileCommand: ParsableCommand { shell = shellImp uuid = UUIDImp() iTunesConnectService = iTunesConnectServiceImp( - network: NetworkImp(), - files: filesImp, - shell: shellImp, - clock: clockImp + enterprise: false ) } @@ -236,7 +237,8 @@ internal struct CreateProvisioningProfileCommand: ParsableCommand { bundleIdentifierName: String?, platform: String, profileName: String?, - autoRegenerate: Bool + autoRegenerate: Bool, + enterprise: Bool ) { self.files = files self.log = log @@ -261,6 +263,7 @@ internal struct CreateProvisioningProfileCommand: ParsableCommand { self.platform = platform self.profileName = profileName self.autoRegenerate = autoRegenerate + self.enterprise = enterprise } internal init(from decoder: Decoder) throws { @@ -268,6 +271,7 @@ internal struct CreateProvisioningProfileCommand: ParsableCommand { let clockImp: Clock = ClockImp() let shellImp: Shell = ShellImp() let container: KeyedDecodingContainer = try decoder.container(keyedBy: CodingKeys.self) + let enterprise: Bool = try container.decode(Bool.self, forKey: .enterprise) self.init( files: filesImp, log: LogImp(), @@ -275,10 +279,7 @@ internal struct CreateProvisioningProfileCommand: ParsableCommand { shell: shellImp, uuid: UUIDImp(), iTunesConnectService: iTunesConnectServiceImp( - network: NetworkImp(), - files: filesImp, - shell: shellImp, - clock: clockImp + enterprise: enterprise ), keyIdentifier: try container.decode(String.self, forKey: .keyIdentifier), issuerID: try container.decode(String.self, forKey: .issuerID), @@ -296,7 +297,8 @@ internal struct CreateProvisioningProfileCommand: ParsableCommand { bundleIdentifierName: try container.decodeIfPresent(String.self, forKey: .bundleIdentifierName), platform: try container.decode(String.self, forKey: .platform), profileName: try container.decodeIfPresent(String.self, forKey: .profileName), - autoRegenerate: try container.decode(Bool.self, forKey: .autoRegenerate) + autoRegenerate: try container.decode(Bool.self, forKey: .autoRegenerate), + enterprise: enterprise ) } diff --git a/Sources/SignHereLibrary/Commands/DeleteProvisioningProfileCommand.swift b/Sources/SignHereLibrary/Commands/DeleteProvisioningProfileCommand.swift index f1d2cc1..da4b29b 100644 --- a/Sources/SignHereLibrary/Commands/DeleteProvisioningProfileCommand.swift +++ b/Sources/SignHereLibrary/Commands/DeleteProvisioningProfileCommand.swift @@ -24,6 +24,7 @@ internal struct DeleteProvisioningProfileCommand: ParsableCommand { case keyIdentifier = "keyIdentifier" case issuerID = "issuerID" case itunesConnectKeyPath = "itunesConnectKeyPath" + case enterprise = "enterprise" } @Option(help: "The iTunes Connect API ID of the provisioning profile to delete (https://developer.apple.com/documentation/appstoreconnectapi/profile)") @@ -38,6 +39,9 @@ internal struct DeleteProvisioningProfileCommand: ParsableCommand { @Option(help: "The path to the private key (https://developer.apple.com/documentation/appstoreconnectapi/generating_tokens_for_api_requests)") internal var itunesConnectKeyPath: String + @Flag(help: "Controls if the enterprise API should be used.") + internal var enterprise: Bool = false + private let files: Files private let jsonWebTokenService: JSONWebTokenService private let iTunesConnectService: iTunesConnectService @@ -47,10 +51,7 @@ internal struct DeleteProvisioningProfileCommand: ParsableCommand { files = filesImp jsonWebTokenService = JSONWebTokenServiceImp(clock: ClockImp()) iTunesConnectService = iTunesConnectServiceImp( - network: NetworkImp(), - files: filesImp, - shell: ShellImp(), - clock: ClockImp() + enterprise: false ) } @@ -61,7 +62,8 @@ internal struct DeleteProvisioningProfileCommand: ParsableCommand { provisioningProfileId: String, keyIdentifier: String, issuerID: String, - itunesConnectKeyPath: String + itunesConnectKeyPath: String, + enterprise: Bool ) { self.files = files self.jsonWebTokenService = jsonWebTokenService @@ -70,24 +72,24 @@ internal struct DeleteProvisioningProfileCommand: ParsableCommand { self.keyIdentifier = keyIdentifier self.issuerID = issuerID self.itunesConnectKeyPath = itunesConnectKeyPath + self.enterprise = enterprise } internal init(from decoder: Decoder) throws { let filesImp: Files = FilesImp() let container: KeyedDecodingContainer = try decoder.container(keyedBy: CodingKeys.self) + let enterprise: Bool = try container.decode(Bool.self, forKey: .enterprise) self.init( files: filesImp, jsonWebTokenService: JSONWebTokenServiceImp(clock: ClockImp()), iTunesConnectService: iTunesConnectServiceImp( - network: NetworkImp(), - files: filesImp, - shell: ShellImp(), - clock: ClockImp() + enterprise: enterprise ), provisioningProfileId: try container.decode(String.self, forKey: .provisioningProfileId), keyIdentifier: try container.decode(String.self, forKey: .keyIdentifier), issuerID: try container.decode(String.self, forKey: .issuerID), - itunesConnectKeyPath: try container.decode(String.self, forKey: .itunesConnectKeyPath) + itunesConnectKeyPath: try container.decode(String.self, forKey: .itunesConnectKeyPath), + enterprise: enterprise ) } diff --git a/Sources/SignHereLibrary/Services/iTunesConnectService.swift b/Sources/SignHereLibrary/Services/iTunesConnectService.swift index 97def27..6d8695a 100644 --- a/Sources/SignHereLibrary/Services/iTunesConnectService.swift +++ b/Sources/SignHereLibrary/Services/iTunesConnectService.swift @@ -115,23 +115,39 @@ internal class iTunesConnectServiceImp: iTunesConnectService { static let contentTypeHeaderName: String = "Content-Type" static let httpsScheme: String = "https" static let itcHost: String = "api.appstoreconnect.apple.com" + static let enterpriseHost: String = "api.enterprise.developer.apple.com" } private let network: Network private let files: Files private let shell: Shell private let clock: Clock + private let enterprise: Bool init( network: Network, files: Files, shell: Shell, - clock: Clock + clock: Clock, + enterprise: Bool ) { self.network = network self.files = files self.shell = shell self.clock = clock + self.enterprise = enterprise + } + + convenience init( + enterprise: Bool + ) { + self.init( + network: NetworkImp(), + files: FilesImp(), + shell: ShellImp(), + clock: ClockImp(), + enterprise: enterprise + ) } func fetchActiveCertificates( @@ -141,18 +157,13 @@ internal class iTunesConnectServiceImp: iTunesConnectService { certificateType: String ) throws -> [DownloadCertificateResponse.DownloadCertificateResponseData] { let currentDate: Date = clock.now() - var urlComponents: URLComponents = .init() - urlComponents.scheme = Constants.httpsScheme - urlComponents.host = Constants.itcHost - urlComponents.path = "/v1/certificates" - urlComponents.queryItems = [ - .init(name: "filter[certificateType]", value: certificateType), - .init(name: "limit", value: "200") - ] - guard let url: URL = urlComponents.url - else { - throw Error.unableToCreateURL(urlComponents: urlComponents) - } + let url: URL = try createRequestURL( + path: "/v1/certificates", + queryItems: [ + .init(name: "filter[certificateType]", value: certificateType), + .init(name: "limit", value: "200") + ] + ) var certificatesData: [DownloadCertificateResponse.DownloadCertificateResponseData] = [] var request: URLRequest = .init(url: url) request.setValue("Bearer \(jsonWebToken)", forHTTPHeaderField: "Authorization") @@ -198,11 +209,9 @@ internal class iTunesConnectServiceImp: iTunesConnectService { csr: Path, certificateType: String ) throws -> CreateCertificateResponse { - let urlString: String = "https://api.appstoreconnect.apple.com/v1/certificates" - guard let url: URL = .init(string: urlString) - else { - throw Error.invalidURL(string: urlString) - } + let url: URL = try createRequestURL( + path: "/v1/certificates" + ) var request: URLRequest = .init(url: url) request.setValue("Bearer \(jsonWebToken)", forHTTPHeaderField: "Authorization") request.httpBody = try JSONEncoder().encode( @@ -236,19 +245,14 @@ internal class iTunesConnectServiceImp: iTunesConnectService { bundleIdentifierName: String?, platform: String ) throws -> String { - var urlComponents: URLComponents = .init() - urlComponents.scheme = Constants.httpsScheme - urlComponents.host = Constants.itcHost - urlComponents.path = "/v1/bundleIds" - urlComponents.queryItems = [ - .init(name: "filter[identifier]", value: bundleIdentifier), - .init(name: "filter[platform]", value: "IOS"), - .init(name: "limit", value: "200") - ] - guard let url: URL = urlComponents.url - else { - throw Error.unableToCreateURL(urlComponents: urlComponents) - } + let url: URL = try createRequestURL( + path: "/v1/bundleIds", + queryItems: [ + .init(name: "filter[identifier]", value: bundleIdentifier), + .init(name: "filter[platform]", value: "IOS"), + .init(name: "limit", value: "200") + ] + ) var request: URLRequest = .init(url: url) request.setValue("Bearer \(jsonWebToken)", forHTTPHeaderField: "Authorization") request.setValue(Constants.applicationJSONHeaderValue, forHTTPHeaderField: "Accept") @@ -297,19 +301,14 @@ internal class iTunesConnectServiceImp: iTunesConnectService { } func fetchITCDeviceIDs(jsonWebToken: String) throws -> Set { - var urlComponents: URLComponents = .init() - urlComponents.scheme = Constants.httpsScheme - urlComponents.host = Constants.itcHost - urlComponents.path = "/v1/devices" - urlComponents.queryItems = [ - .init(name: "filter[status]", value: "ENABLED"), - .init(name: "filter[platform]", value: "IOS"), - .init(name: "limit", value: "200") - ] - guard let url: URL = urlComponents.url - else { - throw Error.unableToCreateURL(urlComponents: urlComponents) - } + let url: URL = try createRequestURL( + path: "/v1/devices", + queryItems: [ + .init(name: "filter[status]", value: "ENABLED"), + .init(name: "filter[platform]", value: "IOS"), + .init(name: "limit", value: "200") + ] + ) var request: URLRequest = .init(url: url) request.setValue("Bearer \(jsonWebToken)", forHTTPHeaderField: "Authorization") request.setValue(Constants.applicationJSONHeaderValue, forHTTPHeaderField: "Accept") @@ -359,11 +358,9 @@ internal class iTunesConnectServiceImp: iTunesConnectService { profileType: String, profileName: String? = nil ) throws -> CreateProfileResponse { - let urlString: String = "https://api.appstoreconnect.apple.com/v1/profiles" - guard let url: URL = .init(string: urlString) - else { - throw Error.invalidURL(string: urlString) - } + let url: URL = try createRequestURL( + path: "/v1/profiles" + ) var request: URLRequest = .init(url: url) request.setValue(Constants.applicationJSONHeaderValue, forHTTPHeaderField: "Accept") request.setValue(Constants.applicationJSONHeaderValue, forHTTPHeaderField: Constants.contentTypeHeaderName) @@ -424,14 +421,9 @@ internal class iTunesConnectServiceImp: iTunesConnectService { jsonWebToken: String, id: String ) throws { - var urlComponents: URLComponents = .init() - urlComponents.scheme = Constants.httpsScheme - urlComponents.host = Constants.itcHost - urlComponents.path = "/v1/profiles/\(id)" - guard let url: URL = urlComponents.url - else { - throw Error.unableToCreateURL(urlComponents: urlComponents) - } + let url: URL = try createRequestURL( + path: "/v1/profiles/\(id)" + ) var request: URLRequest = .init(url: url) request.setValue("Bearer \(jsonWebToken)", forHTTPHeaderField: "Authorization") request.setValue(Constants.applicationJSONHeaderValue, forHTTPHeaderField: "Accept") @@ -448,18 +440,13 @@ internal class iTunesConnectServiceImp: iTunesConnectService { jsonWebToken: String, name: String ) throws -> [ProfileResponseData] { - var urlComponents: URLComponents = .init() - urlComponents.scheme = Constants.httpsScheme - urlComponents.host = Constants.itcHost - urlComponents.path = "/v1/profiles" - urlComponents.queryItems = [ - .init(name: "filter[name]", value: name), - .init(name: "include", value: "devices") - ] - guard let url: URL = urlComponents.url - else { - throw Error.unableToCreateURL(urlComponents: urlComponents) - } + let url: URL = try createRequestURL( + path: "/v1/profiles", + queryItems: [ + .init(name: "filter[name]", value: name), + .init(name: "include", value: "devices") + ] + ) var request: URLRequest = .init(url: url) request.setValue("Bearer \(jsonWebToken)", forHTTPHeaderField: "Authorization") request.setValue(Constants.applicationJSONHeaderValue, forHTTPHeaderField: "Accept") @@ -477,6 +464,25 @@ internal class iTunesConnectServiceImp: iTunesConnectService { } } + private func createRequestURL( + path: String, + queryItems: [URLQueryItem] = [] + ) throws -> URL { + let host: String = enterprise ? Constants.enterpriseHost : Constants.itcHost + var urlComponents: URLComponents = .init() + urlComponents.scheme = Constants.httpsScheme + urlComponents.host = host + urlComponents.path = path + if !queryItems.isEmpty { + urlComponents.queryItems = queryItems + } + guard let url: URL = urlComponents.url + else { + throw Error.unableToCreateURL(urlComponents: urlComponents) + } + return url + } + private func createITCApiJSONDecoder() -> JSONDecoder { let jsonDecoder: JSONDecoder = .init() let dateFormatter: DateFormatter = .init() diff --git a/Tests/SignHereLibraryTests/CreateProvisioningProfileCommandTests.swift b/Tests/SignHereLibraryTests/CreateProvisioningProfileCommandTests.swift index b8c2cfb..653b24a 100644 --- a/Tests/SignHereLibraryTests/CreateProvisioningProfileCommandTests.swift +++ b/Tests/SignHereLibraryTests/CreateProvisioningProfileCommandTests.swift @@ -58,7 +58,8 @@ final class CreateProvisioningProfileCommandTests: XCTestCase { bundleIdentifierName: "bundleIdentifierName", platform: "platform", profileName: "profileName", - autoRegenerate: false + autoRegenerate: false, + enterprise: false ) isRecording = false } @@ -337,7 +338,7 @@ final class CreateProvisioningProfileCommandTests: XCTestCase { // GIVEN var previousProfileWasDeleted = false let responseObject = createCreateProfileResponse().data - + files.uniqueTemporaryPathHandler = { Path("/unique_temporary_path_\(self.files.uniqueTemporaryPathCallCount)") } diff --git a/Tests/SignHereLibraryTests/DeleteProvisioningProfileCommandTests.swift b/Tests/SignHereLibraryTests/DeleteProvisioningProfileCommandTests.swift index 36b704c..64d95df 100644 --- a/Tests/SignHereLibraryTests/DeleteProvisioningProfileCommandTests.swift +++ b/Tests/SignHereLibraryTests/DeleteProvisioningProfileCommandTests.swift @@ -32,7 +32,8 @@ final class DeleteProvisioningProfileCommandTests: XCTestCase { provisioningProfileId: "provisioningProfileId", keyIdentifier: "keyIdentifier", issuerID: "issuerID", - itunesConnectKeyPath: "/itunesConnectKeyPath" + itunesConnectKeyPath: "/itunesConnectKeyPath", + enterprise: false ) } @@ -53,7 +54,8 @@ final class DeleteProvisioningProfileCommandTests: XCTestCase { "provisioningProfileId": "provisioningProfileId", "keyIdentifier": "keyIdentifier", "issuerID": "issuerID", - "itunesConnectKeyPath": "/itunesConnectKeyPath" + "itunesConnectKeyPath": "/itunesConnectKeyPath", + "enterprise": true } """.utf8) @@ -65,6 +67,7 @@ final class DeleteProvisioningProfileCommandTests: XCTestCase { XCTAssertEqual(subject.keyIdentifier, "keyIdentifier") XCTAssertEqual(subject.issuerID, "issuerID") XCTAssertEqual(subject.itunesConnectKeyPath, "/itunesConnectKeyPath") + XCTAssertTrue(subject.enterprise) } func test_execute() throws { diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate.1.txt index 2a139fa..749ee70 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate.1.txt @@ -3,5 +3,5 @@ curl \ --header "Accept: application/json" \ --header "Authorization: Bearer jsonWebToken" \ --header "Content-Type: application/json" \ - --data "{\"data\":{\"attributes\":{\"certificateType\":\"certificateType\",\"csrContent\":\"\"},\"type\":\"certificates\"}}" \ + --data "{\"data\":{\"attributes\":{\"csrContent\":\"\",\"certificateType\":\"certificateType\"},\"type\":\"certificates\"}}" \ "https://api.appstoreconnect.apple.com/v1/certificates" \ No newline at end of file diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate_unableToDecodeResponse.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate_unableToDecodeResponse.1.txt index 2a139fa..dd1e550 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate_unableToDecodeResponse.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate_unableToDecodeResponse.1.txt @@ -3,5 +3,5 @@ curl \ --header "Accept: application/json" \ --header "Authorization: Bearer jsonWebToken" \ --header "Content-Type: application/json" \ - --data "{\"data\":{\"attributes\":{\"certificateType\":\"certificateType\",\"csrContent\":\"\"},\"type\":\"certificates\"}}" \ + --data "{\"data\":{\"type\":\"certificates\",\"attributes\":{\"csrContent\":\"\",\"certificateType\":\"certificateType\"}}}" \ "https://api.appstoreconnect.apple.com/v1/certificates" \ No newline at end of file diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile.1.txt index 1951f61..5a8f3e6 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile.1.txt @@ -3,5 +3,5 @@ curl \ --header "Accept: application/json" \ --header "Authorization: Bearer jsonWebToken" \ --header "Content-Type: application/json" \ - --data "{\"data\":{\"attributes\":{\"name\":\"certificateId_profileType_0.0\",\"profileType\":\"profileType\"},\"type\":\"profiles\",\"relationships\":{\"devices\":{\"data\":[{\"id\":\"deviceId\",\"type\":\"devices\"}]},\"certificates\":{\"data\":[{\"id\":\"certificateId\",\"type\":\"certificates\"}]},\"bundleId\":{\"data\":{\"id\":\"bundleId\",\"type\":\"bundleIds\"}}}}}" \ + --data "{\"data\":{\"attributes\":{\"name\":\"certificateId_profileType_0.0\",\"profileType\":\"profileType\"},\"type\":\"profiles\",\"relationships\":{\"certificates\":{\"data\":[{\"type\":\"certificates\",\"id\":\"certificateId\"}]},\"devices\":{\"data\":[{\"id\":\"deviceId\",\"type\":\"devices\"}]},\"bundleId\":{\"data\":{\"type\":\"bundleIds\",\"id\":\"bundleId\"}}}}}" \ "https://api.appstoreconnect.apple.com/v1/profiles" \ No newline at end of file diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_decodingError.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_decodingError.1.txt index 1951f61..69f581c 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_decodingError.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_decodingError.1.txt @@ -3,5 +3,5 @@ curl \ --header "Accept: application/json" \ --header "Authorization: Bearer jsonWebToken" \ --header "Content-Type: application/json" \ - --data "{\"data\":{\"attributes\":{\"name\":\"certificateId_profileType_0.0\",\"profileType\":\"profileType\"},\"type\":\"profiles\",\"relationships\":{\"devices\":{\"data\":[{\"id\":\"deviceId\",\"type\":\"devices\"}]},\"certificates\":{\"data\":[{\"id\":\"certificateId\",\"type\":\"certificates\"}]},\"bundleId\":{\"data\":{\"id\":\"bundleId\",\"type\":\"bundleIds\"}}}}}" \ + --data "{\"data\":{\"relationships\":{\"devices\":{\"data\":[{\"id\":\"deviceId\",\"type\":\"devices\"}]},\"bundleId\":{\"data\":{\"type\":\"bundleIds\",\"id\":\"bundleId\"}},\"certificates\":{\"data\":[{\"type\":\"certificates\",\"id\":\"certificateId\"}]}},\"type\":\"profiles\",\"attributes\":{\"profileType\":\"profileType\",\"name\":\"certificateId_profileType_0.0\"}}}" \ "https://api.appstoreconnect.apple.com/v1/profiles" \ No newline at end of file diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_iosAppStoreProfile.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_iosAppStoreProfile.1.txt index f249b12..8be609b 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_iosAppStoreProfile.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_iosAppStoreProfile.1.txt @@ -3,5 +3,5 @@ curl \ --header "Accept: application/json" \ --header "Authorization: Bearer jsonWebToken" \ --header "Content-Type: application/json" \ - --data "{\"data\":{\"attributes\":{\"name\":\"certificateId_IOS_APP_STORE_0.0\",\"profileType\":\"IOS_APP_STORE\"},\"type\":\"profiles\",\"relationships\":{\"certificates\":{\"data\":[{\"id\":\"certificateId\",\"type\":\"certificates\"}]},\"bundleId\":{\"data\":{\"id\":\"bundleId\",\"type\":\"bundleIds\"}}}}}" \ + --data "{\"data\":{\"attributes\":{\"name\":\"certificateId_IOS_APP_STORE_0.0\",\"profileType\":\"IOS_APP_STORE\"},\"type\":\"profiles\",\"relationships\":{\"certificates\":{\"data\":[{\"id\":\"certificateId\",\"type\":\"certificates\"}]},\"bundleId\":{\"data\":{\"type\":\"bundleIds\",\"id\":\"bundleId\"}}}}}" \ "https://api.appstoreconnect.apple.com/v1/profiles" \ No newline at end of file diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_withProfileName.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_withProfileName.1.txt index 4840d90..3fe1cf5 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_withProfileName.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_withProfileName.1.txt @@ -3,5 +3,5 @@ curl \ --header "Accept: application/json" \ --header "Authorization: Bearer jsonWebToken" \ --header "Content-Type: application/json" \ - --data "{\"data\":{\"attributes\":{\"name\":\"mySpecialProfile\",\"profileType\":\"profileType\"},\"type\":\"profiles\",\"relationships\":{\"devices\":{\"data\":[{\"id\":\"deviceId\",\"type\":\"devices\"}]},\"certificates\":{\"data\":[{\"id\":\"certificateId\",\"type\":\"certificates\"}]},\"bundleId\":{\"data\":{\"id\":\"bundleId\",\"type\":\"bundleIds\"}}}}}" \ + --data "{\"data\":{\"attributes\":{\"profileType\":\"profileType\",\"name\":\"mySpecialProfile\"},\"relationships\":{\"certificates\":{\"data\":[{\"id\":\"certificateId\",\"type\":\"certificates\"}]},\"devices\":{\"data\":[{\"id\":\"deviceId\",\"type\":\"devices\"}]},\"bundleId\":{\"data\":{\"type\":\"bundleIds\",\"id\":\"bundleId\"}}},\"type\":\"profiles\"}}" \ "https://api.appstoreconnect.apple.com/v1/profiles" \ No newline at end of file diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.1.txt new file mode 100644 index 0000000..7c030b7 --- /dev/null +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.1.txt @@ -0,0 +1,25 @@ +▿ 2 elements + ▿ (4 elements) + - .0: "/usr/bin/env" + ▿ .1: 6 elements + - "/opensslPath" + - "rsa" + - "-noout" + - "-modulus" + - "-in" + - "/privateKeyPath" + - .2: Optional>.none + - .3: Optional.none + ▿ (4 elements) + - .0: "/usr/bin/env" + ▿ .1: 8 elements + - "/opensslPath" + - "x509" + - "-inform" + - "der" + - "-noout" + - "-modulus" + - "-in" + - "/unique_temporary_path_1/validate_private_key.cer" + - .2: Optional>.none + - .3: Optional.none diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.2.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.2.txt new file mode 100644 index 0000000..187c9f1 --- /dev/null +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.2.txt @@ -0,0 +1,3 @@ +curl \ + --header "Authorization: Bearer jsonWebToken" \ + "https://api.enterprise.developer.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200" \ No newline at end of file diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.3.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.3.txt new file mode 100644 index 0000000..06b1cda --- /dev/null +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.3.txt @@ -0,0 +1,8 @@ +▿ 1 element + ▿ DownloadCertificateResponseData + ▿ attributes: DownloadCertificateResponseDataAttributes + - certificateContent: "dGVzdAo=" + - certificateType: "certificateType" + - displayName: "activeCertDisplayName" + - expirationDate: 1970-01-01T00:01:40Z + - id: "activeCertID" diff --git a/Tests/SignHereLibraryTests/iTunesConnectServiceTests.swift b/Tests/SignHereLibraryTests/iTunesConnectServiceTests.swift index 7a8e362..e89d75e 100644 --- a/Tests/SignHereLibraryTests/iTunesConnectServiceTests.swift +++ b/Tests/SignHereLibraryTests/iTunesConnectServiceTests.swift @@ -33,7 +33,8 @@ final class iTunesConnectServiceTests: XCTestCase { network: network, files: files, shell: shell, - clock: clock + clock: clock, + enterprise: false ) isRecording = false @@ -53,7 +54,11 @@ final class iTunesConnectServiceTests: XCTestCase { network: network, files: files, shell: shell, - clock: clock + clock: clock, + enterprise: true + )) + XCTAssertNotNil(iTunesConnectServiceImp( + enterprise: true )) } @@ -160,6 +165,61 @@ final class iTunesConnectServiceTests: XCTestCase { ) } + func test_fetchActiveCertificates_privateKeyMatches_enterprise() throws { + // GIVEN + subject = iTunesConnectServiceImp( + network: network, + files: files, + shell: shell, + clock: clock, + enterprise: true + ) + files.uniqueTemporaryPathHandler = { + Path("/unique_temporary_path_\(self.files.uniqueTemporaryPathCallCount)") + } + var executeLaunchPaths: [ShellOutput] = [ + .init(status: 0, data: .init("modulus".utf8), errorData: .init()), // ME: Private Key Modulus + .init(status: 0, data: .init("modulus".utf8), errorData: .init()) // ME: Certificate Modulus + ] + shell.executeLaunchPathHandler = { _, _, _, _ in + executeLaunchPaths.removeFirst() + } + var fileDataReads: [Data] = [ + Data("CSRContent".utf8) + ] + files.readPathHandler = { _ in + fileDataReads.removeFirst() + } + let jsonEncoder: JSONEncoder = createJSONEncoder() + var networkExecutes: [Data] = [ + try jsonEncoder.encode(createDownloadCertificateResponse(nextURL: nil)) + ] + network.executeHandler = { _ in + networkExecutes.removeFirst() + } + + // WHEN + let value: [DownloadCertificateResponse.DownloadCertificateResponseData] = try subject.fetchActiveCertificates( + jsonWebToken: "jsonWebToken", + opensslPath: "/opensslPath", + privateKeyPath: "/privateKeyPath", + certificateType: "certificateType" + ) + + // THEN + assertSnapshot( + matching: shell.executeLaunchPathArgValues, + as: .dump + ) + for argValue in network.executeArgValues { + assertSnapshot(matching: argValue, as: .curl) + } + assertSnapshot( + matching: value, + as: .dump + ) + } + func test_fetchActiveCertificates_privateKeyMatches_pagedResults() throws { // GIVEN files.uniqueTemporaryPathHandler = { @@ -882,7 +942,7 @@ final class iTunesConnectServiceTests: XCTestCase { ) ) } - + private func createFetchProfileResponse() -> GetProfilesResponse { .init( data: [ProfileResponseData( From 65205eb53f3fde214474ac44cecbba667abe5695 Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Tue, 20 Aug 2024 14:12:15 -0400 Subject: [PATCH 2/9] snapshots --- ...tServiceTests_test_createCertificate.1.txt | 33 +++++++++++--- ...teCertificate_unableToDecodeResponse.1.txt | 33 +++++++++++--- ...nnectServiceTests_test_createProfile.1.txt | 33 +++++++++++--- ...sts_test_createProfile_decodingError.1.txt | 33 +++++++++++--- ...est_createProfile_iosAppStoreProfile.1.txt | 33 +++++++++++--- ...s_test_createProfile_withProfileName.1.txt | 33 +++++++++++--- ...nnectServiceTests_test_deleteProfile.1.txt | 31 ++++++++++--- ...viceTests_test_deleteProfile_failure.1.txt | 31 ++++++++++--- ...iceTests_test_determineBundleIdITCId.1.txt | 30 ++++++++++--- ...eIdITCId_bundleIdentifierNameEnabled.1.txt | 30 ++++++++++--- ...fierNameEnabled_unableToFindBundleId.1.txt | 30 ++++++++++--- ...etermineBundleIdITCId_unableToDecode.1.txt | 30 ++++++++++--- ...eCertificates_privateKeyDoesNotMatch.2.txt | 22 ++++++++-- ...ActiveCertificates_privateKeyMatches.2.txt | 22 ++++++++-- ...ficates_privateKeyMatches_enterprise.2.txt | 22 ++++++++-- ...tes_privateKeyMatches_failedToDecode.2.txt | 22 ++++++++-- ...cates_privateKeyMatches_pagedResults.2.txt | 22 ++++++++-- ...cates_privateKeyMatches_pagedResults.3.txt | 22 ++++++++-- ...tServiceTests_test_fetchITCDeviceIDs.1.txt | 30 ++++++++++--- ...s_test_fetchITCDeviceIDs_decodeError.1.txt | 30 ++++++++++--- ...ceTests_test_fetchITCDeviceIDs_paged.1.txt | 30 ++++++++++--- ...ceTests_test_fetchITCDeviceIDs_paged.2.txt | 22 ++++++++-- ...onnectServiceTests_test_fetchProfile.1.txt | 30 ++++++++++--- ...eTests_test_fetchProfile_decodeError.1.txt | 30 ++++++++++--- .../iTunesConnectServiceTests.swift | 44 +++++++++---------- 25 files changed, 586 insertions(+), 142 deletions(-) diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate.1.txt index 749ee70..6e9b8ec 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate.1.txt @@ -1,7 +1,26 @@ -curl \ - --request POST \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - --data "{\"data\":{\"attributes\":{\"csrContent\":\"\",\"certificateType\":\"certificateType\"},\"type\":\"certificates\"}}" \ - "https://api.appstoreconnect.apple.com/v1/certificates" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/certificates + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/certificates + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "POST" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + ▿ httpBody: Optional + - some: 99 bytes + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate_unableToDecodeResponse.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate_unableToDecodeResponse.1.txt index dd1e550..6e9b8ec 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate_unableToDecodeResponse.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createCertificate_unableToDecodeResponse.1.txt @@ -1,7 +1,26 @@ -curl \ - --request POST \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - --data "{\"data\":{\"type\":\"certificates\",\"attributes\":{\"csrContent\":\"\",\"certificateType\":\"certificateType\"}}}" \ - "https://api.appstoreconnect.apple.com/v1/certificates" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/certificates + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/certificates + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "POST" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + ▿ httpBody: Optional + - some: 99 bytes + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile.1.txt index 5a8f3e6..3e865c6 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile.1.txt @@ -1,7 +1,26 @@ -curl \ - --request POST \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - --data "{\"data\":{\"attributes\":{\"name\":\"certificateId_profileType_0.0\",\"profileType\":\"profileType\"},\"type\":\"profiles\",\"relationships\":{\"certificates\":{\"data\":[{\"type\":\"certificates\",\"id\":\"certificateId\"}]},\"devices\":{\"data\":[{\"id\":\"deviceId\",\"type\":\"devices\"}]},\"bundleId\":{\"data\":{\"type\":\"bundleIds\",\"id\":\"bundleId\"}}}}}" \ - "https://api.appstoreconnect.apple.com/v1/profiles" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/profiles + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/profiles + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "POST" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + ▿ httpBody: Optional + - some: 312 bytes + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_decodingError.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_decodingError.1.txt index 69f581c..3e865c6 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_decodingError.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_decodingError.1.txt @@ -1,7 +1,26 @@ -curl \ - --request POST \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - --data "{\"data\":{\"relationships\":{\"devices\":{\"data\":[{\"id\":\"deviceId\",\"type\":\"devices\"}]},\"bundleId\":{\"data\":{\"type\":\"bundleIds\",\"id\":\"bundleId\"}},\"certificates\":{\"data\":[{\"type\":\"certificates\",\"id\":\"certificateId\"}]}},\"type\":\"profiles\",\"attributes\":{\"profileType\":\"profileType\",\"name\":\"certificateId_profileType_0.0\"}}}" \ - "https://api.appstoreconnect.apple.com/v1/profiles" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/profiles + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/profiles + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "POST" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + ▿ httpBody: Optional + - some: 312 bytes + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_iosAppStoreProfile.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_iosAppStoreProfile.1.txt index 8be609b..c2a1029 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_iosAppStoreProfile.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_iosAppStoreProfile.1.txt @@ -1,7 +1,26 @@ -curl \ - --request POST \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - --data "{\"data\":{\"attributes\":{\"name\":\"certificateId_IOS_APP_STORE_0.0\",\"profileType\":\"IOS_APP_STORE\"},\"type\":\"profiles\",\"relationships\":{\"certificates\":{\"data\":[{\"id\":\"certificateId\",\"type\":\"certificates\"}]},\"bundleId\":{\"data\":{\"type\":\"bundleIds\",\"id\":\"bundleId\"}}}}}" \ - "https://api.appstoreconnect.apple.com/v1/profiles" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/profiles + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/profiles + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "POST" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + ▿ httpBody: Optional + - some: 260 bytes + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_withProfileName.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_withProfileName.1.txt index 3fe1cf5..2627b2b 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_withProfileName.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_createProfile_withProfileName.1.txt @@ -1,7 +1,26 @@ -curl \ - --request POST \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - --data "{\"data\":{\"attributes\":{\"profileType\":\"profileType\",\"name\":\"mySpecialProfile\"},\"relationships\":{\"certificates\":{\"data\":[{\"id\":\"certificateId\",\"type\":\"certificates\"}]},\"devices\":{\"data\":[{\"id\":\"deviceId\",\"type\":\"devices\"}]},\"bundleId\":{\"data\":{\"type\":\"bundleIds\",\"id\":\"bundleId\"}}},\"type\":\"profiles\"}}" \ - "https://api.appstoreconnect.apple.com/v1/profiles" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/profiles + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/profiles + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "POST" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + ▿ httpBody: Optional + - some: 299 bytes + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_deleteProfile.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_deleteProfile.1.txt index 9c696b3..1872e74 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_deleteProfile.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_deleteProfile.1.txt @@ -1,6 +1,25 @@ -curl \ - --request DELETE \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - "https://api.appstoreconnect.apple.com/v1/profiles/id" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/profiles/id + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/profiles/id + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "DELETE" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_deleteProfile_failure.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_deleteProfile_failure.1.txt index 9c696b3..1872e74 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_deleteProfile_failure.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_deleteProfile_failure.1.txt @@ -1,6 +1,25 @@ -curl \ - --request DELETE \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - "https://api.appstoreconnect.apple.com/v1/profiles/id" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/profiles/id + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/profiles/id + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "DELETE" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId.1.txt index 29acf42..1b275c0 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId.1.txt @@ -1,5 +1,25 @@ -curl \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - "https://api.appstoreconnect.apple.com/v1/bundleIds?filter%5Bidentifier%5D=bundleIdentifier&filter%5Bplatform%5D=IOS&limit=200" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/bundleIds?filter%5Bidentifier%5D=bundleIdentifier&filter%5Bplatform%5D=IOS&limit=200 + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/bundleIds?filter%5Bidentifier%5D=bundleIdentifier&filter%5Bplatform%5D=IOS&limit=200 + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId_bundleIdentifierNameEnabled.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId_bundleIdentifierNameEnabled.1.txt index 29acf42..1b275c0 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId_bundleIdentifierNameEnabled.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId_bundleIdentifierNameEnabled.1.txt @@ -1,5 +1,25 @@ -curl \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - "https://api.appstoreconnect.apple.com/v1/bundleIds?filter%5Bidentifier%5D=bundleIdentifier&filter%5Bplatform%5D=IOS&limit=200" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/bundleIds?filter%5Bidentifier%5D=bundleIdentifier&filter%5Bplatform%5D=IOS&limit=200 + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/bundleIds?filter%5Bidentifier%5D=bundleIdentifier&filter%5Bplatform%5D=IOS&limit=200 + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId_bundleIdentifierNameEnabled_unableToFindBundleId.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId_bundleIdentifierNameEnabled_unableToFindBundleId.1.txt index 29acf42..1b275c0 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId_bundleIdentifierNameEnabled_unableToFindBundleId.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId_bundleIdentifierNameEnabled_unableToFindBundleId.1.txt @@ -1,5 +1,25 @@ -curl \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - "https://api.appstoreconnect.apple.com/v1/bundleIds?filter%5Bidentifier%5D=bundleIdentifier&filter%5Bplatform%5D=IOS&limit=200" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/bundleIds?filter%5Bidentifier%5D=bundleIdentifier&filter%5Bplatform%5D=IOS&limit=200 + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/bundleIds?filter%5Bidentifier%5D=bundleIdentifier&filter%5Bplatform%5D=IOS&limit=200 + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId_unableToDecode.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId_unableToDecode.1.txt index 29acf42..1b275c0 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId_unableToDecode.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_determineBundleIdITCId_unableToDecode.1.txt @@ -1,5 +1,25 @@ -curl \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - "https://api.appstoreconnect.apple.com/v1/bundleIds?filter%5Bidentifier%5D=bundleIdentifier&filter%5Bplatform%5D=IOS&limit=200" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/bundleIds?filter%5Bidentifier%5D=bundleIdentifier&filter%5Bplatform%5D=IOS&limit=200 + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/bundleIds?filter%5Bidentifier%5D=bundleIdentifier&filter%5Bplatform%5D=IOS&limit=200 + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyDoesNotMatch.2.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyDoesNotMatch.2.txt index f15ecb7..303db04 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyDoesNotMatch.2.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyDoesNotMatch.2.txt @@ -1,3 +1,19 @@ -curl \ - --header "Authorization: Bearer jsonWebToken" \ - "https://api.appstoreconnect.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200 + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200 + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 1 key/value pair + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches.2.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches.2.txt index f15ecb7..303db04 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches.2.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches.2.txt @@ -1,3 +1,19 @@ -curl \ - --header "Authorization: Bearer jsonWebToken" \ - "https://api.appstoreconnect.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200 + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200 + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 1 key/value pair + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.2.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.2.txt index 187c9f1..f7623ee 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.2.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_enterprise.2.txt @@ -1,3 +1,19 @@ -curl \ - --header "Authorization: Bearer jsonWebToken" \ - "https://api.enterprise.developer.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200" \ No newline at end of file +▿ https://api.enterprise.developer.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200 + ▿ url: Optional + - some: https://api.enterprise.developer.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200 + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 1 key/value pair + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_failedToDecode.2.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_failedToDecode.2.txt index f15ecb7..303db04 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_failedToDecode.2.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_failedToDecode.2.txt @@ -1,3 +1,19 @@ -curl \ - --header "Authorization: Bearer jsonWebToken" \ - "https://api.appstoreconnect.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200 + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200 + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 1 key/value pair + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_pagedResults.2.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_pagedResults.2.txt index f15ecb7..303db04 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_pagedResults.2.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_pagedResults.2.txt @@ -1,3 +1,19 @@ -curl \ - --header "Authorization: Bearer jsonWebToken" \ - "https://api.appstoreconnect.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200 + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/certificates?filter%5BcertificateType%5D=certificateType&limit=200 + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 1 key/value pair + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_pagedResults.3.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_pagedResults.3.txt index 1e5bd30..baca670 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_pagedResults.3.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchActiveCertificates_privateKeyMatches_pagedResults.3.txt @@ -1,3 +1,19 @@ -curl \ - --header "Authorization: Bearer jsonWebToken" \ - "https://api.appstoreconnect.apple.com/nextCertURL" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/nextCertURL + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/nextCertURL + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 1 key/value pair + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs.1.txt index 7c1959b..5840723 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs.1.txt @@ -1,5 +1,25 @@ -curl \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - "https://api.appstoreconnect.apple.com/v1/devices?filter%5Bstatus%5D=ENABLED&filter%5Bplatform%5D=IOS&limit=200" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/devices?filter%5Bstatus%5D=ENABLED&filter%5Bplatform%5D=IOS&limit=200 + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/devices?filter%5Bstatus%5D=ENABLED&filter%5Bplatform%5D=IOS&limit=200 + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs_decodeError.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs_decodeError.1.txt index 7c1959b..5840723 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs_decodeError.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs_decodeError.1.txt @@ -1,5 +1,25 @@ -curl \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - "https://api.appstoreconnect.apple.com/v1/devices?filter%5Bstatus%5D=ENABLED&filter%5Bplatform%5D=IOS&limit=200" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/devices?filter%5Bstatus%5D=ENABLED&filter%5Bplatform%5D=IOS&limit=200 + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/devices?filter%5Bstatus%5D=ENABLED&filter%5Bplatform%5D=IOS&limit=200 + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs_paged.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs_paged.1.txt index 7c1959b..5840723 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs_paged.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs_paged.1.txt @@ -1,5 +1,25 @@ -curl \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - "https://api.appstoreconnect.apple.com/v1/devices?filter%5Bstatus%5D=ENABLED&filter%5Bplatform%5D=IOS&limit=200" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/devices?filter%5Bstatus%5D=ENABLED&filter%5Bplatform%5D=IOS&limit=200 + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/devices?filter%5Bstatus%5D=ENABLED&filter%5Bplatform%5D=IOS&limit=200 + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs_paged.2.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs_paged.2.txt index 1e5bd30..baca670 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs_paged.2.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchITCDeviceIDs_paged.2.txt @@ -1,3 +1,19 @@ -curl \ - --header "Authorization: Bearer jsonWebToken" \ - "https://api.appstoreconnect.apple.com/nextCertURL" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/nextCertURL + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/nextCertURL + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 1 key/value pair + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchProfile.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchProfile.1.txt index 12b94a5..7961df9 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchProfile.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchProfile.1.txt @@ -1,5 +1,25 @@ -curl \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - "https://api.appstoreconnect.apple.com/v1/profiles?filter%5Bname%5D=Test&include=devices" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/profiles?filter%5Bname%5D=Test&include=devices + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/profiles?filter%5Bname%5D=Test&include=devices + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchProfile_decodeError.1.txt b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchProfile_decodeError.1.txt index 12b94a5..7961df9 100644 --- a/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchProfile_decodeError.1.txt +++ b/Tests/SignHereLibraryTests/__Snapshots__/iTunesConnectServiceTests/iTunesConnectServiceTests_test_fetchProfile_decodeError.1.txt @@ -1,5 +1,25 @@ -curl \ - --header "Accept: application/json" \ - --header "Authorization: Bearer jsonWebToken" \ - --header "Content-Type: application/json" \ - "https://api.appstoreconnect.apple.com/v1/profiles?filter%5Bname%5D=Test&include=devices" \ No newline at end of file +▿ https://api.appstoreconnect.apple.com/v1/profiles?filter%5Bname%5D=Test&include=devices + ▿ url: Optional + - some: https://api.appstoreconnect.apple.com/v1/profiles?filter%5Bname%5D=Test&include=devices + - cachePolicy: 0 + - timeoutInterval: 60.0 + - mainDocumentURL: Optional.none + - networkServiceType: NSURLRequestNetworkServiceType.NSURLRequestNetworkServiceType + - allowsCellularAccess: true + ▿ httpMethod: Optional + - some: "GET" + ▿ allHTTPHeaderFields: Optional> + ▿ some: 3 key/value pairs + ▿ (2 elements) + - key: "Accept" + - value: "application/json" + ▿ (2 elements) + - key: "Authorization" + - value: "Bearer jsonWebToken" + ▿ (2 elements) + - key: "Content-Type" + - value: "application/json" + - httpBody: Optional.none + - httpBodyStream: Optional.none + - httpShouldHandleCookies: true + - httpShouldUsePipelining: false diff --git a/Tests/SignHereLibraryTests/iTunesConnectServiceTests.swift b/Tests/SignHereLibraryTests/iTunesConnectServiceTests.swift index e89d75e..572ec9f 100644 --- a/Tests/SignHereLibraryTests/iTunesConnectServiceTests.swift +++ b/Tests/SignHereLibraryTests/iTunesConnectServiceTests.swift @@ -157,7 +157,7 @@ final class iTunesConnectServiceTests: XCTestCase { as: .dump ) for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } assertSnapshot( matching: value, @@ -212,7 +212,7 @@ final class iTunesConnectServiceTests: XCTestCase { as: .dump ) for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } assertSnapshot( matching: value, @@ -262,7 +262,7 @@ final class iTunesConnectServiceTests: XCTestCase { as: .dump ) for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } assertSnapshot( matching: value, @@ -315,7 +315,7 @@ final class iTunesConnectServiceTests: XCTestCase { as: .dump ) for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } } @@ -359,7 +359,7 @@ final class iTunesConnectServiceTests: XCTestCase { as: .dump ) for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } XCTAssertTrue(value.isEmpty) } @@ -389,7 +389,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } assertSnapshot( matching: value, @@ -426,7 +426,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } } @@ -450,7 +450,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } XCTAssertEqual(value, "bundleIDITCId") } @@ -475,7 +475,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } XCTAssertEqual(value, "bundleIDITCId") } @@ -507,7 +507,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } } @@ -537,7 +537,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } } @@ -558,7 +558,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } XCTAssertEqual(value.sorted(), ["deviceITCId"]) } @@ -584,7 +584,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } } @@ -606,7 +606,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } XCTAssertEqual(value.sorted(), ["deviceITCId"]) } @@ -633,7 +633,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } assertSnapshot( matching: value, @@ -663,7 +663,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } assertSnapshot( matching: value, @@ -693,7 +693,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } assertSnapshot( matching: value, @@ -727,7 +727,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } } @@ -745,7 +745,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeWithStatusCodeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } } @@ -769,7 +769,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeWithStatusCodeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } } @@ -791,7 +791,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } assertSnapshot( @@ -822,7 +822,7 @@ final class iTunesConnectServiceTests: XCTestCase { // THEN for argValue in network.executeArgValues { - assertSnapshot(matching: argValue, as: .curl) + assertSnapshot(matching: argValue, as: .dump) } } From 9f92d7c59398949f274b28ddfcfd66a35657b050 Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Tue, 20 Aug 2024 14:46:17 -0400 Subject: [PATCH 3/9] more test updates --- Tests/SignHereLibraryTests/CreateKeychainCommandTests.swift | 2 +- .../CreateProvisioningProfileCommandTests.swift | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Tests/SignHereLibraryTests/CreateKeychainCommandTests.swift b/Tests/SignHereLibraryTests/CreateKeychainCommandTests.swift index cc85138..56fe784 100644 --- a/Tests/SignHereLibraryTests/CreateKeychainCommandTests.swift +++ b/Tests/SignHereLibraryTests/CreateKeychainCommandTests.swift @@ -73,7 +73,7 @@ final class CreateKeychainCommandTests: XCTestCase { ).description, as: .lines ) - + assertSnapshot( matching: CreateKeychainCommand.Error.unableToListKeychains( output: .init(status: 0, data: .init("output".utf8), errorData: .init("errorOutput".utf8)) diff --git a/Tests/SignHereLibraryTests/CreateProvisioningProfileCommandTests.swift b/Tests/SignHereLibraryTests/CreateProvisioningProfileCommandTests.swift index 653b24a..8dbf4a3 100644 --- a/Tests/SignHereLibraryTests/CreateProvisioningProfileCommandTests.swift +++ b/Tests/SignHereLibraryTests/CreateProvisioningProfileCommandTests.swift @@ -169,7 +169,8 @@ final class CreateProvisioningProfileCommandTests: XCTestCase { "bundleIdentifierName": "bundleIdentifierName", "platform": "platform", "profileName": "profileName", - "autoRegenerate": false + "autoRegenerate": false, + "enterprise": true } """.utf8) @@ -191,6 +192,7 @@ final class CreateProvisioningProfileCommandTests: XCTestCase { XCTAssertEqual(subject.platform, "platform") XCTAssertEqual(subject.profileName, "profileName") XCTAssertEqual(subject.autoRegenerate, false) + XCTAssertEqual(subject.enterprise, true) } func test_execute_alreadyActiveCertificate() throws { From 2936a44a14821acf40662a470447d3c600712ea1 Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Tue, 14 Jan 2025 17:11:27 -0500 Subject: [PATCH 4/9] update jwt payload --- MODULE.bazel | 3 +- MODULE.bazel.lock | 383 ++++++++++-------- .../CreateProvisioningProfileCommand.swift | 3 +- .../DeleteProvisioningProfileCommand.swift | 3 +- .../Services/JSONWebTokenService.swift | 8 +- WORKSPACE | 6 +- 6 files changed, 228 insertions(+), 178 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 4889030..6cb03f8 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -1,7 +1,6 @@ module(name = "sign-here") -bazel_dep(name = "rules_apple", version = "3.5.0", repo_name = "build_bazel_rules_apple") -bazel_dep(name = "rules_swift", version = "1.18.0", repo_name = "build_bazel_rules_swift", max_compatibility_level = 2) +bazel_dep(name = "rules_apple", version = "3.16.1", repo_name = "build_bazel_rules_apple") bazel_dep(name = "swift-syntax", version = "509.0.2", repo_name = "SwiftSyntax") bazel_dep(name = "swift_argument_parser", version = "1.3.0", repo_name = "com_github_apple_swift_argument_parser") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 310c65f..0accceb 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1,95 +1,180 @@ { - "lockFileVersion": 11, + "lockFileVersion": 16, "registryFileHashes": { "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/MODULE.bazel": "70390338f7a5106231d20620712f7cccb659cd0e9d073d1991c038eb9fc57589", - "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/source.json": "7e3a9adf473e9af076ae485ed649d5641ad50ec5c11718103f34de03170d94ad", + "https://bcr.bazel.build/modules/abseil-cpp/20230125.1/MODULE.bazel": "89047429cb0207707b2dface14ba7f8df85273d484c2572755be4bab7ce9c3a0", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.0.bcr.1/MODULE.bazel": "1c8cec495288dccd14fdae6e3f95f772c1c91857047a098fad772034264cc8cb", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.0/MODULE.bazel": "d253ae36a8bd9ee3c5955384096ccb6baf16a1b1e93e858370da0a3b94f77c16", + "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", + "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", + "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", "https://bcr.bazel.build/modules/apple_support/1.11.1/MODULE.bazel": "1843d7cd8a58369a444fc6000e7304425fba600ff641592161d9f15b179fb896", "https://bcr.bazel.build/modules/apple_support/1.15.1/MODULE.bazel": "a0556fefca0b1bb2de8567b8827518f94db6a6e7e7d632b4c48dc5f865bc7c85", "https://bcr.bazel.build/modules/apple_support/1.15.1/source.json": "517f2b77430084c541bc9be2db63fdcbb7102938c5f64c17ee60ffda2e5cf07b", "https://bcr.bazel.build/modules/apple_support/1.3.2/MODULE.bazel": "413d6cb36ed01ac4b4a4d945d43408901dfce22098af0e307f57806fcdd2b4f3", - "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel": "50341a62efbc483e8a2a6aec30994a58749bd7b885e18dd96aa8c33031e558ef", + "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", "https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8", - "https://bcr.bazel.build/modules/bazel_features/1.11.0/source.json": "c9320aa53cd1c441d24bd6b716da087ad7e4ff0d9742a9884587596edfe53015", + "https://bcr.bazel.build/modules/bazel_features/1.15.0/MODULE.bazel": "d38ff6e517149dc509406aca0db3ad1efdd890a85e049585b7234d04238e2a4d", + "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d", + "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", + "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", + "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", + "https://bcr.bazel.build/modules/bazel_features/1.21.0/source.json": "3e8379efaaef53ce35b7b8ba419df829315a880cb0a030e5bb45c96d6d5ecb5f", "https://bcr.bazel.build/modules/bazel_features/1.3.0/MODULE.bazel": "cdcafe83ec318cda34e02948e81d790aab8df7a929cec6f6969f13a489ccecd9", + "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", + "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", "https://bcr.bazel.build/modules/bazel_skylib/1.1.1/MODULE.bazel": "1add3e7d93ff2e6998f9e118022c84d163917d912f5afafb3058e3d2f1545b5e", + "https://bcr.bazel.build/modules/bazel_skylib/1.2.0/MODULE.bazel": "44fe84260e454ed94ad326352a698422dbe372b21a1ac9f3eab76eb531223686", "https://bcr.bazel.build/modules/bazel_skylib/1.2.1/MODULE.bazel": "f35baf9da0efe45fa3da1696ae906eea3d615ad41e2e3def4aeb4e8bc0ef9a7a", "https://bcr.bazel.build/modules/bazel_skylib/1.3.0/MODULE.bazel": "20228b92868bf5cfc41bda7afc8a8ba2a543201851de39d990ec957b513579c5", + "https://bcr.bazel.build/modules/bazel_skylib/1.4.1/MODULE.bazel": "a0dcb779424be33100dcae821e9e27e4f2901d9dfd5333efe5ac6a8d7ab75e1d", + "https://bcr.bazel.build/modules/bazel_skylib/1.4.2/MODULE.bazel": "3bd40978e7a1fac911d5989e6b09d8f64921865a45822d8b09e815eaa726a651", + "https://bcr.bazel.build/modules/bazel_skylib/1.5.0/MODULE.bazel": "32880f5e2945ce6a03d1fbd588e9198c0a959bb42297b2cfaf1685b7bc32e138", "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", - "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/source.json": "082ed5f9837901fada8c68c2f3ddc958bb22b6d654f71dd73f3df30d45d4b749", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.0/MODULE.bazel": "0db596f4563de7938de764cc8deeabec291f55e8ec15299718b93c4423e9796d", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", + "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/source.json": "f121b43eeefc7c29efbd51b83d08631e2347297c95aac9764a701f2a6a2bb953", "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", "https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8", + "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", - "https://bcr.bazel.build/modules/googletest/1.11.0/source.json": "c73d9ef4268c91bd0c1cd88f1f9dfa08e814b1dbe89b5f594a9f08ba0244d206", + "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", + "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/source.json": "41e9e129f80d8c8bf103a7acc337b76e54fad1214ac0a7084bf24f4cd924b8b4", + "https://bcr.bazel.build/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", + "https://bcr.bazel.build/modules/jsoncpp/1.9.5/MODULE.bazel": "31271aedc59e815656f5736f282bb7509a97c7ecb43e927ac1a37966e0578075", + "https://bcr.bazel.build/modules/jsoncpp/1.9.5/source.json": "4108ee5085dd2885a341c7fab149429db457b3169b86eb081fa245eadf69169d", + "https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902", "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/MODULE.bazel": "6f7b417dcc794d9add9e556673ad25cb3ba835224290f4f848f8e2db1e1fca74", "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/source.json": "f448c6e8963fdfa7eb831457df83ad63d3d6355018f6574fb017e8169deb43a9", + "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", + "https://bcr.bazel.build/modules/platforms/0.0.10/source.json": "f22828ff4cf021a6b577f1bf6341cb9dcd7965092a439f64fc1bb3b7a5ae4bd5", "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", + "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", "https://bcr.bazel.build/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", - "https://bcr.bazel.build/modules/platforms/0.0.9/source.json": "cd74d854bf16a9e002fb2ca7b1a421f4403cda29f824a765acd3a8c56f8d43e6", "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", - "https://bcr.bazel.build/modules/protobuf/21.7/source.json": "bbe500720421e582ff2d18b0802464205138c06056f443184de39fbb8187b09b", + "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", + "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d", + "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", + "https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e", + "https://bcr.bazel.build/modules/protobuf/29.0/source.json": "b857f93c796750eef95f0d61ee378f3420d00ee1dd38627b27193aa482f4f981", "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", "https://bcr.bazel.build/modules/protobuf/3.19.2/MODULE.bazel": "532ffe5f2186b69fdde039efe6df13ba726ff338c6bc82275ad433013fa10573", - "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858", + "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e", + "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/source.json": "be4789e951dd5301282729fe3d4938995dc4c1a81c2ff150afc9f1b0504c6022", + "https://bcr.bazel.build/modules/re2/2023-09-01/MODULE.bazel": "cb3d511531b16cfc78a225a9e2136007a48cf8a677e4264baeab57fe78a80206", + "https://bcr.bazel.build/modules/re2/2023-09-01/source.json": "e044ce89c2883cd957a2969a43e79f7752f9656f6b20050b62f90ede21ec6eb4", + "https://bcr.bazel.build/modules/rules_android/0.1.1/MODULE.bazel": "48809ab0091b07ad0182defb787c4c5328bd3a278938415c00a7b69b50c4d3a8", + "https://bcr.bazel.build/modules/rules_android/0.1.1/source.json": "e6986b41626ee10bdc864937ffb6d6bf275bb5b9c65120e6137d56e6331f089e", "https://bcr.bazel.build/modules/rules_apple/3.5.0/MODULE.bazel": "378d9849028593b14745f2b8f57ba75951423233370ad1c7b8b927a15a7299ea", "https://bcr.bazel.build/modules/rules_apple/3.5.0/source.json": "828a67917a517c32316ab9168b2e9035a2b7499f18cbae553aaa3f9b9e0e160e", "https://bcr.bazel.build/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647", + "https://bcr.bazel.build/modules/rules_cc/0.0.10/MODULE.bazel": "ec1705118f7eaedd6e118508d3d26deba2a4e76476ada7e0e3965211be012002", + "https://bcr.bazel.build/modules/rules_cc/0.0.13/MODULE.bazel": "0e8529ed7b323dad0775ff924d2ae5af7640b23553dfcd4d34344c7e7a867191", + "https://bcr.bazel.build/modules/rules_cc/0.0.14/MODULE.bazel": "5e343a3aac88b8d7af3b1b6d2093b55c347b8eefc2e7d1442f7a02dc8fea48ac", + "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", + "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", + "https://bcr.bazel.build/modules/rules_cc/0.0.16/source.json": "227e83737046aa4f50015da48e98e0d8ab42fd0ec74d8d653b6cc9f9a357f200", "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", + "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", - "https://bcr.bazel.build/modules/rules_cc/0.0.9/source.json": "1f1ba6fea244b616de4a554a0f4983c91a9301640c8fe0dd1d410254115c8430", + "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", + "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8", + "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/source.json": "c8b1e2c717646f1702290959a3302a178fb639d987ab61d548105019f11e527e", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", - "https://bcr.bazel.build/modules/rules_java/7.6.5/MODULE.bazel": "481164be5e02e4cab6e77a36927683263be56b7e36fef918b458d7a8a1ebadb1", - "https://bcr.bazel.build/modules/rules_java/7.6.5/source.json": "a805b889531d1690e3c72a7a7e47a870d00323186a9904b36af83aa3d053ee8d", + "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", + "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", + "https://bcr.bazel.build/modules/rules_java/6.4.0/MODULE.bazel": "e986a9fe25aeaa84ac17ca093ef13a4637f6107375f64667a15999f77db6c8f6", + "https://bcr.bazel.build/modules/rules_java/6.5.2/MODULE.bazel": "1d440d262d0e08453fa0c4d8f699ba81609ed0e9a9a0f02cd10b3e7942e61e31", + "https://bcr.bazel.build/modules/rules_java/7.10.0/MODULE.bazel": "530c3beb3067e870561739f1144329a21c851ff771cd752a49e06e3dc9c2e71a", + "https://bcr.bazel.build/modules/rules_java/7.12.2/MODULE.bazel": "579c505165ee757a4280ef83cda0150eea193eed3bef50b1004ba88b99da6de6", + "https://bcr.bazel.build/modules/rules_java/7.2.0/MODULE.bazel": "06c0334c9be61e6cef2c8c84a7800cef502063269a5af25ceb100b192453d4ab", + "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2", + "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", + "https://bcr.bazel.build/modules/rules_java/8.6.1/MODULE.bazel": "f4808e2ab5b0197f094cabce9f4b006a27766beb6a9975931da07099560ca9c2", + "https://bcr.bazel.build/modules/rules_java/8.6.1/source.json": "f18d9ad3c4c54945bf422ad584fa6c5ca5b3116ff55a5b1bc77e5c1210be5960", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", - "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/source.json": "a075731e1b46bc8425098512d038d416e966ab19684a10a34f4741295642fc35", + "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", + "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", + "https://bcr.bazel.build/modules/rules_jvm_external/5.3/MODULE.bazel": "bf93870767689637164657731849fb887ad086739bd5d360d90007a581d5527d", + "https://bcr.bazel.build/modules/rules_jvm_external/6.1/MODULE.bazel": "75b5fec090dbd46cf9b7d8ea08cf84a0472d92ba3585b476f44c326eda8059c4", + "https://bcr.bazel.build/modules/rules_jvm_external/6.3/MODULE.bazel": "c998e060b85f71e00de5ec552019347c8bca255062c990ac02d051bb80a38df0", + "https://bcr.bazel.build/modules/rules_jvm_external/6.3/source.json": "6f5f5a5a4419ae4e37c35a5bb0a6ae657ed40b7abc5a5189111b47fcebe43197", + "https://bcr.bazel.build/modules/rules_kotlin/1.9.0/MODULE.bazel": "ef85697305025e5a61f395d4eaede272a5393cee479ace6686dba707de804d59", + "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/MODULE.bazel": "d269a01a18ee74d0335450b10f62c9ed81f2321d7958a2934e44272fe82dcef3", + "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/source.json": "2faa4794364282db7c06600b7e5e34867a564ae91bda7cae7c29c64e9466b7d5", "https://bcr.bazel.build/modules/rules_license/0.0.3/MODULE.bazel": "627e9ab0247f7d1e05736b59dbb1b6871373de5ad31c3011880b4133cafd4bd0", "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", - "https://bcr.bazel.build/modules/rules_license/0.0.7/source.json": "355cc5737a0f294e560d52b1b7a6492d4fff2caf0bef1a315df5a298fca2d34a", + "https://bcr.bazel.build/modules/rules_license/1.0.0/MODULE.bazel": "a7fda60eefdf3d8c827262ba499957e4df06f659330bbe6cdbdb975b768bb65c", + "https://bcr.bazel.build/modules/rules_license/1.0.0/source.json": "a52c89e54cc311196e478f8382df91c15f7a2bfdf4c6cd0e2675cc2ff0b56efb", "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", - "https://bcr.bazel.build/modules/rules_pkg/0.7.0/source.json": "c2557066e0c0342223ba592510ad3d812d4963b9024831f7f66fd0584dd8c66c", + "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", + "https://bcr.bazel.build/modules/rules_pkg/1.0.1/source.json": "bd82e5d7b9ce2d31e380dd9f50c111d678c3bdaca190cb76b0e1c71b05e1ba8a", "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", - "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/source.json": "d57902c052424dfda0e71646cb12668d39c4620ee0544294d9d941e7d12bc3a9", + "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73", + "https://bcr.bazel.build/modules/rules_proto/7.0.2/MODULE.bazel": "bf81793bd6d2ad89a37a40693e56c61b0ee30f7a7fdbaf3eabbf5f39de47dea2", + "https://bcr.bazel.build/modules/rules_proto/7.0.2/source.json": "1e5e7260ae32ef4f2b52fd1d0de8d03b606a44c91b694d2f1afb1d3b28a48ce1", "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f", - "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel": "26114f0c0b5e93018c0c066d6673f1a2c3737c7e90af95eff30cfee38d0bbac7", - "https://bcr.bazel.build/modules/rules_python/0.22.1/source.json": "57226905e783bae7c37c2dd662be078728e48fa28ee4324a7eabcafb5a43d014", + "https://bcr.bazel.build/modules/rules_python/0.23.1/MODULE.bazel": "49ffccf0511cb8414de28321f5fcf2a31312b47c40cc21577144b7447f2bf300", + "https://bcr.bazel.build/modules/rules_python/0.25.0/MODULE.bazel": "72f1506841c920a1afec76975b35312410eea3aa7b63267436bfb1dd91d2d382", + "https://bcr.bazel.build/modules/rules_python/0.28.0/MODULE.bazel": "cba2573d870babc976664a912539b320cbaa7114cd3e8f053c720171cde331ed", + "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58", "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", + "https://bcr.bazel.build/modules/rules_python/0.40.0/MODULE.bazel": "9d1a3cd88ed7d8e39583d9ffe56ae8a244f67783ae89b60caafc9f5cf318ada7", + "https://bcr.bazel.build/modules/rules_python/0.40.0/source.json": "939d4bd2e3110f27bfb360292986bb79fd8dcefb874358ccd6cdaa7bda029320", + "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", + "https://bcr.bazel.build/modules/rules_shell/0.2.0/source.json": "7f27af3c28037d9701487c4744b5448d26537cc66cdef0d8df7ae85411f8de95", "https://bcr.bazel.build/modules/rules_swift/1.16.0/MODULE.bazel": "4a09f199545a60d09895e8281362b1ff3bb08bbde69c6fc87aff5b92fcc916ca", "https://bcr.bazel.build/modules/rules_swift/1.18.0/MODULE.bazel": "a6aba73625d0dc64c7b4a1e831549b6e375fbddb9d2dde9d80c9de6ec45b24c9", "https://bcr.bazel.build/modules/rules_swift/1.18.0/source.json": "9e636cabd446f43444ea2662341a9cbb74ecd87ab0557225ae73f1127cb7ff52", "https://bcr.bazel.build/modules/rules_swift/1.5.1/MODULE.bazel": "c23e8512b8adea137c8c5f8a8542673420d444de58daf3c223b6c3ffd0af6acd", "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", - "https://bcr.bazel.build/modules/stardoc/0.5.1/source.json": "a96f95e02123320aa015b956f29c00cb818fa891ef823d55148e1a362caacf29", + "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", + "https://bcr.bazel.build/modules/stardoc/0.5.6/MODULE.bazel": "c43dabc564990eeab55e25ed61c07a1aadafe9ece96a4efabb3f8bf9063b71ef", + "https://bcr.bazel.build/modules/stardoc/0.7.0/MODULE.bazel": "05e3d6d30c099b6770e97da986c53bd31844d7f13d41412480ea265ac9e8079c", + "https://bcr.bazel.build/modules/stardoc/0.7.1/MODULE.bazel": "3548faea4ee5dda5580f9af150e79d0f6aea934fc60c1cc50f4efdd9420759e7", + "https://bcr.bazel.build/modules/stardoc/0.7.1/source.json": "b6500ffcd7b48cd72c29bb67bcac781e12701cc0d6d55d266a652583cfcdab01", "https://bcr.bazel.build/modules/swift-syntax/509.0.2/MODULE.bazel": "a18f494df26fb0459554e0049e892636ce5fef6a4a9866a5f5b172b3efd3e5db", "https://bcr.bazel.build/modules/swift-syntax/509.0.2/source.json": "fb7dcb8289f82cd36692a62b255f141f0d1291e8a0add340ab8a300e87f3ae88", "https://bcr.bazel.build/modules/swift_argument_parser/1.3.0/MODULE.bazel": "e1ac09691e2f2549ee98a31e88a907d2ae2755f427fe59b58ca1eb99182800c8", "https://bcr.bazel.build/modules/swift_argument_parser/1.3.0/source.json": "f28b61c0593d24c490079d510275a1f9752cbe125bbe9c9b35c58bade7d8423c", "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", - "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/source.json": "f1ef7d3f9e0e26d4b23d1c39b5f5de71f584dd7d1b4ef83d9bbba6ec7a6a6459", "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/MODULE.bazel": "af322bc08976524477c79d1e45e241b6efbeb918c497e8840b8ab116802dda79", - "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d" + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d", + "https://bcr.bazel.build/modules/zlib/1.3.1/MODULE.bazel": "751c9940dcfe869f5f7274e1295422a34623555916eb98c174c1e945594bf198" }, "selectedYankedVersions": {}, "moduleExtensions": { "//:extensions.bzl%non_module_dependencies": { "general": { - "bzlTransitiveDigest": "U4r42pY/S5nTtuxcVXbHIw00fJugzFNRya+qXBh8bBc=", - "usagesDigest": "XqzSM9q1vmswfgQVn5N/9KpalAi6+wHUQmSugXe9GO8=", + "bzlTransitiveDigest": "81FHSt17eRJmE+JDUpvN5NNERd1qWMTPZyte2SPSvGU=", + "usagesDigest": "ySuj/WUX705NnPBivhR7BGHcD8dBT/wpo54Vlrp+1dY=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, "generatedRepoSpecs": { + "com_github_kylef_pathkit": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://github.com/kylef/PathKit/archive/2fcd4618d52869b342e208324d455131a48f9e9b.zip" + ], + "sha256": "837749e86a882d7486853c39d745fb21ffcf4e2e303d307bce2f25c3f756e194", + "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_library\")\n\nswift_library(\n name = \"PathKit\",\n module_name = \"PathKit\",\n srcs = glob([\n \"Sources/**/*.swift\"\n ], allow_empty = False),\n copts = [\n \"-suppress-warnings\",\n ],\n features = [\n \"-swift.treat_warnings_as_errors\",\n ],\n visibility = [\"//visibility:public\"],\n)\n ", + "strip_prefix": "PathKit-2fcd4618d52869b342e208324d455131a48f9e9b" + } + }, "com_github_kitura_blueecc": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { "url": "https://github.com/Kitura/BlueECC/archive/b0983b04bcf3a571404392e4fee461cf3f17548b.zip", "strip_prefix": "BlueECC-b0983b04bcf3a571404392e4fee461cf3f17548b", @@ -97,18 +182,19 @@ "sha256": "c708192350913e9fa9a412bde60dcf9cc2e90b58573c4f6af1298dd27e31c642" } }, - "SwiftSyntax": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "mockolo": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { - "sha256": "1cddda9f7d249612e3d75d4caa8fd9534c0621b8a890a7d7524a4689bce644f1", - "strip_prefix": "swift-syntax-509.0.0", - "url": "https://github.com/apple/swift-syntax/archive/refs/tags/509.0.0.tar.gz" + "integrity": "sha256-12D/tUZKP87bS2NyfmdJP/pFg/JmsdFv1xsr0BvKUGs=", + "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_binary\", \"swift_library\")\n\nswift_library(\n name = \"MockoloFramework\",\n srcs = glob(\n [\n \"Sources/MockoloFramework/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\"-suppress-warnings\"],\n module_name = \"MockoloFramework\",\n deps = [\n \"@SwiftToolsSupportCore//:TSCUtility\",\n \"@com_github_apple_swift_argument_parser//:ArgumentParser\",\n \"@SwiftSyntax//:SwiftParser_opt\",\n \"@SwiftSyntax//:SwiftSyntax_opt\",\n ],\n)\n\nswift_library(\n name = \"Mockolo\",\n srcs = glob(\n [\n \"Sources/Mockolo/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"Mockolo\",\n deps = [\n \":MockoloFramework\",\n ],\n)\n\nswift_binary(\n name = \"mockolo\",\n visibility = [\"//visibility:public\"],\n deps = [\n \":Mockolo\",\n ],\n)\n ", + "strip_prefix": "mockolo-519439fb550dc23e622897de0080ce8ba68ddd78", + "urls": [ + "https://github.com/uber/mockolo/archive/519439fb550dc23e622897de0080ce8ba68ddd78.zip" + ] } }, "SwiftToolsSupportCore": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_library\")\n\nobjc_library(\n name = \"TSCclibc\",\n srcs = glob(\n [\n \"Sources/TSCclibc/*.c\",\n ],\n allow_empty = False,\n ),\n hdrs = [\n \"Sources/TSCclibc/include/TSCclibc.h\",\n \"Sources/TSCclibc/include/indexstore_functions.h\",\n \"Sources/TSCclibc/include/process.h\",\n ],\n copts = [\n \"-w\",\n ],\n module_name = \"TSCclibc\",\n)\n\nswift_library(\n name = \"TSCLibc\",\n srcs = glob(\n [\n \"Sources/TSCLibc/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"TSCLibc\",\n deps = [\n \":TSCclibc\",\n ],\n)\n\nswift_library(\n name = \"TSCBasic\",\n srcs = glob(\n [\n \"Sources/TSCBasic/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"TSCBasic\",\n visibility = [\"//visibility:public\"],\n deps = [\n \":TSCLibc\",\n \"@com_github_apple_swift_system//:SystemPackage\",\n ],\n)\n\nswift_library(\n name = \"TSCUtility\",\n srcs = glob(\n [\n \"Sources/TSCUtility/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"TSCUtility\",\n visibility = [\"//visibility:public\"],\n deps = [\n \":TSCBasic\",\n ],\n)\n\n ", "sha256": "3b07acf24ad49bf72f2825a39c542396880e89ab7e840ec2eed2cdb75696a17c", @@ -116,19 +202,8 @@ "url": "https://github.com/apple/swift-tools-support-core/archive/refs/tags/0.5.2.tar.gz" } }, - "SwiftSnapshotTesting": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_library\")\n\nswift_library(\n name = \"SnapshotTesting\",\n testonly = True,\n srcs = glob(\n [\n \"Sources/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"SnapshotTesting\",\n visibility = [\"//visibility:public\"],\n)\n ", - "sha256": "fc37a90810c9ea402ab5612b4942ad1a22ae8105bbdd36cc64e0912343ad4a90", - "strip_prefix": "swift-snapshot-testing-c466812aa2e22898f27557e2e780d3aad7a27203", - "url": "https://github.com/pointfreeco/swift-snapshot-testing/archive/c466812aa2e22898f27557e2e780d3aad7a27203.zip" - } - }, "com_github_apple_swift_system": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_library\")\n\nobjc_library(\n name = \"CSystem\",\n srcs = glob(\n [\n \"Sources/CSystem/*.c\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-w\",\n ],\n module_name = \"CSystem\",\n)\n\nswift_library(\n name = \"SystemPackage\",\n srcs = glob(\n [\n \"Sources/System/**/*.swift\",\n ],\n allow_empty = False,\n ),\n defines = [\n \"SYSTEM_PACKAGE\",\n ],\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"SystemPackage\",\n visibility = [\"//visibility:public\"],\n deps = [\n \":CSystem\",\n ],\n)\n ", "sha256": "ab771be8a944893f95eed901be0a81a72ef97add6caa3d0981e61b9b903a987d", @@ -136,28 +211,21 @@ "url": "https://github.com/apple/swift-system/archive/refs/tags/1.2.1.tar.gz" } }, - "com_github_kylef_pathkit": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "SwiftSnapshotTesting": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { - "urls": [ - "https://github.com/kylef/PathKit/archive/2fcd4618d52869b342e208324d455131a48f9e9b.zip" - ], - "sha256": "837749e86a882d7486853c39d745fb21ffcf4e2e303d307bce2f25c3f756e194", - "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_library\")\n\nswift_library(\n name = \"PathKit\",\n module_name = \"PathKit\",\n srcs = glob([\n \"Sources/**/*.swift\"\n ], allow_empty = False),\n copts = [\n \"-suppress-warnings\",\n ],\n features = [\n \"-swift.treat_warnings_as_errors\",\n ],\n visibility = [\"//visibility:public\"],\n)\n ", - "strip_prefix": "PathKit-2fcd4618d52869b342e208324d455131a48f9e9b" + "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_library\")\n\nswift_library(\n name = \"SnapshotTesting\",\n testonly = True,\n srcs = glob(\n [\n \"Sources/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"SnapshotTesting\",\n visibility = [\"//visibility:public\"],\n)\n ", + "sha256": "fc37a90810c9ea402ab5612b4942ad1a22ae8105bbdd36cc64e0912343ad4a90", + "strip_prefix": "swift-snapshot-testing-c466812aa2e22898f27557e2e780d3aad7a27203", + "url": "https://github.com/pointfreeco/swift-snapshot-testing/archive/c466812aa2e22898f27557e2e780d3aad7a27203.zip" } }, - "mockolo": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "SwiftSyntax": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { - "integrity": "sha256-12D/tUZKP87bS2NyfmdJP/pFg/JmsdFv1xsr0BvKUGs=", - "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_binary\", \"swift_library\")\n\nswift_library(\n name = \"MockoloFramework\",\n srcs = glob(\n [\n \"Sources/MockoloFramework/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\"-suppress-warnings\"],\n module_name = \"MockoloFramework\",\n deps = [\n \"@SwiftToolsSupportCore//:TSCUtility\",\n \"@com_github_apple_swift_argument_parser//:ArgumentParser\",\n \"@SwiftSyntax//:SwiftParser_opt\",\n \"@SwiftSyntax//:SwiftSyntax_opt\",\n ],\n)\n\nswift_library(\n name = \"Mockolo\",\n srcs = glob(\n [\n \"Sources/Mockolo/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"Mockolo\",\n deps = [\n \":MockoloFramework\",\n ],\n)\n\nswift_binary(\n name = \"mockolo\",\n visibility = [\"//visibility:public\"],\n deps = [\n \":Mockolo\",\n ],\n)\n ", - "strip_prefix": "mockolo-519439fb550dc23e622897de0080ce8ba68ddd78", - "urls": [ - "https://github.com/uber/mockolo/archive/519439fb550dc23e622897de0080ce8ba68ddd78.zip" - ] + "sha256": "1cddda9f7d249612e3d75d4caa8fd9534c0621b8a890a7d7524a4689bce644f1", + "strip_prefix": "swift-syntax-509.0.0", + "url": "https://github.com/apple/swift-syntax/archive/refs/tags/509.0.0.tar.gz" } } }, @@ -170,207 +238,188 @@ ] } }, - "@@apple_support~//crosstool:setup.bzl%apple_cc_configure_extension": { + "@@platforms//host:extension.bzl%host_platform": { "general": { - "bzlTransitiveDigest": "ltCGFbl/LQQZXn/LEMXfKX7pGwyqNiOCHcmiQW0tmjM=", - "usagesDigest": "vN+Lipl5mknmtcBq0V7axjxvKR9WIctS8zT6k5O3K+U=", + "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", + "usagesDigest": "SeQiIN/f8/Qt9vYQk7qcXp4I4wJeEC0RnQDiaaJ4tb8=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, "generatedRepoSpecs": { - "local_config_apple_cc": { - "bzlFile": "@@apple_support~//crosstool:setup.bzl", - "ruleClassName": "_apple_cc_autoconf", - "attributes": {} - }, - "local_config_apple_cc_toolchains": { - "bzlFile": "@@apple_support~//crosstool:setup.bzl", - "ruleClassName": "_apple_cc_autoconf_toolchains", + "host_platform": { + "repoRuleId": "@@platforms//host:extension.bzl%host_platform_repo", "attributes": {} } }, - "recordedRepoMappingEntries": [ - [ - "apple_support~", - "bazel_tools", - "bazel_tools" - ] - ] + "recordedRepoMappingEntries": [] } }, - "@@platforms//host:extension.bzl%host_platform": { + "@@rules_java+//java:rules_java_deps.bzl%compatibility_proxy": { "general": { - "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", - "usagesDigest": "meSzxn3DUCcYEhq4HQwExWkWtU4EjriRBQLsZN+Q0SU=", + "bzlTransitiveDigest": "84xJEZ1jnXXwo8BXMprvBm++rRt4jsTu9liBxz0ivps=", + "usagesDigest": "jTQDdLDxsS43zuRmg1faAjIEPWdLAbDAowI1pInQSoo=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, "generatedRepoSpecs": { - "host_platform": { - "bzlFile": "@@platforms//host:extension.bzl", - "ruleClassName": "host_platform_repo", + "compatibility_proxy": { + "repoRuleId": "@@rules_java+//java:rules_java_deps.bzl%_compatibility_proxy_repo_rule", "attributes": {} } }, - "recordedRepoMappingEntries": [] + "recordedRepoMappingEntries": [ + [ + "rules_java+", + "bazel_tools", + "bazel_tools" + ] + ] } }, - "@@rules_swift~//swift:extensions.bzl%non_module_deps": { + "@@rules_swift+//swift:extensions.bzl%non_module_deps": { "general": { - "bzlTransitiveDigest": "Cmw0SWMEF+W7yHokTa/RRl3v7uDPKysmnNQ6hvKeA30=", - "usagesDigest": "Bxpjq7dEoQ6itfQLt8YOa+X+mqBZ+FWDDiSlD7pLoho=", + "bzlTransitiveDigest": "YhFSelSlJDjDC9qddzDFQPPLa3lcdmxqVyae3oyaIfk=", + "usagesDigest": "pc6EpJlC09ldDn7Ou9pYanMDj3PfMDk48a9IaX+3r+E=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, "generatedRepoSpecs": { - "com_github_grpc_grpc_swift": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "urls": [ - "https://github.com/grpc/grpc-swift/archive/1.16.0.tar.gz" - ], - "sha256": "58b60431d0064969f9679411264b82e40a217ae6bd34e17096d92cc4e47556a5", - "strip_prefix": "grpc-swift-1.16.0/", - "build_file": "@@rules_swift~//third_party:com_github_grpc_grpc_swift/BUILD.overlay" - } - }, - "com_github_apple_swift_nio_extras": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "urls": [ - "https://github.com/apple/swift-nio-extras/archive/1.4.0.tar.gz" - ], - "sha256": "4684b52951d9d9937bb3e8ccd6b5daedd777021ef2519ea2f18c4c922843b52b", - "strip_prefix": "swift-nio-extras-1.4.0/", - "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio_extras/BUILD.overlay" - } - }, "com_github_apple_swift_protobuf": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { "urls": [ "https://github.com/apple/swift-protobuf/archive/1.20.2.tar.gz" ], "sha256": "3fb50bd4d293337f202d917b6ada22f9548a0a0aed9d9a4d791e6fbd8a246ebb", "strip_prefix": "swift-protobuf-1.20.2/", - "build_file": "@@rules_swift~//third_party:com_github_apple_swift_protobuf/BUILD.overlay" + "build_file": "@@rules_swift+//third_party:com_github_apple_swift_protobuf/BUILD.overlay" } }, - "com_github_apple_swift_nio_ssl": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "com_github_grpc_grpc_swift": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { "urls": [ - "https://github.com/apple/swift-nio-ssl/archive/2.23.0.tar.gz" + "https://github.com/grpc/grpc-swift/archive/1.16.0.tar.gz" ], - "sha256": "4787c63f61dd04d99e498adc3d1a628193387e41efddf8de19b8db04544d016d", - "strip_prefix": "swift-nio-ssl-2.23.0/", - "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio_ssl/BUILD.overlay" + "sha256": "58b60431d0064969f9679411264b82e40a217ae6bd34e17096d92cc4e47556a5", + "strip_prefix": "grpc-swift-1.16.0/", + "build_file": "@@rules_swift+//third_party:com_github_grpc_grpc_swift/BUILD.overlay" } }, - "com_github_apple_swift_atomics": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "com_github_apple_swift_nio": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { "urls": [ - "https://github.com/apple/swift-atomics/archive/1.1.0.tar.gz" + "https://github.com/apple/swift-nio/archive/2.42.0.tar.gz" ], - "sha256": "1bee7f469f7e8dc49f11cfa4da07182fbc79eab000ec2c17bfdce468c5d276fb", - "strip_prefix": "swift-atomics-1.1.0/", - "build_file": "@@rules_swift~//third_party:com_github_apple_swift_atomics/BUILD.overlay" + "sha256": "e3304bc3fb53aea74a3e54bd005ede11f6dc357117d9b1db642d03aea87194a0", + "strip_prefix": "swift-nio-2.42.0/", + "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio/BUILD.overlay" } }, "com_github_apple_swift_nio_http2": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { "urls": [ "https://github.com/apple/swift-nio-http2/archive/1.26.0.tar.gz" ], "sha256": "f0edfc9d6a7be1d587e5b403f2d04264bdfae59aac1d74f7d974a9022c6d2b25", "strip_prefix": "swift-nio-http2-1.26.0/", - "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio_http2/BUILD.overlay" + "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_http2/BUILD.overlay" } }, "com_github_apple_swift_nio_transport_services": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { "urls": [ "https://github.com/apple/swift-nio-transport-services/archive/1.15.0.tar.gz" ], "sha256": "f3498dafa633751a52b9b7f741f7ac30c42bcbeb3b9edca6d447e0da8e693262", "strip_prefix": "swift-nio-transport-services-1.15.0/", - "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio_transport_services/BUILD.overlay" + "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_transport_services/BUILD.overlay" } }, - "build_bazel_rules_swift_index_import": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "com_github_apple_swift_nio_extras": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { - "build_file": "@@rules_swift~//third_party:build_bazel_rules_swift_index_import/BUILD.overlay", - "canonical_id": "index-import-5.8", "urls": [ - "https://github.com/MobileNativeFoundation/index-import/releases/download/5.8.0.1/index-import.tar.gz" + "https://github.com/apple/swift-nio-extras/archive/1.4.0.tar.gz" ], - "sha256": "28c1ffa39d99e74ed70623899b207b41f79214c498c603915aef55972a851a15" + "sha256": "4684b52951d9d9937bb3e8ccd6b5daedd777021ef2519ea2f18c4c922843b52b", + "strip_prefix": "swift-nio-extras-1.4.0/", + "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_extras/BUILD.overlay" } }, - "com_github_apple_swift_nio": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "com_github_apple_swift_log": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { "urls": [ - "https://github.com/apple/swift-nio/archive/2.42.0.tar.gz" + "https://github.com/apple/swift-log/archive/1.4.4.tar.gz" ], - "sha256": "e3304bc3fb53aea74a3e54bd005ede11f6dc357117d9b1db642d03aea87194a0", - "strip_prefix": "swift-nio-2.42.0/", - "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio/BUILD.overlay" + "sha256": "48fe66426c784c0c20031f15dc17faf9f4c9037c192bfac2f643f65cb2321ba0", + "strip_prefix": "swift-log-1.4.4/", + "build_file": "@@rules_swift+//third_party:com_github_apple_swift_log/BUILD.overlay" } }, - "com_github_apple_swift_log": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "com_github_apple_swift_nio_ssl": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { "urls": [ - "https://github.com/apple/swift-log/archive/1.4.4.tar.gz" + "https://github.com/apple/swift-nio-ssl/archive/2.23.0.tar.gz" ], - "sha256": "48fe66426c784c0c20031f15dc17faf9f4c9037c192bfac2f643f65cb2321ba0", - "strip_prefix": "swift-log-1.4.4/", - "build_file": "@@rules_swift~//third_party:com_github_apple_swift_log/BUILD.overlay" + "sha256": "4787c63f61dd04d99e498adc3d1a628193387e41efddf8de19b8db04544d016d", + "strip_prefix": "swift-nio-ssl-2.23.0/", + "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_ssl/BUILD.overlay" } }, "com_github_apple_swift_collections": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { "urls": [ "https://github.com/apple/swift-collections/archive/1.0.4.tar.gz" ], "sha256": "d9e4c8a91c60fb9c92a04caccbb10ded42f4cb47b26a212bc6b39cc390a4b096", "strip_prefix": "swift-collections-1.0.4/", - "build_file": "@@rules_swift~//third_party:com_github_apple_swift_collections/BUILD.overlay" + "build_file": "@@rules_swift+//third_party:com_github_apple_swift_collections/BUILD.overlay" + } + }, + "com_github_apple_swift_atomics": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "urls": [ + "https://github.com/apple/swift-atomics/archive/1.1.0.tar.gz" + ], + "sha256": "1bee7f469f7e8dc49f11cfa4da07182fbc79eab000ec2c17bfdce468c5d276fb", + "strip_prefix": "swift-atomics-1.1.0/", + "build_file": "@@rules_swift+//third_party:com_github_apple_swift_atomics/BUILD.overlay" + } + }, + "build_bazel_rules_swift_index_import": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "build_file": "@@rules_swift+//third_party:build_bazel_rules_swift_index_import/BUILD.overlay", + "canonical_id": "index-import-5.8", + "urls": [ + "https://github.com/MobileNativeFoundation/index-import/releases/download/5.8.0.1/index-import.tar.gz" + ], + "sha256": "28c1ffa39d99e74ed70623899b207b41f79214c498c603915aef55972a851a15" } }, "build_bazel_rules_swift_local_config": { - "bzlFile": "@@rules_swift~//swift/internal:swift_autoconfiguration.bzl", - "ruleClassName": "swift_autoconfiguration", + "repoRuleId": "@@rules_swift+//swift/internal:swift_autoconfiguration.bzl%swift_autoconfiguration", "attributes": {} } }, "recordedRepoMappingEntries": [ [ - "rules_swift~", + "rules_swift+", "bazel_tools", "bazel_tools" ], [ - "rules_swift~", + "rules_swift+", "build_bazel_rules_swift", - "rules_swift~" + "rules_swift+" ] ] } diff --git a/Sources/SignHereLibrary/Commands/CreateProvisioningProfileCommand.swift b/Sources/SignHereLibrary/Commands/CreateProvisioningProfileCommand.swift index 5552bf5..38800ad 100644 --- a/Sources/SignHereLibrary/Commands/CreateProvisioningProfileCommand.swift +++ b/Sources/SignHereLibrary/Commands/CreateProvisioningProfileCommand.swift @@ -306,7 +306,8 @@ internal struct CreateProvisioningProfileCommand: ParsableCommand { let jsonWebToken: String = try jsonWebTokenService.createToken( keyIdentifier: keyIdentifier, issuerID: issuerID, - secretKey: try files.read(Path(itunesConnectKeyPath)) + secretKey: try files.read(Path(itunesConnectKeyPath)), + enterprise: enterprise ) let deviceIDs: Set = try iTunesConnectService.fetchITCDeviceIDs(jsonWebToken: jsonWebToken) guard let profileName, let profile = try? fetchProvisioningProfile(jsonWebToken: jsonWebToken, name: profileName) diff --git a/Sources/SignHereLibrary/Commands/DeleteProvisioningProfileCommand.swift b/Sources/SignHereLibrary/Commands/DeleteProvisioningProfileCommand.swift index da4b29b..f68bf48 100644 --- a/Sources/SignHereLibrary/Commands/DeleteProvisioningProfileCommand.swift +++ b/Sources/SignHereLibrary/Commands/DeleteProvisioningProfileCommand.swift @@ -97,7 +97,8 @@ internal struct DeleteProvisioningProfileCommand: ParsableCommand { let jsonWebToken: String = try jsonWebTokenService.createToken( keyIdentifier: keyIdentifier, issuerID: issuerID, - secretKey: try files.read(Path(itunesConnectKeyPath)) + secretKey: try files.read(Path(itunesConnectKeyPath)), + enterprise: enterprise ) try iTunesConnectService.deleteProvisioningProfile( jsonWebToken: jsonWebToken, diff --git a/Sources/SignHereLibrary/Services/JSONWebTokenService.swift b/Sources/SignHereLibrary/Services/JSONWebTokenService.swift index bfcf7a4..9c4d4e9 100644 --- a/Sources/SignHereLibrary/Services/JSONWebTokenService.swift +++ b/Sources/SignHereLibrary/Services/JSONWebTokenService.swift @@ -16,7 +16,8 @@ internal protocol JSONWebTokenService { func createToken( keyIdentifier: String, issuerID: String, - secretKey: Data + secretKey: Data, + enterprise: Bool ) throws -> String } @@ -44,7 +45,8 @@ internal class JSONWebTokenServiceImp: JSONWebTokenService { func createToken( keyIdentifier: String, issuerID: String, - secretKey: Data + secretKey: Data, + enterprise: Bool ) throws -> String { let header: JSONWebTokenHeader = .init( alg: "ES256", @@ -57,7 +59,7 @@ internal class JSONWebTokenServiceImp: JSONWebTokenService { iss: issuerID, iat: currentTime.timeIntervalSince1970, exp: expirationTime.timeIntervalSince1970, - aud: "appstoreconnect-v1" + aud: enterprise ? "apple-developer-enterprise-v1" : "appstoreconnect-v1" ) let jsonEncoder: JSONEncoder = .init() var components: [String] = [ diff --git a/WORKSPACE b/WORKSPACE index c7cfddc..fdda7f7 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -1,11 +1,9 @@ -workspace(name = "com_github_tinder_sign_here") - load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "build_bazel_rules_apple", - sha256 = "9c4f1e1ec4fdfeac5bddb07fa0e872c398e3d8eb0ac596af9c463f9123ace292", - url = "https://github.com/bazelbuild/rules_apple/releases/download/3.2.1/rules_apple.3.2.1.tar.gz", + sha256 = "352428421c89dba8859055c3e1ba42f742c224544bf0e196c926d1cf44a2d726", + url = "https://github.com/bazelbuild/rules_apple/releases/download/3.16.1/rules_apple.3.16.1.tar.gz", ) load( From 34bbaa84955d9338bbc1d09abdc11884a25288d9 Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Tue, 14 Jan 2025 17:14:23 -0500 Subject: [PATCH 5/9] more updates --- MODULE.bazel | 3 ++- Tests/SignHereLibraryTests/JSONWebTokenServiceTests.swift | 3 ++- WORKSPACE | 6 ++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 6cb03f8..4889030 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -1,6 +1,7 @@ module(name = "sign-here") -bazel_dep(name = "rules_apple", version = "3.16.1", repo_name = "build_bazel_rules_apple") +bazel_dep(name = "rules_apple", version = "3.5.0", repo_name = "build_bazel_rules_apple") +bazel_dep(name = "rules_swift", version = "1.18.0", repo_name = "build_bazel_rules_swift", max_compatibility_level = 2) bazel_dep(name = "swift-syntax", version = "509.0.2", repo_name = "SwiftSyntax") bazel_dep(name = "swift_argument_parser", version = "1.3.0", repo_name = "com_github_apple_swift_argument_parser") diff --git a/Tests/SignHereLibraryTests/JSONWebTokenServiceTests.swift b/Tests/SignHereLibraryTests/JSONWebTokenServiceTests.swift index 7d162d8..7691a55 100644 --- a/Tests/SignHereLibraryTests/JSONWebTokenServiceTests.swift +++ b/Tests/SignHereLibraryTests/JSONWebTokenServiceTests.swift @@ -46,7 +46,8 @@ final class JSONWebTokenServiceTests: XCTestCase { YftL55PhJATjQMDh+Yyx/FCESEM+bUeBoo/4tIggtTESWxJWvIYOwVXylhBukYc1 Pr+l6ipm -----END PRIVATE KEY----- - """.utf8) + """.utf8), + enterprise: false ) ) } diff --git a/WORKSPACE b/WORKSPACE index fdda7f7..c7cfddc 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -1,9 +1,11 @@ +workspace(name = "com_github_tinder_sign_here") + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "build_bazel_rules_apple", - sha256 = "352428421c89dba8859055c3e1ba42f742c224544bf0e196c926d1cf44a2d726", - url = "https://github.com/bazelbuild/rules_apple/releases/download/3.16.1/rules_apple.3.16.1.tar.gz", + sha256 = "9c4f1e1ec4fdfeac5bddb07fa0e872c398e3d8eb0ac596af9c463f9123ace292", + url = "https://github.com/bazelbuild/rules_apple/releases/download/3.2.1/rules_apple.3.2.1.tar.gz", ) load( From 2539c7275c833780ec2abf972f16c70afeea6d2e Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Tue, 14 Jan 2025 17:18:05 -0500 Subject: [PATCH 6/9] set bazelversion --- .bazelversion | 1 + 1 file changed, 1 insertion(+) create mode 100644 .bazelversion diff --git a/.bazelversion b/.bazelversion new file mode 100644 index 0000000..643916c --- /dev/null +++ b/.bazelversion @@ -0,0 +1 @@ +7.3.1 From f8f3e99c18e87c0f9cbea0573f4b8246c43e13b4 Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Tue, 14 Jan 2025 21:20:48 -0500 Subject: [PATCH 7/9] more updates --- MODULE.bazel | 1 - MODULE.bazel.lock | 389 ++++++++---------- Sources/SignHereLibrary/BUILD | 1 - .../Services/JSONWebTokenService.swift | 16 +- repositories.bzl | 28 -- 5 files changed, 171 insertions(+), 264 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 4889030..b6867ad 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -8,6 +8,5 @@ bazel_dep(name = "swift_argument_parser", version = "1.3.0", repo_name = "com_gi non_module_dependencies = use_extension("//:extensions.bzl", "non_module_dependencies") use_repo( non_module_dependencies, - "com_github_kitura_blueecc", "com_github_kylef_pathkit", ) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 0accceb..21eaf41 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1,200 +1,104 @@ { - "lockFileVersion": 16, + "lockFileVersion": 11, "registryFileHashes": { "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/MODULE.bazel": "70390338f7a5106231d20620712f7cccb659cd0e9d073d1991c038eb9fc57589", - "https://bcr.bazel.build/modules/abseil-cpp/20230125.1/MODULE.bazel": "89047429cb0207707b2dface14ba7f8df85273d484c2572755be4bab7ce9c3a0", - "https://bcr.bazel.build/modules/abseil-cpp/20230802.0.bcr.1/MODULE.bazel": "1c8cec495288dccd14fdae6e3f95f772c1c91857047a098fad772034264cc8cb", - "https://bcr.bazel.build/modules/abseil-cpp/20230802.0/MODULE.bazel": "d253ae36a8bd9ee3c5955384096ccb6baf16a1b1e93e858370da0a3b94f77c16", - "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", - "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", - "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", + "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/source.json": "7e3a9adf473e9af076ae485ed649d5641ad50ec5c11718103f34de03170d94ad", "https://bcr.bazel.build/modules/apple_support/1.11.1/MODULE.bazel": "1843d7cd8a58369a444fc6000e7304425fba600ff641592161d9f15b179fb896", "https://bcr.bazel.build/modules/apple_support/1.15.1/MODULE.bazel": "a0556fefca0b1bb2de8567b8827518f94db6a6e7e7d632b4c48dc5f865bc7c85", "https://bcr.bazel.build/modules/apple_support/1.15.1/source.json": "517f2b77430084c541bc9be2db63fdcbb7102938c5f64c17ee60ffda2e5cf07b", "https://bcr.bazel.build/modules/apple_support/1.3.2/MODULE.bazel": "413d6cb36ed01ac4b4a4d945d43408901dfce22098af0e307f57806fcdd2b4f3", - "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", + "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel": "50341a62efbc483e8a2a6aec30994a58749bd7b885e18dd96aa8c33031e558ef", "https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8", - "https://bcr.bazel.build/modules/bazel_features/1.15.0/MODULE.bazel": "d38ff6e517149dc509406aca0db3ad1efdd890a85e049585b7234d04238e2a4d", - "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d", - "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", - "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", - "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", - "https://bcr.bazel.build/modules/bazel_features/1.21.0/source.json": "3e8379efaaef53ce35b7b8ba419df829315a880cb0a030e5bb45c96d6d5ecb5f", + "https://bcr.bazel.build/modules/bazel_features/1.11.0/source.json": "c9320aa53cd1c441d24bd6b716da087ad7e4ff0d9742a9884587596edfe53015", "https://bcr.bazel.build/modules/bazel_features/1.3.0/MODULE.bazel": "cdcafe83ec318cda34e02948e81d790aab8df7a929cec6f6969f13a489ccecd9", - "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", - "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", "https://bcr.bazel.build/modules/bazel_skylib/1.1.1/MODULE.bazel": "1add3e7d93ff2e6998f9e118022c84d163917d912f5afafb3058e3d2f1545b5e", - "https://bcr.bazel.build/modules/bazel_skylib/1.2.0/MODULE.bazel": "44fe84260e454ed94ad326352a698422dbe372b21a1ac9f3eab76eb531223686", "https://bcr.bazel.build/modules/bazel_skylib/1.2.1/MODULE.bazel": "f35baf9da0efe45fa3da1696ae906eea3d615ad41e2e3def4aeb4e8bc0ef9a7a", "https://bcr.bazel.build/modules/bazel_skylib/1.3.0/MODULE.bazel": "20228b92868bf5cfc41bda7afc8a8ba2a543201851de39d990ec957b513579c5", - "https://bcr.bazel.build/modules/bazel_skylib/1.4.1/MODULE.bazel": "a0dcb779424be33100dcae821e9e27e4f2901d9dfd5333efe5ac6a8d7ab75e1d", - "https://bcr.bazel.build/modules/bazel_skylib/1.4.2/MODULE.bazel": "3bd40978e7a1fac911d5989e6b09d8f64921865a45822d8b09e815eaa726a651", - "https://bcr.bazel.build/modules/bazel_skylib/1.5.0/MODULE.bazel": "32880f5e2945ce6a03d1fbd588e9198c0a959bb42297b2cfaf1685b7bc32e138", "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", - "https://bcr.bazel.build/modules/bazel_skylib/1.7.0/MODULE.bazel": "0db596f4563de7938de764cc8deeabec291f55e8ec15299718b93c4423e9796d", - "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", - "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/source.json": "f121b43eeefc7c29efbd51b83d08631e2347297c95aac9764a701f2a6a2bb953", + "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/source.json": "082ed5f9837901fada8c68c2f3ddc958bb22b6d654f71dd73f3df30d45d4b749", "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", "https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8", - "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", - "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", - "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/source.json": "41e9e129f80d8c8bf103a7acc337b76e54fad1214ac0a7084bf24f4cd924b8b4", - "https://bcr.bazel.build/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", - "https://bcr.bazel.build/modules/jsoncpp/1.9.5/MODULE.bazel": "31271aedc59e815656f5736f282bb7509a97c7ecb43e927ac1a37966e0578075", - "https://bcr.bazel.build/modules/jsoncpp/1.9.5/source.json": "4108ee5085dd2885a341c7fab149429db457b3169b86eb081fa245eadf69169d", - "https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902", + "https://bcr.bazel.build/modules/googletest/1.11.0/source.json": "c73d9ef4268c91bd0c1cd88f1f9dfa08e814b1dbe89b5f594a9f08ba0244d206", "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/MODULE.bazel": "6f7b417dcc794d9add9e556673ad25cb3ba835224290f4f848f8e2db1e1fca74", "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/source.json": "f448c6e8963fdfa7eb831457df83ad63d3d6355018f6574fb017e8169deb43a9", - "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", - "https://bcr.bazel.build/modules/platforms/0.0.10/source.json": "f22828ff4cf021a6b577f1bf6341cb9dcd7965092a439f64fc1bb3b7a5ae4bd5", "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", - "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", "https://bcr.bazel.build/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", + "https://bcr.bazel.build/modules/platforms/0.0.9/source.json": "cd74d854bf16a9e002fb2ca7b1a421f4403cda29f824a765acd3a8c56f8d43e6", "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", - "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", - "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d", - "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", - "https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e", - "https://bcr.bazel.build/modules/protobuf/29.0/source.json": "b857f93c796750eef95f0d61ee378f3420d00ee1dd38627b27193aa482f4f981", + "https://bcr.bazel.build/modules/protobuf/21.7/source.json": "bbe500720421e582ff2d18b0802464205138c06056f443184de39fbb8187b09b", "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", "https://bcr.bazel.build/modules/protobuf/3.19.2/MODULE.bazel": "532ffe5f2186b69fdde039efe6df13ba726ff338c6bc82275ad433013fa10573", - "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e", - "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/source.json": "be4789e951dd5301282729fe3d4938995dc4c1a81c2ff150afc9f1b0504c6022", - "https://bcr.bazel.build/modules/re2/2023-09-01/MODULE.bazel": "cb3d511531b16cfc78a225a9e2136007a48cf8a677e4264baeab57fe78a80206", - "https://bcr.bazel.build/modules/re2/2023-09-01/source.json": "e044ce89c2883cd957a2969a43e79f7752f9656f6b20050b62f90ede21ec6eb4", - "https://bcr.bazel.build/modules/rules_android/0.1.1/MODULE.bazel": "48809ab0091b07ad0182defb787c4c5328bd3a278938415c00a7b69b50c4d3a8", - "https://bcr.bazel.build/modules/rules_android/0.1.1/source.json": "e6986b41626ee10bdc864937ffb6d6bf275bb5b9c65120e6137d56e6331f089e", + "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858", "https://bcr.bazel.build/modules/rules_apple/3.5.0/MODULE.bazel": "378d9849028593b14745f2b8f57ba75951423233370ad1c7b8b927a15a7299ea", "https://bcr.bazel.build/modules/rules_apple/3.5.0/source.json": "828a67917a517c32316ab9168b2e9035a2b7499f18cbae553aaa3f9b9e0e160e", "https://bcr.bazel.build/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647", - "https://bcr.bazel.build/modules/rules_cc/0.0.10/MODULE.bazel": "ec1705118f7eaedd6e118508d3d26deba2a4e76476ada7e0e3965211be012002", - "https://bcr.bazel.build/modules/rules_cc/0.0.13/MODULE.bazel": "0e8529ed7b323dad0775ff924d2ae5af7640b23553dfcd4d34344c7e7a867191", - "https://bcr.bazel.build/modules/rules_cc/0.0.14/MODULE.bazel": "5e343a3aac88b8d7af3b1b6d2093b55c347b8eefc2e7d1442f7a02dc8fea48ac", - "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", - "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", - "https://bcr.bazel.build/modules/rules_cc/0.0.16/source.json": "227e83737046aa4f50015da48e98e0d8ab42fd0ec74d8d653b6cc9f9a357f200", "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", - "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", - "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", - "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8", - "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/source.json": "c8b1e2c717646f1702290959a3302a178fb639d987ab61d548105019f11e527e", + "https://bcr.bazel.build/modules/rules_cc/0.0.9/source.json": "1f1ba6fea244b616de4a554a0f4983c91a9301640c8fe0dd1d410254115c8430", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", - "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", - "https://bcr.bazel.build/modules/rules_java/6.0.0/MODULE.bazel": "8a43b7df601a7ec1af61d79345c17b31ea1fedc6711fd4abfd013ea612978e39", - "https://bcr.bazel.build/modules/rules_java/6.4.0/MODULE.bazel": "e986a9fe25aeaa84ac17ca093ef13a4637f6107375f64667a15999f77db6c8f6", - "https://bcr.bazel.build/modules/rules_java/6.5.2/MODULE.bazel": "1d440d262d0e08453fa0c4d8f699ba81609ed0e9a9a0f02cd10b3e7942e61e31", - "https://bcr.bazel.build/modules/rules_java/7.10.0/MODULE.bazel": "530c3beb3067e870561739f1144329a21c851ff771cd752a49e06e3dc9c2e71a", - "https://bcr.bazel.build/modules/rules_java/7.12.2/MODULE.bazel": "579c505165ee757a4280ef83cda0150eea193eed3bef50b1004ba88b99da6de6", - "https://bcr.bazel.build/modules/rules_java/7.2.0/MODULE.bazel": "06c0334c9be61e6cef2c8c84a7800cef502063269a5af25ceb100b192453d4ab", - "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2", - "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", - "https://bcr.bazel.build/modules/rules_java/8.6.1/MODULE.bazel": "f4808e2ab5b0197f094cabce9f4b006a27766beb6a9975931da07099560ca9c2", - "https://bcr.bazel.build/modules/rules_java/8.6.1/source.json": "f18d9ad3c4c54945bf422ad584fa6c5ca5b3116ff55a5b1bc77e5c1210be5960", + "https://bcr.bazel.build/modules/rules_java/7.6.5/MODULE.bazel": "481164be5e02e4cab6e77a36927683263be56b7e36fef918b458d7a8a1ebadb1", + "https://bcr.bazel.build/modules/rules_java/7.6.5/source.json": "a805b889531d1690e3c72a7a7e47a870d00323186a9904b36af83aa3d053ee8d", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", - "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", - "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", - "https://bcr.bazel.build/modules/rules_jvm_external/5.3/MODULE.bazel": "bf93870767689637164657731849fb887ad086739bd5d360d90007a581d5527d", - "https://bcr.bazel.build/modules/rules_jvm_external/6.1/MODULE.bazel": "75b5fec090dbd46cf9b7d8ea08cf84a0472d92ba3585b476f44c326eda8059c4", - "https://bcr.bazel.build/modules/rules_jvm_external/6.3/MODULE.bazel": "c998e060b85f71e00de5ec552019347c8bca255062c990ac02d051bb80a38df0", - "https://bcr.bazel.build/modules/rules_jvm_external/6.3/source.json": "6f5f5a5a4419ae4e37c35a5bb0a6ae657ed40b7abc5a5189111b47fcebe43197", - "https://bcr.bazel.build/modules/rules_kotlin/1.9.0/MODULE.bazel": "ef85697305025e5a61f395d4eaede272a5393cee479ace6686dba707de804d59", - "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/MODULE.bazel": "d269a01a18ee74d0335450b10f62c9ed81f2321d7958a2934e44272fe82dcef3", - "https://bcr.bazel.build/modules/rules_kotlin/1.9.6/source.json": "2faa4794364282db7c06600b7e5e34867a564ae91bda7cae7c29c64e9466b7d5", + "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/source.json": "a075731e1b46bc8425098512d038d416e966ab19684a10a34f4741295642fc35", "https://bcr.bazel.build/modules/rules_license/0.0.3/MODULE.bazel": "627e9ab0247f7d1e05736b59dbb1b6871373de5ad31c3011880b4133cafd4bd0", "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", - "https://bcr.bazel.build/modules/rules_license/1.0.0/MODULE.bazel": "a7fda60eefdf3d8c827262ba499957e4df06f659330bbe6cdbdb975b768bb65c", - "https://bcr.bazel.build/modules/rules_license/1.0.0/source.json": "a52c89e54cc311196e478f8382df91c15f7a2bfdf4c6cd0e2675cc2ff0b56efb", + "https://bcr.bazel.build/modules/rules_license/0.0.7/source.json": "355cc5737a0f294e560d52b1b7a6492d4fff2caf0bef1a315df5a298fca2d34a", "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", - "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", - "https://bcr.bazel.build/modules/rules_pkg/1.0.1/source.json": "bd82e5d7b9ce2d31e380dd9f50c111d678c3bdaca190cb76b0e1c71b05e1ba8a", + "https://bcr.bazel.build/modules/rules_pkg/0.7.0/source.json": "c2557066e0c0342223ba592510ad3d812d4963b9024831f7f66fd0584dd8c66c", "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", - "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73", - "https://bcr.bazel.build/modules/rules_proto/7.0.2/MODULE.bazel": "bf81793bd6d2ad89a37a40693e56c61b0ee30f7a7fdbaf3eabbf5f39de47dea2", - "https://bcr.bazel.build/modules/rules_proto/7.0.2/source.json": "1e5e7260ae32ef4f2b52fd1d0de8d03b606a44c91b694d2f1afb1d3b28a48ce1", + "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/source.json": "d57902c052424dfda0e71646cb12668d39c4620ee0544294d9d941e7d12bc3a9", "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f", - "https://bcr.bazel.build/modules/rules_python/0.23.1/MODULE.bazel": "49ffccf0511cb8414de28321f5fcf2a31312b47c40cc21577144b7447f2bf300", - "https://bcr.bazel.build/modules/rules_python/0.25.0/MODULE.bazel": "72f1506841c920a1afec76975b35312410eea3aa7b63267436bfb1dd91d2d382", - "https://bcr.bazel.build/modules/rules_python/0.28.0/MODULE.bazel": "cba2573d870babc976664a912539b320cbaa7114cd3e8f053c720171cde331ed", - "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58", + "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel": "26114f0c0b5e93018c0c066d6673f1a2c3737c7e90af95eff30cfee38d0bbac7", + "https://bcr.bazel.build/modules/rules_python/0.22.1/source.json": "57226905e783bae7c37c2dd662be078728e48fa28ee4324a7eabcafb5a43d014", "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", - "https://bcr.bazel.build/modules/rules_python/0.40.0/MODULE.bazel": "9d1a3cd88ed7d8e39583d9ffe56ae8a244f67783ae89b60caafc9f5cf318ada7", - "https://bcr.bazel.build/modules/rules_python/0.40.0/source.json": "939d4bd2e3110f27bfb360292986bb79fd8dcefb874358ccd6cdaa7bda029320", - "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", - "https://bcr.bazel.build/modules/rules_shell/0.2.0/source.json": "7f27af3c28037d9701487c4744b5448d26537cc66cdef0d8df7ae85411f8de95", "https://bcr.bazel.build/modules/rules_swift/1.16.0/MODULE.bazel": "4a09f199545a60d09895e8281362b1ff3bb08bbde69c6fc87aff5b92fcc916ca", "https://bcr.bazel.build/modules/rules_swift/1.18.0/MODULE.bazel": "a6aba73625d0dc64c7b4a1e831549b6e375fbddb9d2dde9d80c9de6ec45b24c9", "https://bcr.bazel.build/modules/rules_swift/1.18.0/source.json": "9e636cabd446f43444ea2662341a9cbb74ecd87ab0557225ae73f1127cb7ff52", "https://bcr.bazel.build/modules/rules_swift/1.5.1/MODULE.bazel": "c23e8512b8adea137c8c5f8a8542673420d444de58daf3c223b6c3ffd0af6acd", "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", - "https://bcr.bazel.build/modules/stardoc/0.5.3/MODULE.bazel": "c7f6948dae6999bf0db32c1858ae345f112cacf98f174c7a8bb707e41b974f1c", - "https://bcr.bazel.build/modules/stardoc/0.5.6/MODULE.bazel": "c43dabc564990eeab55e25ed61c07a1aadafe9ece96a4efabb3f8bf9063b71ef", - "https://bcr.bazel.build/modules/stardoc/0.7.0/MODULE.bazel": "05e3d6d30c099b6770e97da986c53bd31844d7f13d41412480ea265ac9e8079c", - "https://bcr.bazel.build/modules/stardoc/0.7.1/MODULE.bazel": "3548faea4ee5dda5580f9af150e79d0f6aea934fc60c1cc50f4efdd9420759e7", - "https://bcr.bazel.build/modules/stardoc/0.7.1/source.json": "b6500ffcd7b48cd72c29bb67bcac781e12701cc0d6d55d266a652583cfcdab01", + "https://bcr.bazel.build/modules/stardoc/0.5.1/source.json": "a96f95e02123320aa015b956f29c00cb818fa891ef823d55148e1a362caacf29", "https://bcr.bazel.build/modules/swift-syntax/509.0.2/MODULE.bazel": "a18f494df26fb0459554e0049e892636ce5fef6a4a9866a5f5b172b3efd3e5db", "https://bcr.bazel.build/modules/swift-syntax/509.0.2/source.json": "fb7dcb8289f82cd36692a62b255f141f0d1291e8a0add340ab8a300e87f3ae88", "https://bcr.bazel.build/modules/swift_argument_parser/1.3.0/MODULE.bazel": "e1ac09691e2f2549ee98a31e88a907d2ae2755f427fe59b58ca1eb99182800c8", "https://bcr.bazel.build/modules/swift_argument_parser/1.3.0/source.json": "f28b61c0593d24c490079d510275a1f9752cbe125bbe9c9b35c58bade7d8423c", "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", + "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/source.json": "f1ef7d3f9e0e26d4b23d1c39b5f5de71f584dd7d1b4ef83d9bbba6ec7a6a6459", "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/MODULE.bazel": "af322bc08976524477c79d1e45e241b6efbeb918c497e8840b8ab116802dda79", - "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d", - "https://bcr.bazel.build/modules/zlib/1.3.1/MODULE.bazel": "751c9940dcfe869f5f7274e1295422a34623555916eb98c174c1e945594bf198" + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d" }, "selectedYankedVersions": {}, "moduleExtensions": { "//:extensions.bzl%non_module_dependencies": { "general": { - "bzlTransitiveDigest": "81FHSt17eRJmE+JDUpvN5NNERd1qWMTPZyte2SPSvGU=", - "usagesDigest": "ySuj/WUX705NnPBivhR7BGHcD8dBT/wpo54Vlrp+1dY=", + "bzlTransitiveDigest": "h6nhCjtUdZ/+HIQIkpCjYMHCYFvXEZbTYGfP+UtTUJ4=", + "usagesDigest": "XqzSM9q1vmswfgQVn5N/9KpalAi6+wHUQmSugXe9GO8=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, "generatedRepoSpecs": { - "com_github_kylef_pathkit": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "urls": [ - "https://github.com/kylef/PathKit/archive/2fcd4618d52869b342e208324d455131a48f9e9b.zip" - ], - "sha256": "837749e86a882d7486853c39d745fb21ffcf4e2e303d307bce2f25c3f756e194", - "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_library\")\n\nswift_library(\n name = \"PathKit\",\n module_name = \"PathKit\",\n srcs = glob([\n \"Sources/**/*.swift\"\n ], allow_empty = False),\n copts = [\n \"-suppress-warnings\",\n ],\n features = [\n \"-swift.treat_warnings_as_errors\",\n ],\n visibility = [\"//visibility:public\"],\n)\n ", - "strip_prefix": "PathKit-2fcd4618d52869b342e208324d455131a48f9e9b" - } - }, - "com_github_kitura_blueecc": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "url": "https://github.com/Kitura/BlueECC/archive/b0983b04bcf3a571404392e4fee461cf3f17548b.zip", - "strip_prefix": "BlueECC-b0983b04bcf3a571404392e4fee461cf3f17548b", - "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_library\")\n\nswift_library(\n name = \"BlueECC\",\n srcs = glob([\n \"Sources/CryptorECC/**/*.swift\",\n ]),\n copts = [\n \"-suppress-warnings\",\n ],\n features = [\n \"-swift.treat_warnings_as_errors\",\n ],\n module_name = \"CryptorECC\",\n visibility = [\n \"//visibility:public\",\n ],\n)\n ", - "sha256": "c708192350913e9fa9a412bde60dcf9cc2e90b58573c4f6af1298dd27e31c642" - } - }, - "mockolo": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "SwiftSyntax": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { - "integrity": "sha256-12D/tUZKP87bS2NyfmdJP/pFg/JmsdFv1xsr0BvKUGs=", - "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_binary\", \"swift_library\")\n\nswift_library(\n name = \"MockoloFramework\",\n srcs = glob(\n [\n \"Sources/MockoloFramework/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\"-suppress-warnings\"],\n module_name = \"MockoloFramework\",\n deps = [\n \"@SwiftToolsSupportCore//:TSCUtility\",\n \"@com_github_apple_swift_argument_parser//:ArgumentParser\",\n \"@SwiftSyntax//:SwiftParser_opt\",\n \"@SwiftSyntax//:SwiftSyntax_opt\",\n ],\n)\n\nswift_library(\n name = \"Mockolo\",\n srcs = glob(\n [\n \"Sources/Mockolo/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"Mockolo\",\n deps = [\n \":MockoloFramework\",\n ],\n)\n\nswift_binary(\n name = \"mockolo\",\n visibility = [\"//visibility:public\"],\n deps = [\n \":Mockolo\",\n ],\n)\n ", - "strip_prefix": "mockolo-519439fb550dc23e622897de0080ce8ba68ddd78", - "urls": [ - "https://github.com/uber/mockolo/archive/519439fb550dc23e622897de0080ce8ba68ddd78.zip" - ] + "sha256": "1cddda9f7d249612e3d75d4caa8fd9534c0621b8a890a7d7524a4689bce644f1", + "strip_prefix": "swift-syntax-509.0.0", + "url": "https://github.com/apple/swift-syntax/archive/refs/tags/509.0.0.tar.gz" } }, "SwiftToolsSupportCore": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_library\")\n\nobjc_library(\n name = \"TSCclibc\",\n srcs = glob(\n [\n \"Sources/TSCclibc/*.c\",\n ],\n allow_empty = False,\n ),\n hdrs = [\n \"Sources/TSCclibc/include/TSCclibc.h\",\n \"Sources/TSCclibc/include/indexstore_functions.h\",\n \"Sources/TSCclibc/include/process.h\",\n ],\n copts = [\n \"-w\",\n ],\n module_name = \"TSCclibc\",\n)\n\nswift_library(\n name = \"TSCLibc\",\n srcs = glob(\n [\n \"Sources/TSCLibc/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"TSCLibc\",\n deps = [\n \":TSCclibc\",\n ],\n)\n\nswift_library(\n name = \"TSCBasic\",\n srcs = glob(\n [\n \"Sources/TSCBasic/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"TSCBasic\",\n visibility = [\"//visibility:public\"],\n deps = [\n \":TSCLibc\",\n \"@com_github_apple_swift_system//:SystemPackage\",\n ],\n)\n\nswift_library(\n name = \"TSCUtility\",\n srcs = glob(\n [\n \"Sources/TSCUtility/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"TSCUtility\",\n visibility = [\"//visibility:public\"],\n deps = [\n \":TSCBasic\",\n ],\n)\n\n ", "sha256": "3b07acf24ad49bf72f2825a39c542396880e89ab7e840ec2eed2cdb75696a17c", @@ -202,8 +106,19 @@ "url": "https://github.com/apple/swift-tools-support-core/archive/refs/tags/0.5.2.tar.gz" } }, + "SwiftSnapshotTesting": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_library\")\n\nswift_library(\n name = \"SnapshotTesting\",\n testonly = True,\n srcs = glob(\n [\n \"Sources/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"SnapshotTesting\",\n visibility = [\"//visibility:public\"],\n)\n ", + "sha256": "fc37a90810c9ea402ab5612b4942ad1a22ae8105bbdd36cc64e0912343ad4a90", + "strip_prefix": "swift-snapshot-testing-c466812aa2e22898f27557e2e780d3aad7a27203", + "url": "https://github.com/pointfreeco/swift-snapshot-testing/archive/c466812aa2e22898f27557e2e780d3aad7a27203.zip" + } + }, "com_github_apple_swift_system": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_library\")\n\nobjc_library(\n name = \"CSystem\",\n srcs = glob(\n [\n \"Sources/CSystem/*.c\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-w\",\n ],\n module_name = \"CSystem\",\n)\n\nswift_library(\n name = \"SystemPackage\",\n srcs = glob(\n [\n \"Sources/System/**/*.swift\",\n ],\n allow_empty = False,\n ),\n defines = [\n \"SYSTEM_PACKAGE\",\n ],\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"SystemPackage\",\n visibility = [\"//visibility:public\"],\n deps = [\n \":CSystem\",\n ],\n)\n ", "sha256": "ab771be8a944893f95eed901be0a81a72ef97add6caa3d0981e61b9b903a987d", @@ -211,21 +126,28 @@ "url": "https://github.com/apple/swift-system/archive/refs/tags/1.2.1.tar.gz" } }, - "SwiftSnapshotTesting": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "com_github_kylef_pathkit": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { - "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_library\")\n\nswift_library(\n name = \"SnapshotTesting\",\n testonly = True,\n srcs = glob(\n [\n \"Sources/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"SnapshotTesting\",\n visibility = [\"//visibility:public\"],\n)\n ", - "sha256": "fc37a90810c9ea402ab5612b4942ad1a22ae8105bbdd36cc64e0912343ad4a90", - "strip_prefix": "swift-snapshot-testing-c466812aa2e22898f27557e2e780d3aad7a27203", - "url": "https://github.com/pointfreeco/swift-snapshot-testing/archive/c466812aa2e22898f27557e2e780d3aad7a27203.zip" + "urls": [ + "https://github.com/kylef/PathKit/archive/2fcd4618d52869b342e208324d455131a48f9e9b.zip" + ], + "sha256": "837749e86a882d7486853c39d745fb21ffcf4e2e303d307bce2f25c3f756e194", + "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_library\")\n\nswift_library(\n name = \"PathKit\",\n module_name = \"PathKit\",\n srcs = glob([\n \"Sources/**/*.swift\"\n ], allow_empty = False),\n copts = [\n \"-suppress-warnings\",\n ],\n features = [\n \"-swift.treat_warnings_as_errors\",\n ],\n visibility = [\"//visibility:public\"],\n)\n ", + "strip_prefix": "PathKit-2fcd4618d52869b342e208324d455131a48f9e9b" } }, - "SwiftSyntax": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "mockolo": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { - "sha256": "1cddda9f7d249612e3d75d4caa8fd9534c0621b8a890a7d7524a4689bce644f1", - "strip_prefix": "swift-syntax-509.0.0", - "url": "https://github.com/apple/swift-syntax/archive/refs/tags/509.0.0.tar.gz" + "integrity": "sha256-12D/tUZKP87bS2NyfmdJP/pFg/JmsdFv1xsr0BvKUGs=", + "build_file_content": "\nload(\"@build_bazel_rules_swift//swift:swift.bzl\", \"swift_binary\", \"swift_library\")\n\nswift_library(\n name = \"MockoloFramework\",\n srcs = glob(\n [\n \"Sources/MockoloFramework/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\"-suppress-warnings\"],\n module_name = \"MockoloFramework\",\n deps = [\n \"@SwiftToolsSupportCore//:TSCUtility\",\n \"@com_github_apple_swift_argument_parser//:ArgumentParser\",\n \"@SwiftSyntax//:SwiftParser_opt\",\n \"@SwiftSyntax//:SwiftSyntax_opt\",\n ],\n)\n\nswift_library(\n name = \"Mockolo\",\n srcs = glob(\n [\n \"Sources/Mockolo/**/*.swift\",\n ],\n allow_empty = False,\n ),\n copts = [\n \"-suppress-warnings\",\n ],\n module_name = \"Mockolo\",\n deps = [\n \":MockoloFramework\",\n ],\n)\n\nswift_binary(\n name = \"mockolo\",\n visibility = [\"//visibility:public\"],\n deps = [\n \":Mockolo\",\n ],\n)\n ", + "strip_prefix": "mockolo-519439fb550dc23e622897de0080ce8ba68ddd78", + "urls": [ + "https://github.com/uber/mockolo/archive/519439fb550dc23e622897de0080ce8ba68ddd78.zip" + ] } } }, @@ -238,188 +160,207 @@ ] } }, - "@@platforms//host:extension.bzl%host_platform": { + "@@apple_support~//crosstool:setup.bzl%apple_cc_configure_extension": { "general": { - "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", - "usagesDigest": "SeQiIN/f8/Qt9vYQk7qcXp4I4wJeEC0RnQDiaaJ4tb8=", + "bzlTransitiveDigest": "ltCGFbl/LQQZXn/LEMXfKX7pGwyqNiOCHcmiQW0tmjM=", + "usagesDigest": "vN+Lipl5mknmtcBq0V7axjxvKR9WIctS8zT6k5O3K+U=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, "generatedRepoSpecs": { - "host_platform": { - "repoRuleId": "@@platforms//host:extension.bzl%host_platform_repo", + "local_config_apple_cc": { + "bzlFile": "@@apple_support~//crosstool:setup.bzl", + "ruleClassName": "_apple_cc_autoconf", + "attributes": {} + }, + "local_config_apple_cc_toolchains": { + "bzlFile": "@@apple_support~//crosstool:setup.bzl", + "ruleClassName": "_apple_cc_autoconf_toolchains", "attributes": {} } }, - "recordedRepoMappingEntries": [] + "recordedRepoMappingEntries": [ + [ + "apple_support~", + "bazel_tools", + "bazel_tools" + ] + ] } }, - "@@rules_java+//java:rules_java_deps.bzl%compatibility_proxy": { + "@@platforms//host:extension.bzl%host_platform": { "general": { - "bzlTransitiveDigest": "84xJEZ1jnXXwo8BXMprvBm++rRt4jsTu9liBxz0ivps=", - "usagesDigest": "jTQDdLDxsS43zuRmg1faAjIEPWdLAbDAowI1pInQSoo=", + "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", + "usagesDigest": "meSzxn3DUCcYEhq4HQwExWkWtU4EjriRBQLsZN+Q0SU=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, "generatedRepoSpecs": { - "compatibility_proxy": { - "repoRuleId": "@@rules_java+//java:rules_java_deps.bzl%_compatibility_proxy_repo_rule", + "host_platform": { + "bzlFile": "@@platforms//host:extension.bzl", + "ruleClassName": "host_platform_repo", "attributes": {} } }, - "recordedRepoMappingEntries": [ - [ - "rules_java+", - "bazel_tools", - "bazel_tools" - ] - ] + "recordedRepoMappingEntries": [] } }, - "@@rules_swift+//swift:extensions.bzl%non_module_deps": { + "@@rules_swift~//swift:extensions.bzl%non_module_deps": { "general": { - "bzlTransitiveDigest": "YhFSelSlJDjDC9qddzDFQPPLa3lcdmxqVyae3oyaIfk=", - "usagesDigest": "pc6EpJlC09ldDn7Ou9pYanMDj3PfMDk48a9IaX+3r+E=", + "bzlTransitiveDigest": "Cmw0SWMEF+W7yHokTa/RRl3v7uDPKysmnNQ6hvKeA30=", + "usagesDigest": "Bxpjq7dEoQ6itfQLt8YOa+X+mqBZ+FWDDiSlD7pLoho=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, "generatedRepoSpecs": { + "com_github_grpc_grpc_swift": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "urls": [ + "https://github.com/grpc/grpc-swift/archive/1.16.0.tar.gz" + ], + "sha256": "58b60431d0064969f9679411264b82e40a217ae6bd34e17096d92cc4e47556a5", + "strip_prefix": "grpc-swift-1.16.0/", + "build_file": "@@rules_swift~//third_party:com_github_grpc_grpc_swift/BUILD.overlay" + } + }, + "com_github_apple_swift_nio_extras": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "urls": [ + "https://github.com/apple/swift-nio-extras/archive/1.4.0.tar.gz" + ], + "sha256": "4684b52951d9d9937bb3e8ccd6b5daedd777021ef2519ea2f18c4c922843b52b", + "strip_prefix": "swift-nio-extras-1.4.0/", + "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio_extras/BUILD.overlay" + } + }, "com_github_apple_swift_protobuf": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { "urls": [ "https://github.com/apple/swift-protobuf/archive/1.20.2.tar.gz" ], "sha256": "3fb50bd4d293337f202d917b6ada22f9548a0a0aed9d9a4d791e6fbd8a246ebb", "strip_prefix": "swift-protobuf-1.20.2/", - "build_file": "@@rules_swift+//third_party:com_github_apple_swift_protobuf/BUILD.overlay" + "build_file": "@@rules_swift~//third_party:com_github_apple_swift_protobuf/BUILD.overlay" } }, - "com_github_grpc_grpc_swift": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "com_github_apple_swift_nio_ssl": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { "urls": [ - "https://github.com/grpc/grpc-swift/archive/1.16.0.tar.gz" + "https://github.com/apple/swift-nio-ssl/archive/2.23.0.tar.gz" ], - "sha256": "58b60431d0064969f9679411264b82e40a217ae6bd34e17096d92cc4e47556a5", - "strip_prefix": "grpc-swift-1.16.0/", - "build_file": "@@rules_swift+//third_party:com_github_grpc_grpc_swift/BUILD.overlay" + "sha256": "4787c63f61dd04d99e498adc3d1a628193387e41efddf8de19b8db04544d016d", + "strip_prefix": "swift-nio-ssl-2.23.0/", + "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio_ssl/BUILD.overlay" } }, - "com_github_apple_swift_nio": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "com_github_apple_swift_atomics": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { "urls": [ - "https://github.com/apple/swift-nio/archive/2.42.0.tar.gz" + "https://github.com/apple/swift-atomics/archive/1.1.0.tar.gz" ], - "sha256": "e3304bc3fb53aea74a3e54bd005ede11f6dc357117d9b1db642d03aea87194a0", - "strip_prefix": "swift-nio-2.42.0/", - "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio/BUILD.overlay" + "sha256": "1bee7f469f7e8dc49f11cfa4da07182fbc79eab000ec2c17bfdce468c5d276fb", + "strip_prefix": "swift-atomics-1.1.0/", + "build_file": "@@rules_swift~//third_party:com_github_apple_swift_atomics/BUILD.overlay" } }, "com_github_apple_swift_nio_http2": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { "urls": [ "https://github.com/apple/swift-nio-http2/archive/1.26.0.tar.gz" ], "sha256": "f0edfc9d6a7be1d587e5b403f2d04264bdfae59aac1d74f7d974a9022c6d2b25", "strip_prefix": "swift-nio-http2-1.26.0/", - "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_http2/BUILD.overlay" + "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio_http2/BUILD.overlay" } }, "com_github_apple_swift_nio_transport_services": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { "urls": [ "https://github.com/apple/swift-nio-transport-services/archive/1.15.0.tar.gz" ], "sha256": "f3498dafa633751a52b9b7f741f7ac30c42bcbeb3b9edca6d447e0da8e693262", "strip_prefix": "swift-nio-transport-services-1.15.0/", - "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_transport_services/BUILD.overlay" + "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio_transport_services/BUILD.overlay" } }, - "com_github_apple_swift_nio_extras": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "build_bazel_rules_swift_index_import": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { + "build_file": "@@rules_swift~//third_party:build_bazel_rules_swift_index_import/BUILD.overlay", + "canonical_id": "index-import-5.8", "urls": [ - "https://github.com/apple/swift-nio-extras/archive/1.4.0.tar.gz" + "https://github.com/MobileNativeFoundation/index-import/releases/download/5.8.0.1/index-import.tar.gz" ], - "sha256": "4684b52951d9d9937bb3e8ccd6b5daedd777021ef2519ea2f18c4c922843b52b", - "strip_prefix": "swift-nio-extras-1.4.0/", - "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_extras/BUILD.overlay" + "sha256": "28c1ffa39d99e74ed70623899b207b41f79214c498c603915aef55972a851a15" } }, - "com_github_apple_swift_log": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "com_github_apple_swift_nio": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { "urls": [ - "https://github.com/apple/swift-log/archive/1.4.4.tar.gz" + "https://github.com/apple/swift-nio/archive/2.42.0.tar.gz" ], - "sha256": "48fe66426c784c0c20031f15dc17faf9f4c9037c192bfac2f643f65cb2321ba0", - "strip_prefix": "swift-log-1.4.4/", - "build_file": "@@rules_swift+//third_party:com_github_apple_swift_log/BUILD.overlay" + "sha256": "e3304bc3fb53aea74a3e54bd005ede11f6dc357117d9b1db642d03aea87194a0", + "strip_prefix": "swift-nio-2.42.0/", + "build_file": "@@rules_swift~//third_party:com_github_apple_swift_nio/BUILD.overlay" } }, - "com_github_apple_swift_nio_ssl": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "com_github_apple_swift_log": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { "urls": [ - "https://github.com/apple/swift-nio-ssl/archive/2.23.0.tar.gz" + "https://github.com/apple/swift-log/archive/1.4.4.tar.gz" ], - "sha256": "4787c63f61dd04d99e498adc3d1a628193387e41efddf8de19b8db04544d016d", - "strip_prefix": "swift-nio-ssl-2.23.0/", - "build_file": "@@rules_swift+//third_party:com_github_apple_swift_nio_ssl/BUILD.overlay" + "sha256": "48fe66426c784c0c20031f15dc17faf9f4c9037c192bfac2f643f65cb2321ba0", + "strip_prefix": "swift-log-1.4.4/", + "build_file": "@@rules_swift~//third_party:com_github_apple_swift_log/BUILD.overlay" } }, "com_github_apple_swift_collections": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", "attributes": { "urls": [ "https://github.com/apple/swift-collections/archive/1.0.4.tar.gz" ], "sha256": "d9e4c8a91c60fb9c92a04caccbb10ded42f4cb47b26a212bc6b39cc390a4b096", "strip_prefix": "swift-collections-1.0.4/", - "build_file": "@@rules_swift+//third_party:com_github_apple_swift_collections/BUILD.overlay" - } - }, - "com_github_apple_swift_atomics": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "urls": [ - "https://github.com/apple/swift-atomics/archive/1.1.0.tar.gz" - ], - "sha256": "1bee7f469f7e8dc49f11cfa4da07182fbc79eab000ec2c17bfdce468c5d276fb", - "strip_prefix": "swift-atomics-1.1.0/", - "build_file": "@@rules_swift+//third_party:com_github_apple_swift_atomics/BUILD.overlay" - } - }, - "build_bazel_rules_swift_index_import": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "build_file": "@@rules_swift+//third_party:build_bazel_rules_swift_index_import/BUILD.overlay", - "canonical_id": "index-import-5.8", - "urls": [ - "https://github.com/MobileNativeFoundation/index-import/releases/download/5.8.0.1/index-import.tar.gz" - ], - "sha256": "28c1ffa39d99e74ed70623899b207b41f79214c498c603915aef55972a851a15" + "build_file": "@@rules_swift~//third_party:com_github_apple_swift_collections/BUILD.overlay" } }, "build_bazel_rules_swift_local_config": { - "repoRuleId": "@@rules_swift+//swift/internal:swift_autoconfiguration.bzl%swift_autoconfiguration", + "bzlFile": "@@rules_swift~//swift/internal:swift_autoconfiguration.bzl", + "ruleClassName": "swift_autoconfiguration", "attributes": {} } }, "recordedRepoMappingEntries": [ [ - "rules_swift+", + "rules_swift~", "bazel_tools", "bazel_tools" ], [ - "rules_swift+", + "rules_swift~", "build_bazel_rules_swift", - "rules_swift+" + "rules_swift~" ] ] } diff --git a/Sources/SignHereLibrary/BUILD b/Sources/SignHereLibrary/BUILD index 7fdb579..9ae1d27 100644 --- a/Sources/SignHereLibrary/BUILD +++ b/Sources/SignHereLibrary/BUILD @@ -26,7 +26,6 @@ swift_library( deps = [ "//Sources/CoreLibrary", "@com_github_apple_swift_argument_parser//:ArgumentParser", - "@com_github_kitura_blueecc//:BlueECC", ], ) diff --git a/Sources/SignHereLibrary/Services/JSONWebTokenService.swift b/Sources/SignHereLibrary/Services/JSONWebTokenService.swift index 9c4d4e9..0a5fcdf 100644 --- a/Sources/SignHereLibrary/Services/JSONWebTokenService.swift +++ b/Sources/SignHereLibrary/Services/JSONWebTokenService.swift @@ -7,7 +7,7 @@ import CoreLibrary import Foundation -import CryptorECC +import CryptoKit // ME: Documented here https://developer.apple.com/documentation/appstoreconnectapi/generating_tokens_for_api_requests @@ -67,7 +67,7 @@ internal class JSONWebTokenServiceImp: JSONWebTokenService { ".", urlBase64Encode(data: try jsonEncoder.encode(payload)), ] - let signature: String = try createSignedHeaderPayload(data: Data(components.joined().utf8), secretKey: secretKey) + let signature: String = try createSignature(data: Data(components.joined().utf8), secretKey: secretKey) components.append(contentsOf: [ ".", signature @@ -75,17 +75,13 @@ internal class JSONWebTokenServiceImp: JSONWebTokenService { return components.joined() } - private func createSignedHeaderPayload(data: Data, secretKey: Data) throws -> String { + private func createSignature(data: Data, secretKey: Data) throws -> String { guard let keyString = String(data: secretKey, encoding: .utf8) else { throw Error.unableToCreateKeyString } - let privateKey: ECPrivateKey = try .init(key: keyString) - guard privateKey.curve == .prime256v1 - else { - throw Error.unableToCreatePrivateKey - } - let signedData: ECSignature = try data.sign(with: privateKey) - return urlBase64Encode(data: signedData.r + signedData.s) + let key = try P256.Signing.PrivateKey(pemRepresentation: keyString) + let signature = try key.signature(for: data) + return urlBase64Encode(data: signature.rawRepresentation) } private func urlBase64Encode(data: Data) -> String { diff --git a/repositories.bzl b/repositories.bzl index bdec7a8..b81298c 100644 --- a/repositories.bzl +++ b/repositories.bzl @@ -43,34 +43,6 @@ swift_library( strip_prefix = "PathKit-%s" % PATHKIT_GIT_SHA, ) - _maybe( - http_archive, - name = "com_github_kitura_blueecc", - url = "https://github.com/Kitura/BlueECC/archive/b0983b04bcf3a571404392e4fee461cf3f17548b.zip", - strip_prefix = "BlueECC-b0983b04bcf3a571404392e4fee461cf3f17548b", - build_file_content = """ -load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") - -swift_library( - name = "BlueECC", - srcs = glob([ - "Sources/CryptorECC/**/*.swift", - ]), - copts = [ - "-suppress-warnings", - ], - features = [ - "-swift.treat_warnings_as_errors", - ], - module_name = "CryptorECC", - visibility = [ - "//visibility:public", - ], -) - """, - sha256 = "c708192350913e9fa9a412bde60dcf9cc2e90b58573c4f6af1298dd27e31c642", - ) - MOCKOLO_VERSION = "519439fb550dc23e622897de0080ce8ba68ddd78" _maybe( From 77483a7a86849d979d93534a0f40c3ad189876f7 Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Tue, 14 Jan 2025 22:05:45 -0500 Subject: [PATCH 8/9] more updates --- Sources/SignHereLibrary/Models/ProfileType.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/SignHereLibrary/Models/ProfileType.swift b/Sources/SignHereLibrary/Models/ProfileType.swift index abdd8fd..d32c4fa 100644 --- a/Sources/SignHereLibrary/Models/ProfileType.swift +++ b/Sources/SignHereLibrary/Models/ProfileType.swift @@ -28,7 +28,7 @@ enum ProfileType { var usesDevices: Bool { switch self { - case .appStore: return false + case .appStore, .inHouse: return false default: return true } } From e7248dff5e4bf7ba0eac23e79995d3aa8159e704 Mon Sep 17 00:00:00 2001 From: Maxwell Elliott Date: Tue, 14 Jan 2025 22:06:37 -0500 Subject: [PATCH 9/9] tests --- Tests/SignHereLibraryTests/ProfileTypeModelTests.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/SignHereLibraryTests/ProfileTypeModelTests.swift b/Tests/SignHereLibraryTests/ProfileTypeModelTests.swift index d66a30c..669f6fa 100644 --- a/Tests/SignHereLibraryTests/ProfileTypeModelTests.swift +++ b/Tests/SignHereLibraryTests/ProfileTypeModelTests.swift @@ -90,7 +90,7 @@ final class ProfileTypeModelTests: XCTestCase { // THEN profileTypes.forEach { profileType in XCTAssertEqual(profileType, .inHouse) - XCTAssertEqual(profileType.usesDevices, true) + XCTAssertEqual(profileType.usesDevices, false) } }