diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerCreate.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerCreate.swift index a3514141508e1fa6d5a47de09d75cc3aa9d87600..b36b55b447956d139f227887a154bec71d109312 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerCreate.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerCreate.swift @@ -15,7 +15,7 @@ extension MessengerCreate { let ndfData = try env.downloadNDF(env.ndfEnvironment) let password = env.generateSecret() try env.passwordStorage.save(password) - let storageDir = env.storageDir() + let storageDir = env.storageDir try env.fileManager.removeDirectory(storageDir) try env.fileManager.createDirectory(storageDir) try env.newCMix( diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerIsCreated.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerIsCreated.swift index cf7f5a4f6da8d00d7d306c55e82a28b7cbf73d69..c848518c2483e49acbdbfe3d6d0b9e0c7fc2ce32 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerIsCreated.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerIsCreated.swift @@ -12,7 +12,7 @@ public struct MessengerIsCreated { extension MessengerIsCreated { public static func live(_ env: MessengerEnvironment) -> MessengerIsCreated { MessengerIsCreated { - env.fileManager.isDirectoryEmpty(env.storageDir()) == false + env.fileManager.isDirectoryEmpty(env.storageDir) == false } } } diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerLoad.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerLoad.swift index 9b0454a4ee689c5590ea9823420cc03500b4b0c6..a8a6be31d5e2496f2219470be5cda3d737c9ad24 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerLoad.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerLoad.swift @@ -13,7 +13,7 @@ extension MessengerLoad { public static func live(_ env: MessengerEnvironment) -> MessengerLoad { MessengerLoad { env.ctx.cMix = try env.loadCMix( - storageDir: env.storageDir(), + storageDir: env.storageDir, password: try env.passwordStorage.load(), cMixParamsJSON: env.getCMixParams() ) diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerLogIn.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerLogIn.swift index 4b43a56b24f14887217ede4513b815b1cd970920..70df78ac7350825962d93ebaf504520b4a8db64e 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerLogIn.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerLogIn.swift @@ -31,9 +31,9 @@ extension MessengerLogIn { e2eId: e2e.getId(), username: nil, registrationValidationSignature: nil, - cert: env.udCert() ?? e2e.getUdCertFromNdf(), - contactFile: env.udContact() ?? (try e2e.getUdContactFromNdf()), - address: env.udAddress() ?? e2e.getUdAddressFromNdf() + cert: env.udCert ?? e2e.getUdCertFromNdf(), + contactFile: env.udContact ?? (try e2e.getUdContactFromNdf()), + address: env.udAddress ?? e2e.getUdAddressFromNdf() ), follower: .init { cMix.networkFollowerStatus().rawValue diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerRegister.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerRegister.swift index 1440dd43f01f1c25765265a763ea0e5a45b31730..75fce25227188ac23930882a1f36fdda1c9c6af9 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerRegister.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerRegister.swift @@ -33,9 +33,9 @@ extension MessengerRegister { e2eId: e2e.getId(), username: username, registrationValidationSignature: cMix.getReceptionRegistrationValidationSignature(), - cert: env.udCert() ?? e2e.getUdCertFromNdf(), - contactFile: env.udContact() ?? (try e2e.getUdContactFromNdf()), - address: env.udAddress() ?? e2e.getUdAddressFromNdf() + cert: env.udCert ?? e2e.getUdCertFromNdf(), + contactFile: env.udContact ?? (try e2e.getUdContactFromNdf()), + address: env.udAddress ?? e2e.getUdAddressFromNdf() ), follower: .init { cMix.networkFollowerStatus().rawValue diff --git a/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift b/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift index dfa7dfcd3da15c9722d07349b306ba9b177ff39c..29391b209990a0258783dca517c08618b50169be 100644 --- a/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift +++ b/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift @@ -16,10 +16,10 @@ public struct MessengerEnvironment { public var newCMix: NewCMix public var newOrLoadUd: NewOrLoadUd public var passwordStorage: PasswordStorage - public var storageDir: () -> String - public var udAddress: () -> String? - public var udCert: () -> Data? - public var udContact: () -> Data? + public var storageDir: String + public var udAddress: String? + public var udCert: Data? + public var udContact: Data? } extension MessengerEnvironment { @@ -43,10 +43,10 @@ extension MessengerEnvironment { newCMix: .live, newOrLoadUd: .live, passwordStorage: .keychain, - storageDir: { MessengerEnvironment.defaultStorageDir }, - udAddress: { nil }, - udCert: { nil }, - udContact: { nil } + storageDir: MessengerEnvironment.defaultStorageDir, + udAddress: nil, + udCert: nil, + udContact: nil ) } @@ -65,9 +65,9 @@ extension MessengerEnvironment { newCMix: .unimplemented, newOrLoadUd: .unimplemented, passwordStorage: .unimplemented, - storageDir: XCTUnimplemented("\(Self.self).storageDir", placeholder: ""), - udAddress: XCTUnimplemented("\(Self.self).udAddress", placeholder: nil), - udCert: XCTUnimplemented("\(Self.self).udCert", placeholder: nil), - udContact: XCTUnimplemented("\(Self.self).udContact", placeholder: nil) + storageDir: "unimplemented", + udAddress: nil, + udCert: nil, + udContact: nil ) } diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerCreateTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerCreateTests.swift index 5db87012a6b984e3db1ed3cb018e2cda96038d60..ee178d28c8378e7e7e8c6206eb41de27450cc8f1 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerCreateTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerCreateTests.swift @@ -36,9 +36,7 @@ final class MessengerCreateTests: XCTestCase { env.passwordStorage.save = { password in didSavePassword.append(password) } - env.storageDir = { - storageDir - } + env.storageDir = storageDir env.fileManager.removeDirectory = { path in didRemoveDirectory.append(path) } @@ -109,7 +107,7 @@ final class MessengerCreateTests: XCTestCase { env.downloadNDF.run = { _ in "ndf".data(using: .utf8)! } env.generateSecret.run = { _ in "password".data(using: .utf8)! } env.passwordStorage.save = { _ in } - env.storageDir = { "storage-dir" } + env.storageDir = "storage-dir" env.fileManager.removeDirectory = { _ in throw error } let create: MessengerCreate = .live(env) @@ -127,7 +125,7 @@ final class MessengerCreateTests: XCTestCase { env.downloadNDF.run = { _ in "ndf".data(using: .utf8)! } env.generateSecret.run = { _ in "password".data(using: .utf8)! } env.passwordStorage.save = { _ in } - env.storageDir = { "storage-dir" } + env.storageDir = "storage-dir" env.fileManager.removeDirectory = { _ in } env.fileManager.createDirectory = { _ in throw error } let create: MessengerCreate = .live(env) @@ -146,7 +144,7 @@ final class MessengerCreateTests: XCTestCase { env.downloadNDF.run = { _ in "ndf".data(using: .utf8)! } env.generateSecret.run = { _ in "password".data(using: .utf8)! } env.passwordStorage.save = { _ in } - env.storageDir = { "storage-dir" } + env.storageDir = "storage-dir" env.fileManager.removeDirectory = { _ in } env.fileManager.createDirectory = { _ in } env.newCMix.run = { _, _, _, _ in throw error } diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsCreatedTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsCreatedTests.swift index a96c8a6073b8e34b3d5553628657d2d9cec0632e..246be9d3be6c04c58748ce024149da79fa8b63f7 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsCreatedTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsCreatedTests.swift @@ -8,7 +8,7 @@ final class MessengerIsCreatedTests: XCTestCase { let storageDir = "storage-dir" var env: MessengerEnvironment = .unimplemented - env.storageDir = { storageDir } + env.storageDir = storageDir env.fileManager.isDirectoryEmpty = { path in didIsDirectoryEmpty.append(path) return false @@ -24,7 +24,7 @@ final class MessengerIsCreatedTests: XCTestCase { let storageDir = "storage-dir" var env: MessengerEnvironment = .unimplemented - env.storageDir = { storageDir } + env.storageDir = storageDir env.fileManager.isDirectoryEmpty = { path in didIsDirectoryEmpty.append(path) return true diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLoadTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLoadTests.swift index ef5694c2a8cb0b47e227154bc1d54d6c06dceca8..1d8ae5f2ac402a5746bb9fbbe2dadd4296bd8c52 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLoadTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLoadTests.swift @@ -18,7 +18,7 @@ final class MessengerLoadTests: XCTestCase { var env: MessengerEnvironment = .unimplemented env.ctx.cMix = nil - env.storageDir = { storageDir } + env.storageDir = storageDir env.passwordStorage.load = { password } env.getCMixParams.run = { cMixParams } env.loadCMix.run = { storageDir, password, cMixParamsJSON in @@ -46,7 +46,7 @@ final class MessengerLoadTests: XCTestCase { func testMissingPassword() { var env: MessengerEnvironment = .unimplemented env.ctx.cMix = nil - env.storageDir = { "storage-dir" } + env.storageDir = "storage-dir" env.passwordStorage.load = { throw PasswordStorage.MissingPasswordError() } let load: MessengerLoad = .live(env) @@ -64,7 +64,7 @@ final class MessengerLoadTests: XCTestCase { var env: MessengerEnvironment = .unimplemented env.ctx.cMix = nil - env.storageDir = { "storage-dir" } + env.storageDir = "storage-dir" env.passwordStorage.load = { "password".data(using: .utf8)! } env.getCMixParams.run = { "cmix-params".data(using: .utf8)! } env.loadCMix.run = { _, _, _ in throw error } diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLogInTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLogInTests.swift index 92e511f2de3212091e85bd2b6e184d83d0740645..b11f8c8fd37f9dece286c809df8449d4e6e1df67 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLogInTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLogInTests.swift @@ -23,9 +23,9 @@ final class MessengerLogInTests: XCTestCase { } env.ctx.e2e = .unimplemented env.ctx.e2e!.getId.run = { e2eId } - env.udCert = { nil } - env.udContact = { nil } - env.udAddress = { nil } + env.udCert = nil + env.udContact = nil + env.udAddress = nil env.ctx.e2e!.getUdCertFromNdf.run = { udCertFromNDF } env.ctx.e2e!.getUdContactFromNdf.run = { udContactFromNDF } env.ctx.e2e!.getUdAddressFromNdf.run = { udAddressFromNDF } @@ -66,9 +66,9 @@ final class MessengerLogInTests: XCTestCase { env.ctx.cMix!.networkFollowerStatus.run = { .running } env.ctx.e2e = .unimplemented env.ctx.e2e!.getId.run = { e2eId } - env.udCert = { altUdCert } - env.udContact = { altUdContact } - env.udAddress = { altUdAddress } + env.udCert = altUdCert + env.udContact = altUdContact + env.udAddress = altUdAddress env.newOrLoadUd.run = { params, _ in didNewOrLoadUDWithParams.append(params) return .unimplemented @@ -138,8 +138,8 @@ final class MessengerLogInTests: XCTestCase { env.ctx.cMix!.networkFollowerStatus.run = { .running } env.ctx.e2e = .unimplemented env.ctx.e2e!.getId.run = { 1234 } - env.udCert = { nil } - env.udContact = { nil } + env.udCert = nil + env.udContact = nil env.ctx.e2e!.getUdCertFromNdf.run = { "ndf-ud-cert".data(using: .utf8)! } env.ctx.e2e!.getUdContactFromNdf.run = { throw error } let logIn: MessengerLogIn = .live(env) @@ -158,9 +158,9 @@ final class MessengerLogInTests: XCTestCase { env.ctx.cMix!.networkFollowerStatus.run = { .running } env.ctx.e2e = .unimplemented env.ctx.e2e!.getId.run = { 1234 } - env.udCert = { "ud-cert".data(using: .utf8)! } - env.udContact = { "ud-contact".data(using: .utf8)! } - env.udAddress = { "ud-address" } + env.udCert = "ud-cert".data(using: .utf8)! + env.udContact = "ud-contact".data(using: .utf8)! + env.udAddress = "ud-address" env.newOrLoadUd.run = { _, _ in throw error } let logIn: MessengerLogIn = .live(env) diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerRegisterTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerRegisterTests.swift index deb6a8dcfd209e99404b092033e870d42e13305b..861df63eb06a7304ed6dc307209a5180ff21264d 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerRegisterTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerRegisterTests.swift @@ -28,9 +28,9 @@ final class MessengerRegisterTests: XCTestCase { } env.ctx.e2e = .unimplemented env.ctx.e2e!.getId.run = { e2eId } - env.udCert = { nil } - env.udContact = { nil } - env.udAddress = { nil } + env.udCert = nil + env.udContact = nil + env.udAddress = nil env.ctx.e2e!.getUdCertFromNdf.run = { udCertFromNDF } env.ctx.e2e!.getUdContactFromNdf.run = { udContactFromNDF } env.ctx.e2e!.getUdAddressFromNdf.run = { udAddressFromNDF } @@ -76,9 +76,9 @@ final class MessengerRegisterTests: XCTestCase { } env.ctx.e2e = .unimplemented env.ctx.e2e!.getId.run = { e2eId } - env.udCert = { altUdCert } - env.udContact = { altUdContact } - env.udAddress = { altUdAddress } + env.udCert = altUdCert + env.udContact = altUdContact + env.udAddress = altUdAddress env.newOrLoadUd.run = { params, _ in didNewOrLoadUDWithParams.append(params) return .unimplemented @@ -152,8 +152,8 @@ final class MessengerRegisterTests: XCTestCase { } env.ctx.e2e = .unimplemented env.ctx.e2e!.getId.run = { 1234 } - env.udCert = { nil } - env.udContact = { nil } + env.udCert = nil + env.udContact = nil env.ctx.e2e!.getUdCertFromNdf.run = { "ndf-ud-cert".data(using: .utf8)! } env.ctx.e2e!.getUdContactFromNdf.run = { throw error } let register: MessengerRegister = .live(env) @@ -175,9 +175,9 @@ final class MessengerRegisterTests: XCTestCase { } env.ctx.e2e = .unimplemented env.ctx.e2e!.getId.run = { 1234 } - env.udCert = { "ud-cert".data(using: .utf8)! } - env.udContact = { "ud-contact".data(using: .utf8)! } - env.udAddress = { "ud-address" } + env.udCert = "ud-cert".data(using: .utf8)! + env.udContact = "ud-contact".data(using: .utf8)! + env.udAddress = "ud-address" env.newOrLoadUd.run = { _, _ in throw error } let register: MessengerRegister = .live(env)