diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerCMix.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerCMix.swift index 5543c048fde2b7a12ce261f7cf796adb2ddbc31f..d3e062d283f3a604bdfc83e735558e90c01787dc 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerCMix.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerCMix.swift @@ -2,21 +2,28 @@ import XXClient import XCTestDynamicOverlay public struct MessengerCMix { - public var run: () -> CMix? + public var get: () -> CMix? + public var set: (CMix?) -> Void public func callAsFunction() -> CMix? { - run() + get() } } extension MessengerCMix { - public static func live(_ env: MessengerEnvironment) -> MessengerCMix { - MessengerCMix(run: env.ctx.getCMix) + public static func live() -> MessengerCMix { + class Storage { var value: CMix? } + let storage = Storage() + return MessengerCMix( + get: { storage.value }, + set: { storage.value = $0 } + ) } } extension MessengerCMix { public static let unimplemented = MessengerCMix( - run: XCTUnimplemented("\(Self.self)", placeholder: nil) + get: XCTUnimplemented("\(Self.self).get", placeholder: nil), + set: XCTUnimplemented("\(Self.self).set") ) } diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerConnect.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerConnect.swift index 97e399ab0f78485a4d99fc3d206e26d37275954b..8cebb73a648773e63137a86a4481142fe2f5b173 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerConnect.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerConnect.swift @@ -16,10 +16,10 @@ public struct MessengerConnect { extension MessengerConnect { public static func live(_ env: MessengerEnvironment) -> MessengerConnect { MessengerConnect { - guard let cMix = env.ctx.getCMix() else { + guard let cMix = env.cMix() else { throw Error.notLoaded } - env.ctx.setE2E(try env.login( + env.e2e.set(try env.login( cMixId: cMix.getId(), identity: try cMix.makeLegacyReceptionIdentity(), e2eParamsJSON: env.getE2EParams() diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerE2E.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerE2E.swift index cc1f8def702e95afdd0a26bc6259c15e934b3799..070a6b70ca9dab0c65e0752a1779f4b9370d4c46 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerE2E.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerE2E.swift @@ -2,21 +2,28 @@ import XXClient import XCTestDynamicOverlay public struct MessengerE2E { - public var run: () -> E2E? + public var get: () -> E2E? + public var set: (E2E?) -> Void public func callAsFunction() -> E2E? { - run() + get() } } extension MessengerE2E { - public static func live(_ env: MessengerEnvironment) -> MessengerE2E { - MessengerE2E(run: env.ctx.getE2E) + public static func live() -> MessengerE2E { + class Storage { var value: E2E? } + let storage = Storage() + return MessengerE2E( + get: { storage.value }, + set: { storage.value = $0 } + ) } } extension MessengerE2E { public static let unimplemented = MessengerE2E( - run: XCTUnimplemented("\(Self.self)", placeholder: nil) + get: XCTUnimplemented("\(Self.self).get", placeholder: nil), + set: XCTUnimplemented("\(Self.self).set") ) } diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerIsConnected.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerIsConnected.swift index 81017429b98dad5dc05f7361f693cca6d8d99aa6..c30437faeb6b4cbc8b0a66df811bc55bd5618e28 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerIsConnected.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerIsConnected.swift @@ -12,7 +12,7 @@ public struct MessengerIsConnected { extension MessengerIsConnected { public static func live(_ env: MessengerEnvironment) -> MessengerIsConnected { MessengerIsConnected { - env.ctx.getE2E() != nil + env.e2e() != nil } } } diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerIsLoaded.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerIsLoaded.swift index 8931d2b491ce518b805955771d3c94ea81ce50af..dc0b42165efe5b39071674a5019a7e11860d53f5 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerIsLoaded.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerIsLoaded.swift @@ -12,7 +12,7 @@ public struct MessengerIsLoaded { extension MessengerIsLoaded { public static func live(_ env: MessengerEnvironment) -> MessengerIsLoaded { MessengerIsLoaded { - env.ctx.getCMix() != nil + env.cMix() != nil } } } diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerIsLoggedIn.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerIsLoggedIn.swift index 04aaa338d7f4e936dd7f5c75b0bf5e6ffd17249c..7c54c5785fc472c4815f3a91f626575881cf2dcd 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerIsLoggedIn.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerIsLoggedIn.swift @@ -12,7 +12,7 @@ public struct MessengerIsLoggedIn { extension MessengerIsLoggedIn { public static func live(_ env: MessengerEnvironment) -> MessengerIsLoggedIn { MessengerIsLoggedIn { - env.ctx.getUD() != nil + env.ud() != nil } } } diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerIsRegistered.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerIsRegistered.swift index cbf02c8a7cdd2f51a4fe6f9dea6249914225d988..bf3cafa541fa67847f749325419c683e9edd34c6 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerIsRegistered.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerIsRegistered.swift @@ -16,7 +16,7 @@ public struct MessengerIsRegistered { extension MessengerIsRegistered { public static func live(_ env: MessengerEnvironment) -> MessengerIsRegistered { MessengerIsRegistered { - guard let e2e = env.ctx.getE2E() else { + guard let e2e = env.e2e() else { throw Error.notConnected } return try env.isRegisteredWithUD(e2eId: e2e.getId()) diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerLoad.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerLoad.swift index c57d7a5a05b84c74e8889c5199b9574fab9ff206..29f281688d0cb6e4611cbf50a5ee2f7844df07f1 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerLoad.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerLoad.swift @@ -12,7 +12,7 @@ public struct MessengerLoad { extension MessengerLoad { public static func live(_ env: MessengerEnvironment) -> MessengerLoad { MessengerLoad { - env.ctx.setCMix(try env.loadCMix( + env.cMix.set(try env.loadCMix( 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 51e970d5db4798ae46d7b98e6e0b8cbbebeea0cf..d0f86d8bcfa8ea7f7c0251d573a5dc591b59ddc0 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerLogIn.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerLogIn.swift @@ -17,13 +17,13 @@ public struct MessengerLogIn { extension MessengerLogIn { public static func live(_ env: MessengerEnvironment) -> MessengerLogIn { MessengerLogIn { - guard let cMix = env.ctx.getCMix() else { + guard let cMix = env.cMix() else { throw Error.notLoaded } - guard let e2e = env.ctx.getE2E() else { + guard let e2e = env.e2e() else { throw Error.notConnected } - env.ctx.setUD(try env.newOrLoadUd( + env.ud.set(try env.newOrLoadUd( params: .init( e2eId: e2e.getId(), username: nil, diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerRegister.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerRegister.swift index 35450762aaecb623755182f770dbbc6953714931..6f4296318c4eccf771ccb505cb584db458b74f8b 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerRegister.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerRegister.swift @@ -19,13 +19,13 @@ public struct MessengerRegister { extension MessengerRegister { public static func live(_ env: MessengerEnvironment) -> MessengerRegister { MessengerRegister { username in - guard let cMix = env.ctx.getCMix() else { + guard let cMix = env.cMix() else { throw Error.notLoaded } - guard let e2e = env.ctx.getE2E() else { + guard let e2e = env.e2e() else { throw Error.notConnected } - env.ctx.setUD(try env.newOrLoadUd( + env.ud.set(try env.newOrLoadUd( params: .init( e2eId: e2e.getId(), username: username, diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerStart.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerStart.swift index 224702b7a146047af046569ed8a98e5aab99ff6c..cc3363ec543ee2c3ed6c2414ac79d1ceaa0ccc33 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerStart.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerStart.swift @@ -18,7 +18,7 @@ public struct MessengerStart { extension MessengerStart { public static func live(_ env: MessengerEnvironment) -> MessengerStart { MessengerStart { timeoutMS in - guard let cMix = env.ctx.getCMix() else { + guard let cMix = env.cMix() else { throw Error.notLoaded } guard cMix.networkFollowerStatus() != .running else { diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerUD.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerUD.swift index c64ee6cf55db2ebcdc10959b00096e45953b48a6..c871f6e0be6d9c2f95a8eab1f29c01b76529de58 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerUD.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerUD.swift @@ -2,21 +2,28 @@ import XXClient import XCTestDynamicOverlay public struct MessengerUD { - public var run: () -> UserDiscovery? + public var get: () -> UserDiscovery? + public var set: (UserDiscovery?) -> Void public func callAsFunction() -> UserDiscovery? { - run() + get() } } extension MessengerUD { - public static func live(_ env: MessengerEnvironment) -> MessengerUD { - MessengerUD(run: env.ctx.getUD) + public static func live() -> MessengerUD { + class Storage { var value: UserDiscovery? } + let storage = Storage() + return MessengerUD( + get: { storage.value }, + set: { storage.value = $0 } + ) } } extension MessengerUD { public static let unimplemented = MessengerUD( - run: XCTUnimplemented("\(Self.self)", placeholder: nil) + get: XCTUnimplemented("\(Self.self).get", placeholder: nil), + set: XCTUnimplemented("\(Self.self).set") ) } diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerWaitForNetwork.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerWaitForNetwork.swift index df8fea1885d56a9c8df0757d1886064d607447e9..8fe8cf3e4750f1d3bff8a7191574a143639466c7 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerWaitForNetwork.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerWaitForNetwork.swift @@ -19,7 +19,7 @@ public struct MessengerWaitForNetwork { extension MessengerWaitForNetwork { public static func live(_ env: MessengerEnvironment) -> MessengerWaitForNetwork { MessengerWaitForNetwork { timeoutMS in - guard let cMix = env.ctx.getCMix() else { + guard let cMix = env.cMix() else { throw Error.notLoaded } guard cMix.waitForNetwork(timeoutMS: timeoutMS) else { diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerWaitForNodes.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerWaitForNodes.swift index 8fc118994ea6edf296c888c5c3dc6d98139eda28..b87acc2f13caf51d2998d3a864a6484f897dc528 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerWaitForNodes.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerWaitForNodes.swift @@ -24,7 +24,7 @@ public struct MessengerWaitForNodes { extension MessengerWaitForNodes { public static func live(_ env: MessengerEnvironment) -> MessengerWaitForNodes { MessengerWaitForNodes { targetRatio, sleepMS, retries, onProgress in - guard let cMix = env.ctx.getCMix() else { + guard let cMix = env.cMix() else { throw Error.notLoaded } diff --git a/Sources/XXMessengerClient/Messenger/Messenger.swift b/Sources/XXMessengerClient/Messenger/Messenger.swift index 5a442ac9aa17220dcaa1f2b166c74a51be641c2b..397c8e849efec706ae0308f5528b5a1fbd582c2b 100644 --- a/Sources/XXMessengerClient/Messenger/Messenger.swift +++ b/Sources/XXMessengerClient/Messenger/Messenger.swift @@ -22,9 +22,9 @@ public struct Messenger { extension Messenger { public static func live(_ env: MessengerEnvironment) -> Messenger { Messenger( - cMix: .live(env), - e2e: .live(env), - ud: .live(env), + cMix: env.cMix, + e2e: env.e2e, + ud: env.ud, isCreated: .live(env), create: .live(env), isLoaded: .live(env), diff --git a/Sources/XXMessengerClient/Messenger/MessengerContext.swift b/Sources/XXMessengerClient/Messenger/MessengerContext.swift deleted file mode 100644 index c98523f2ef99ecd2844b5636c5ff8549bc3c5e9f..0000000000000000000000000000000000000000 --- a/Sources/XXMessengerClient/Messenger/MessengerContext.swift +++ /dev/null @@ -1,42 +0,0 @@ -import XXClient -import XCTestDynamicOverlay - -public struct MessengerContext { - public var getCMix: () -> CMix? - public var setCMix: (CMix?) -> Void - public var getE2E: () -> E2E? - public var setE2E: (E2E?) -> Void - public var getUD: () -> UserDiscovery? - public var setUD: (UserDiscovery?) -> Void -} - -extension MessengerContext { - public static func live() -> MessengerContext { - class Container { - var cMix: CMix? - var e2e: E2E? - var ud: UserDiscovery? - } - let container = Container() - - return MessengerContext( - getCMix: { container.cMix }, - setCMix: { container.cMix = $0 }, - getE2E: { container.e2e }, - setE2E: { container.e2e = $0 }, - getUD: { container.ud }, - setUD: { container.ud = $0 } - ) - } -} - -extension MessengerContext { - public static let unimplemented = MessengerContext( - getCMix: XCTUnimplemented("\(Self.self).getCMix"), - setCMix: XCTUnimplemented("\(Self.self).setCMix"), - getE2E: XCTUnimplemented("\(Self.self).getE2E"), - setE2E: XCTUnimplemented("\(Self.self).setE2E"), - getUD: XCTUnimplemented("\(Self.self).getUD"), - setUD: XCTUnimplemented("\(Self.self).setUD") - ) -} diff --git a/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift b/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift index eb7646f3ecc8f9c0996ddc19fda93ef87fc8efe8..a84a1e874e29d357eed5669cba1c5cfd548ab4ea 100644 --- a/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift +++ b/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift @@ -3,8 +3,9 @@ import XXClient import XCTestDynamicOverlay public struct MessengerEnvironment { - public var ctx: MessengerContext + public var cMix: MessengerCMix public var downloadNDF: DownloadAndVerifySignedNdf + public var e2e: MessengerE2E public var fileManager: MessengerFileManager public var generateSecret: GenerateSecret public var getCMixParams: GetCMixParams @@ -18,6 +19,7 @@ public struct MessengerEnvironment { public var passwordStorage: PasswordStorage public var sleep: (Int) -> Void public var storageDir: String + public var ud: MessengerUD public var udAddress: String? public var udCert: Data? public var udContact: Data? @@ -32,8 +34,9 @@ extension MessengerEnvironment { public static func live() -> MessengerEnvironment { MessengerEnvironment( - ctx: .live(), + cMix: .live(), downloadNDF: .live, + e2e: .live(), fileManager: .live(), generateSecret: .live, getCMixParams: .liveDefault, @@ -47,6 +50,7 @@ extension MessengerEnvironment { passwordStorage: .keychain, sleep: { Foundation.sleep(UInt32($0)) }, storageDir: MessengerEnvironment.defaultStorageDir, + ud: .live(), udAddress: nil, udCert: nil, udContact: nil @@ -56,8 +60,9 @@ extension MessengerEnvironment { extension MessengerEnvironment { public static let unimplemented = MessengerEnvironment( - ctx: .unimplemented, + cMix: .unimplemented, downloadNDF: .unimplemented, + e2e: .unimplemented, fileManager: .unimplemented, generateSecret: .unimplemented, getCMixParams: .unimplemented, @@ -71,6 +76,7 @@ extension MessengerEnvironment { passwordStorage: .unimplemented, sleep: XCTUnimplemented("\(Self.self).sleep"), storageDir: "unimplemented", + ud: .unimplemented, udAddress: nil, udCert: nil, udContact: nil diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerCMixTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerCMixTests.swift index f4327a08177ab4ec3c2b6eca9341859813fa83ae..668983f5ab365263405fca13bac7c3fadf3e7f39 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerCMixTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerCMixTests.swift @@ -4,17 +4,15 @@ import XXClient final class MessengerCMixTests: XCTestCase { func testCMix() throws { - var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { .unimplemented } - let cMix: MessengerCMix = .live(env) + let cMix: MessengerCMix = .live() + + XCTAssertNil(cMix()) + + cMix.set(.unimplemented) XCTAssertNotNil(cMix()) - } - func testCMixWhenNotSet() throws { - var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { nil } - let cMix: MessengerCMix = .live(env) + cMix.set(nil) XCTAssertNil(cMix()) } diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerConnectTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerConnectTests.swift index c93e403e816535677dfb86ef5ad7dac81ceaffdb..fb780353631b32f3f4bcf686bf60f3c3e38703c3 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerConnectTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerConnectTests.swift @@ -21,13 +21,13 @@ final class MessengerConnectTests: XCTestCase { let e2eParams = "e2e-params".data(using: .utf8)! var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.getId.run = { cMixId } cMix.makeLegacyReceptionIdentity.run = { receptionId } return cMix } - env.ctx.setE2E = { didSetE2E.append($0) } + env.e2e.set = { didSetE2E.append($0) } env.getE2EParams.run = { e2eParams } env.login.run = { ephemeral, cMixId, authCallbacks, identity, e2eParamsJSON in didLogIn.append(.init( @@ -57,7 +57,7 @@ final class MessengerConnectTests: XCTestCase { func testConnectWithoutCMix() { var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { nil } + env.cMix.get = { nil } let connect: MessengerConnect = .live(env) XCTAssertThrowsError(try connect()) { error in @@ -73,7 +73,7 @@ final class MessengerConnectTests: XCTestCase { let error = Error() var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.getId.run = { 1234 } cMix.makeLegacyReceptionIdentity.run = { throw error } @@ -91,7 +91,7 @@ final class MessengerConnectTests: XCTestCase { let error = Error() var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.getId.run = { 1234 } cMix.makeLegacyReceptionIdentity.run = { .stub } diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerE2ETests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerE2ETests.swift index bb54fb78ded08e309cd53f4278fe6e0e0ec6378d..63b9f58500173d7db488613cc37e502865c44c78 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerE2ETests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerE2ETests.swift @@ -4,17 +4,15 @@ import XXClient final class MessengerE2ETests: XCTestCase { func testE2E() throws { - var env: MessengerEnvironment = .unimplemented - env.ctx.getE2E = { .unimplemented } - let e2e: MessengerE2E = .live(env) + let e2e: MessengerE2E = .live() + + XCTAssertNil(e2e()) + + e2e.set(.unimplemented) XCTAssertNotNil(e2e()) - } - func testE2EWhenNotSet() throws { - var env: MessengerEnvironment = .unimplemented - env.ctx.getE2E = { nil } - let e2e: MessengerE2E = .live(env) + e2e.set(nil) XCTAssertNil(e2e()) } diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsConnectedTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsConnectedTests.swift index b361170cd70891cfeceefb47548c71d6be03ee91..c7c5de8bc78a79257ce08725a32524a5ce78da50 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsConnectedTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsConnectedTests.swift @@ -4,7 +4,7 @@ import XCTest final class MessengerIsConnectedTests: XCTestCase { func testWithE2E() { var env: MessengerEnvironment = .unimplemented - env.ctx.getE2E = { .unimplemented } + env.e2e.get = { .unimplemented } let isConnected: MessengerIsConnected = .live(env) XCTAssertTrue(isConnected()) @@ -12,7 +12,7 @@ final class MessengerIsConnectedTests: XCTestCase { func testWithoutE2E() { var env: MessengerEnvironment = .unimplemented - env.ctx.getE2E = { nil } + env.e2e.get = { nil } let isConnected: MessengerIsConnected = .live(env) XCTAssertFalse(isConnected()) diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsLoadedTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsLoadedTests.swift index a88a1148a19130251d3cc203d6ff9c87ef51c6df..6f0591e264cbac1a12cf707b462b0be12d65aa74 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsLoadedTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsLoadedTests.swift @@ -4,7 +4,7 @@ import XCTest final class MessengerIsLoadedTests: XCTestCase { func testWithCMix() { var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { .unimplemented } + env.cMix.get = { .unimplemented } let isLoaded: MessengerIsLoaded = .live(env) XCTAssertTrue(isLoaded()) @@ -12,7 +12,7 @@ final class MessengerIsLoadedTests: XCTestCase { func testWithoutCMix() { var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { nil } + env.cMix.get = { nil } let isLoaded: MessengerIsLoaded = .live(env) XCTAssertFalse(isLoaded()) diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsLoggedInTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsLoggedInTests.swift index 0bbd88671d00e8039c59c106369bb6f45adb01ab..c6ea87e64f2c300f9ab7090b8b56fc7e730ee765 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsLoggedInTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsLoggedInTests.swift @@ -4,7 +4,7 @@ import XCTest final class MessengerIsLoggedInTests: XCTestCase { func testWithUD() { var env: MessengerEnvironment = .unimplemented - env.ctx.getUD = { .unimplemented } + env.ud.get = { .unimplemented } let isLoggedIn: MessengerIsLoggedIn = .live(env) XCTAssertTrue(isLoggedIn()) @@ -12,7 +12,7 @@ final class MessengerIsLoggedInTests: XCTestCase { func testWithoutUD() { var env: MessengerEnvironment = .unimplemented - env.ctx.getUD = { nil } + env.ud.get = { nil } let isLoggedIn: MessengerIsLoggedIn = .live(env) XCTAssertFalse(isLoggedIn()) diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsRegisteredTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsRegisteredTests.swift index b11bfbc65eb96fa8490eee6c290b723fe9717e58..b6dca3e9e4a09b5cc78b84b3d9a56ea12b032e3a 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsRegisteredTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerIsRegisteredTests.swift @@ -7,7 +7,7 @@ final class MessengerIsRegisteredTests: XCTestCase { var didIsRegisteredWithUD: [Int] = [] var env: MessengerEnvironment = .unimplemented - env.ctx.getE2E = { + env.e2e.get = { var e2e: E2E = .unimplemented e2e.getId.run = { 1234 } return e2e @@ -24,7 +24,7 @@ final class MessengerIsRegisteredTests: XCTestCase { func testNotRegistered() throws { var env: MessengerEnvironment = .unimplemented - env.ctx.getE2E = { + env.e2e.get = { var e2e: E2E = .unimplemented e2e.getId.run = { 1234 } return e2e @@ -37,7 +37,7 @@ final class MessengerIsRegisteredTests: XCTestCase { func testWithoutE2E() { var env: MessengerEnvironment = .unimplemented - env.ctx.getE2E = { nil } + env.e2e.get = { nil } let isRegistered: MessengerIsRegistered = .live(env) XCTAssertThrowsError(try isRegistered()) { err in @@ -53,7 +53,7 @@ final class MessengerIsRegisteredTests: XCTestCase { let error = Error() var env: MessengerEnvironment = .unimplemented - env.ctx.getE2E = { + env.e2e.get = { var e2e: E2E = .unimplemented e2e.getId.run = { 1234 } return e2e diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLoadTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLoadTests.swift index eecdca1297c65ff338d81af7b40a3c481af13b5b..5eb90e3ae5379959c4891a5c0b36032827b8eae7 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLoadTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLoadTests.swift @@ -18,7 +18,7 @@ final class MessengerLoadTests: XCTestCase { let cMixParams = "cmix-params".data(using: .utf8)! var env: MessengerEnvironment = .unimplemented - env.ctx.setCMix = { didSetCMix.append($0) } + env.cMix.set = { didSetCMix.append($0) } env.storageDir = storageDir env.passwordStorage.load = { password } env.getCMixParams.run = { cMixParams } diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLogInTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLogInTests.swift index 3186d0acb3fa6ac5cd2820480c2a2dc49814428c..83dd2cd02fc79fcb5d460d244c025d05590a2233 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLogInTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerLogInTests.swift @@ -16,12 +16,12 @@ final class MessengerLogInTests: XCTestCase { let udAddressFromNDF = "ndf-ud-address" var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.networkFollowerStatus.run = { networkFollowerStatus } return cMix } - env.ctx.getE2E = { + env.e2e.get = { var e2e: E2E = .unimplemented e2e.getId.run = { e2eId } e2e.getUdCertFromNdf.run = { udCertFromNDF } @@ -29,7 +29,7 @@ final class MessengerLogInTests: XCTestCase { e2e.getUdAddressFromNdf.run = { udAddressFromNDF } return e2e } - env.ctx.setUD = { didSetUD.append($0) } + env.ud.set = { didSetUD.append($0) } env.udCert = nil env.udContact = nil env.udAddress = nil @@ -67,17 +67,17 @@ final class MessengerLogInTests: XCTestCase { let altUdAddress = "alt-ud-address" var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.networkFollowerStatus.run = { .running } return cMix } - env.ctx.getE2E = { + env.e2e.get = { var e2e: E2E = .unimplemented e2e.getId.run = { e2eId } return e2e } - env.ctx.setUD = { didSetUD.append($0) } + env.ud.set = { didSetUD.append($0) } env.udCert = altUdCert env.udContact = altUdContact env.udAddress = altUdAddress @@ -101,7 +101,7 @@ final class MessengerLogInTests: XCTestCase { func testLoginWithoutCMix() { var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { nil } + env.cMix.get = { nil } let logIn: MessengerLogIn = .live(env) XCTAssertThrowsError(try logIn()) { error in @@ -114,8 +114,8 @@ final class MessengerLogInTests: XCTestCase { func testLoginWithoutE2E() { var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { .unimplemented } - env.ctx.getE2E = { nil } + env.cMix.get = { .unimplemented } + env.e2e.get = { nil } let logIn: MessengerLogIn = .live(env) XCTAssertThrowsError(try logIn()) { error in @@ -131,12 +131,12 @@ final class MessengerLogInTests: XCTestCase { let error = Error() var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.networkFollowerStatus.run = { .running } return cMix } - env.ctx.getE2E = { + env.e2e.get = { var e2e: E2E = .unimplemented e2e.getId.run = { 1234 } e2e.getUdCertFromNdf.run = { "ndf-ud-cert".data(using: .utf8)! } @@ -157,12 +157,12 @@ final class MessengerLogInTests: XCTestCase { let error = Error() var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.networkFollowerStatus.run = { .running } return cMix } - env.ctx.getE2E = { + env.e2e.get = { var e2e: E2E = .unimplemented e2e.getId.run = { 1234 } return e2e diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerRegisterTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerRegisterTests.swift index 82f2527bb2e4779910cb15726bc9b86dc4abe606..ef96b25197a388e7b258a341638e053cb63ff3ad 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerRegisterTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerRegisterTests.swift @@ -18,7 +18,7 @@ final class MessengerRegisterTests: XCTestCase { let username = "new-user-name" var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.networkFollowerStatus.run = { networkFollowerStatus } cMix.getReceptionRegistrationValidationSignature.run = { @@ -26,7 +26,7 @@ final class MessengerRegisterTests: XCTestCase { } return cMix } - env.ctx.getE2E = { + env.e2e.get = { var e2e: E2E = .unimplemented e2e.getId.run = { e2eId } e2e.getUdCertFromNdf.run = { udCertFromNDF } @@ -34,7 +34,7 @@ final class MessengerRegisterTests: XCTestCase { e2e.getUdAddressFromNdf.run = { udAddressFromNDF } return e2e } - env.ctx.setUD = { didSetUD.append($0) } + env.ud.set = { didSetUD.append($0) } env.udCert = nil env.udContact = nil env.udAddress = nil @@ -74,7 +74,7 @@ final class MessengerRegisterTests: XCTestCase { let username = "new-user-name" var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.networkFollowerStatus.run = { .running } cMix.getReceptionRegistrationValidationSignature.run = { @@ -82,12 +82,12 @@ final class MessengerRegisterTests: XCTestCase { } return cMix } - env.ctx.getE2E = { + env.e2e.get = { var e2e: E2E = .unimplemented e2e.getId.run = { e2eId } return e2e } - env.ctx.setUD = { didSetUD.append($0) } + env.ud.set = { didSetUD.append($0) } env.udCert = altUdCert env.udContact = altUdContact env.udAddress = altUdAddress @@ -111,7 +111,7 @@ final class MessengerRegisterTests: XCTestCase { func testRegisterWithoutCMix() { var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { nil } + env.cMix.get = { nil } let register: MessengerRegister = .live(env) XCTAssertThrowsError(try register(username: "new-user-name")) { error in @@ -124,8 +124,8 @@ final class MessengerRegisterTests: XCTestCase { func testRegisterWithoutE2E() { var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { .unimplemented } - env.ctx.getE2E = { nil } + env.cMix.get = { .unimplemented } + env.e2e.get = { nil } let register: MessengerRegister = .live(env) XCTAssertThrowsError(try register(username: "new-user-name")) { error in @@ -141,7 +141,7 @@ final class MessengerRegisterTests: XCTestCase { let error = Error() var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.networkFollowerStatus.run = { .running } cMix.getReceptionRegistrationValidationSignature.run = { @@ -149,7 +149,7 @@ final class MessengerRegisterTests: XCTestCase { } return cMix } - env.ctx.getE2E = { + env.e2e.get = { var e2e: E2E = .unimplemented e2e.getId.run = { 1234 } e2e.getUdCertFromNdf.run = { "ndf-ud-cert".data(using: .utf8)! } @@ -170,7 +170,7 @@ final class MessengerRegisterTests: XCTestCase { let error = Error() var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.networkFollowerStatus.run = { .running } cMix.getReceptionRegistrationValidationSignature.run = { @@ -178,7 +178,7 @@ final class MessengerRegisterTests: XCTestCase { } return cMix } - env.ctx.getE2E = { + env.e2e.get = { var e2e: E2E = .unimplemented e2e.getId.run = { 1234 } return e2e diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerStartTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerStartTests.swift index 1b0f11b48e14695867577c1bd095cb0dd504883b..7b3e33af570bd8a522d26091ef551be5fec7b674 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerStartTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerStartTests.swift @@ -8,7 +8,7 @@ final class MessengerStartTests: XCTestCase { var didStartNetworkFollower: [Int] = [] var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.networkFollowerStatus.run = { .stopped } cMix.startNetworkFollower.run = { timeoutMS in @@ -25,7 +25,7 @@ final class MessengerStartTests: XCTestCase { func testStartWhenNotLoaded() { var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { nil } + env.cMix.get = { nil } let start: MessengerStart = .live(env) XCTAssertThrowsError(try start()) { error in @@ -38,7 +38,7 @@ final class MessengerStartTests: XCTestCase { func testStartWhenRunning() throws { var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.networkFollowerStatus.run = { .running } return cMix @@ -53,7 +53,7 @@ final class MessengerStartTests: XCTestCase { let error = Error() var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.networkFollowerStatus.run = { .stopped } cMix.startNetworkFollower.run = { _ in throw error } diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerUDTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerUDTests.swift index 0166a8bb2f5b01fccef13fe9b68a1e2f78376cef..73f2092cefa27477baf6d591d0e56531e11df076 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerUDTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerUDTests.swift @@ -4,18 +4,16 @@ import XXClient final class MessengerUDTests: XCTestCase { func testUD() throws { - var env: MessengerEnvironment = .unimplemented - env.ctx.getE2E = { .unimplemented } - let e2e: MessengerE2E = .live(env) + let ud: MessengerUD = .live() - XCTAssertNotNil(e2e()) - } + XCTAssertNil(ud()) + + ud.set(.unimplemented) + + XCTAssertNotNil(ud()) - func testE2EWhenNotSet() throws { - var env: MessengerEnvironment = .unimplemented - env.ctx.getE2E = { nil } - let e2e: MessengerE2E = .live(env) + ud.set(nil) - XCTAssertNil(e2e()) + XCTAssertNil(ud()) } } diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerWaitForNetworkTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerWaitForNetworkTests.swift index 9e4892269f0ca9cb7819723548c35222c13d1699..1dbae73528c82a00c4270bf99c759356c7488171 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerWaitForNetworkTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerWaitForNetworkTests.swift @@ -8,7 +8,7 @@ final class MessengerWaitForNetworkTests: XCTestCase { var didWaitForNetwork: [Int] = [] var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.waitForNetwork.run = { timeoutMS in didWaitForNetwork.append(timeoutMS) @@ -25,7 +25,7 @@ final class MessengerWaitForNetworkTests: XCTestCase { func testWaitWhenNotLoaded() { var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { nil } + env.cMix.get = { nil } let waitForNetwork: MessengerWaitForNetwork = .live(env) XCTAssertThrowsError(try waitForNetwork()) { error in @@ -38,7 +38,7 @@ final class MessengerWaitForNetworkTests: XCTestCase { func testWaitTimeout() { var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.waitForNetwork.run = { _ in false } return cMix diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerWaitForNodesTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerWaitForNodesTests.swift index ba1fd941bfdfc23e7c3e01d062f9895a4fb3564f..bc23afb53c604fd0b737bba5db544edfebdffe68 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerWaitForNodesTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerWaitForNodesTests.swift @@ -6,7 +6,7 @@ import XXClient final class MessengerWaitForNodesTests: XCTestCase { func testWaitWhenNotLoaded() { var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { nil } + env.cMix.get = { nil } let waitForNodes: MessengerWaitForNodes = .live(env) XCTAssertThrowsError(try waitForNodes()) { error in @@ -21,7 +21,7 @@ final class MessengerWaitForNodesTests: XCTestCase { var didProgress: [NodeRegistrationReport] = [] var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.getNodeRegistrationStatus.run = { NodeRegistrationReport(registered: 8, total: 10) @@ -53,7 +53,7 @@ final class MessengerWaitForNodesTests: XCTestCase { ] var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.getNodeRegistrationStatus.run = { reports.removeFirst() } return cMix @@ -88,7 +88,7 @@ final class MessengerWaitForNodesTests: XCTestCase { ] var env: MessengerEnvironment = .unimplemented - env.ctx.getCMix = { + env.cMix.get = { var cMix: CMix = .unimplemented cMix.getNodeRegistrationStatus.run = { reports.removeFirst() } return cMix