diff --git a/Sources/XXClient/CMix/CMix.swift b/Sources/XXClient/CMix/CMix.swift index fe9e27b70c11aa952d9ca026155d01cc0ac988aa..ef17f9ec296f30fbc9ab8bdf9443ba200dbff4c9 100644 --- a/Sources/XXClient/CMix/CMix.swift +++ b/Sources/XXClient/CMix/CMix.swift @@ -4,7 +4,6 @@ public struct CMix { public var getId: CMixGetId public var getReceptionRegistrationValidationSignature: CMixGetReceptionRegistrationValidationSignature public var makeReceptionIdentity: CMixMakeReceptionIdentity - public var makeLegacyReceptionIdentity: CMixMakeLegacyReceptionIdentity public var isHealthy: CMixIsHealthy public var getNodeRegistrationStatus: CMixGetNodeRegistrationStatus public var hasRunningProcesses: CMixHasRunningProcesses @@ -24,7 +23,6 @@ extension CMix { getId: .live(bindingsCMix), getReceptionRegistrationValidationSignature: .live(bindingsCMix), makeReceptionIdentity: .live(bindingsCMix), - makeLegacyReceptionIdentity: .live(bindingsCMix), isHealthy: .live(bindingsCMix), getNodeRegistrationStatus: .live(bindingsCMix), hasRunningProcesses: .live(bindingsCMix), @@ -45,7 +43,6 @@ extension CMix { getId: .unimplemented, getReceptionRegistrationValidationSignature: .unimplemented, makeReceptionIdentity: .unimplemented, - makeLegacyReceptionIdentity: .unimplemented, isHealthy: .unimplemented, getNodeRegistrationStatus: .unimplemented, hasRunningProcesses: .unimplemented, diff --git a/Sources/XXClient/CMix/Functors/CMixMakeLegacyReceptionIdentity.swift b/Sources/XXClient/CMix/Functors/CMixMakeLegacyReceptionIdentity.swift deleted file mode 100644 index ee0c9ad6ce866e5605b531a6c38d748f4d575d9a..0000000000000000000000000000000000000000 --- a/Sources/XXClient/CMix/Functors/CMixMakeLegacyReceptionIdentity.swift +++ /dev/null @@ -1,25 +0,0 @@ -import Bindings -import XCTestDynamicOverlay - -public struct CMixMakeLegacyReceptionIdentity { - public var run: () throws -> ReceptionIdentity - - public func callAsFunction() throws -> ReceptionIdentity { - try run() - } -} - -extension CMixMakeLegacyReceptionIdentity { - public static func live(_ bindingsCMix: BindingsCmix) -> CMixMakeLegacyReceptionIdentity { - CMixMakeLegacyReceptionIdentity { - let data = try bindingsCMix.makeLegacyReceptionIdentity() - return try ReceptionIdentity.decode(data) - } - } -} - -extension CMixMakeLegacyReceptionIdentity { - public static let unimplemented = CMixMakeLegacyReceptionIdentity( - run: XCTUnimplemented("\(Self.self)") - ) -} diff --git a/Sources/XXClient/CMix/Functors/CMixMakeReceptionIdentity.swift b/Sources/XXClient/CMix/Functors/CMixMakeReceptionIdentity.swift index 973812cf8cc77ea2ecadfd2cc18ff2c4a19ce6c4..3ce33e4d376d1e0754817006c5503b7b074f5b44 100644 --- a/Sources/XXClient/CMix/Functors/CMixMakeReceptionIdentity.swift +++ b/Sources/XXClient/CMix/Functors/CMixMakeReceptionIdentity.swift @@ -2,17 +2,24 @@ import Bindings import XCTestDynamicOverlay public struct CMixMakeReceptionIdentity { - public var run: () throws -> ReceptionIdentity + public var run: (Bool) throws -> ReceptionIdentity - public func callAsFunction() throws -> ReceptionIdentity { - try run() + public func callAsFunction( + legacy: Bool = false + ) throws -> ReceptionIdentity { + try run(legacy) } } extension CMixMakeReceptionIdentity { public static func live(_ bindingsCMix: BindingsCmix) -> CMixMakeReceptionIdentity { - CMixMakeReceptionIdentity { - let data = try bindingsCMix.makeReceptionIdentity() + CMixMakeReceptionIdentity { legacy in + let data: Data + if legacy { + data = try bindingsCMix.makeLegacyReceptionIdentity() + } else { + data = try bindingsCMix.makeReceptionIdentity() + } return try ReceptionIdentity.decode(data) } } diff --git a/Sources/XXMessengerClient/Messenger/Functors/MessengerConnect.swift b/Sources/XXMessengerClient/Messenger/Functors/MessengerConnect.swift index d871f5341027e36456e622959b30e36ee26da163..efca553a512e4ab3745eb292fd54e59232fe03f4 100644 --- a/Sources/XXMessengerClient/Messenger/Functors/MessengerConnect.swift +++ b/Sources/XXMessengerClient/Messenger/Functors/MessengerConnect.swift @@ -22,7 +22,7 @@ extension MessengerConnect { env.e2e.set(try env.login( cMixId: cMix.getId(), authCallbacks: env.authCallbacks.registered(), - identity: try cMix.makeLegacyReceptionIdentity(), + identity: try cMix.makeReceptionIdentity(legacy: true), e2eParamsJSON: env.getE2EParams() )) } diff --git a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerConnectTests.swift b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerConnectTests.swift index 7654bc26adca7ccf82be5d8836b954af40e38a73..1f69797f10465a6c4d4ddd027d368cdc7dc69c7a 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functors/MessengerConnectTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functors/MessengerConnectTests.swift @@ -12,6 +12,7 @@ final class MessengerConnectTests: XCTestCase { var e2eParamsJSON: Data } + var didMakeReceptionIdentity: [Bool] = [] var didLogIn: [DidLogIn] = [] var didLogInWithAuthCallbacks: [AuthCallbacks?] = [] var didSetE2E: [E2E?] = [] @@ -25,7 +26,10 @@ final class MessengerConnectTests: XCTestCase { env.cMix.get = { var cMix: CMix = .unimplemented cMix.getId.run = { cMixId } - cMix.makeLegacyReceptionIdentity.run = { receptionId } + cMix.makeReceptionIdentity.run = { legacy in + didMakeReceptionIdentity.append(legacy) + return receptionId + } return cMix } env.e2e.set = { didSetE2E.append($0) } @@ -49,11 +53,12 @@ final class MessengerConnectTests: XCTestCase { try connect() + XCTAssertNoDifference(didMakeReceptionIdentity, [true]) XCTAssertNoDifference(didLogIn, [ DidLogIn( ephemeral: false, cMixId: 1234, - identity: .stub, + identity: receptionId, e2eParamsJSON: e2eParams ) ]) @@ -89,7 +94,7 @@ final class MessengerConnectTests: XCTestCase { env.cMix.get = { var cMix: CMix = .unimplemented cMix.getId.run = { 1234 } - cMix.makeLegacyReceptionIdentity.run = { throw error } + cMix.makeReceptionIdentity.run = { _ in throw error } return cMix } env.authCallbacks.registered = { .unimplemented } @@ -108,7 +113,7 @@ final class MessengerConnectTests: XCTestCase { env.cMix.get = { var cMix: CMix = .unimplemented cMix.getId.run = { 1234 } - cMix.makeLegacyReceptionIdentity.run = { .stub } + cMix.makeReceptionIdentity.run = { _ in .stub } return cMix } env.authCallbacks.registered = { .unimplemented }