From edf8b68aacf28ef139b0cbbb3177da228b669461 Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Mon, 22 Aug 2022 21:33:09 +0100 Subject: [PATCH] Refactor Remove MessengerContext --- .../Messenger/Functors/MessengerCMix.swift | 17 +++++--- .../Messenger/Functors/MessengerConnect.swift | 4 +- .../Messenger/Functors/MessengerE2E.swift | 17 +++++--- .../Functors/MessengerIsConnected.swift | 2 +- .../Functors/MessengerIsLoaded.swift | 2 +- .../Functors/MessengerIsLoggedIn.swift | 2 +- .../Functors/MessengerIsRegistered.swift | 2 +- .../Messenger/Functors/MessengerLoad.swift | 2 +- .../Messenger/Functors/MessengerLogIn.swift | 6 +-- .../Functors/MessengerRegister.swift | 6 +-- .../Messenger/Functors/MessengerStart.swift | 2 +- .../Messenger/Functors/MessengerUD.swift | 17 +++++--- .../Functors/MessengerWaitForNetwork.swift | 2 +- .../Functors/MessengerWaitForNodes.swift | 2 +- .../Messenger/Messenger.swift | 6 +-- .../Messenger/MessengerContext.swift | 42 ------------------- .../Messenger/MessengerEnvironment.swift | 12 ++++-- .../Functors/MessengerCMixTests.swift | 14 +++---- .../Functors/MessengerConnectTests.swift | 10 ++--- .../Functors/MessengerE2ETests.swift | 14 +++---- .../Functors/MessengerIsConnectedTests.swift | 4 +- .../Functors/MessengerIsLoadedTests.swift | 4 +- .../Functors/MessengerIsLoggedInTests.swift | 4 +- .../Functors/MessengerIsRegisteredTests.swift | 8 ++-- .../Functors/MessengerLoadTests.swift | 2 +- .../Functors/MessengerLogInTests.swift | 26 ++++++------ .../Functors/MessengerRegisterTests.swift | 26 ++++++------ .../Functors/MessengerStartTests.swift | 8 ++-- .../Messenger/Functors/MessengerUDTests.swift | 18 ++++---- .../MessengerWaitForNetworkTests.swift | 6 +-- .../Functors/MessengerWaitForNodesTests.swift | 8 ++-- 31 files changed, 137 insertions(+), 158 deletions(-) delete mode 100644 Sources/XXMessengerClient/Messenger/MessengerContext.swift diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerCMix.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerCMix.swift index 5543c048..d3e062d2 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 97e399ab..8cebb73a 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 cc1f8def..070a6b70 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 81017429..c30437fa 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 8931d2b4..dc0b4216 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 04aaa338..7c54c578 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 cbf02c8a..bf3cafa5 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 c57d7a5a..29f28168 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 51e970d5..d0f86d8b 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 35450762..6f429631 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 224702b7..cc3363ec 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 c64ee6cf..c871f6e0 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 df8fea18..8fe8cf3e 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 8fc11899..b87acc2f 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 5a442ac9..397c8e84 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 c98523f2..00000000 --- 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 eb7646f3..a84a1e87 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 f4327a08..668983f5 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 c93e403e..fb780353 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 bb54fb78..63b9f585 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 b361170c..c7c5de8b 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 a88a1148..6f0591e2 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 0bbd8867..c6ea87e6 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 b11bfbc6..b6dca3e9 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 eecdca12..5eb90e3a 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 3186d0ac..83dd2cd0 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 82f2527b..ef96b251 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 1b0f11b4..7b3e33af 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 0166a8bb..73f2092c 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 9e489226..1dbae735 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 ba1fd941..bc23afb5 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 -- GitLab