Remove _RegistrationCoordinator_PreKeyManagerShim
This commit is contained in:
parent
204546a3a7
commit
e34d65d94d
@ -20,7 +20,6 @@ extension RegistrationCoordinatorImpl {
|
||||
public typealias MessagePipelineSupervisor = _RegistrationCoordinator_MessagePipelineSupervisorShim
|
||||
public typealias MessageProcessor = _RegistrationCoordinator_MessageProcessorShim
|
||||
public typealias OWS2FAManager = _RegistrationCoordinator_OWS2FAManagerShim
|
||||
public typealias PreKeyManager = _RegistrationCoordinator_PreKeyManagerShim
|
||||
public typealias ProfileManager = _RegistrationCoordinator_ProfileManagerShim
|
||||
public typealias PushRegistrationManager = _RegistrationCoordinator_PushRegistrationManagerShim
|
||||
typealias QuickRestoreManager = _RegistrationCoordinator_QuickRestoreManagerShim
|
||||
@ -40,7 +39,6 @@ extension RegistrationCoordinatorImpl {
|
||||
public typealias MessagePipelineSupervisor = _RegistrationCoordinator_MessagePipelineSupervisorWrapper
|
||||
public typealias MessageProcessor = _RegistrationCoordinator_MessageProcessorWrapper
|
||||
public typealias OWS2FAManager = _RegistrationCoordinator_OWS2FAManagerWrapper
|
||||
public typealias PreKeyManager = _RegistrationCoordinator_PreKeyManagerWrapper
|
||||
public typealias ProfileManager = _RegistrationCoordinator_ProfileManagerWrapper
|
||||
public typealias PushRegistrationManager = _RegistrationCoordinator_PushRegistrationManagerWrapper
|
||||
typealias QuickRestoreManager = _RegistrationCoordinator_QuickRestoreManagerWrapper
|
||||
@ -282,54 +280,6 @@ public class _RegistrationCoordinator_OWS2FAManagerWrapper: _RegistrationCoordin
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - PreKeyManager
|
||||
|
||||
// TODO: Remove this layer of abstraction; it's no longer necessary.
|
||||
public protocol _RegistrationCoordinator_PreKeyManagerShim {
|
||||
|
||||
func createPreKeysForRegistration() async throws -> RegistrationPreKeyUploadBundles
|
||||
|
||||
func finalizeRegistrationPreKeys(
|
||||
_ prekeyBundles: RegistrationPreKeyUploadBundles,
|
||||
uploadDidSucceed: Bool
|
||||
) async throws
|
||||
|
||||
func rotateOneTimePreKeysForRegistration(auth: ChatServiceAuth) async throws
|
||||
|
||||
func setIsChangingNumber(_ isChangingNumber: Bool)
|
||||
}
|
||||
|
||||
public class _RegistrationCoordinator_PreKeyManagerWrapper: _RegistrationCoordinator_PreKeyManagerShim {
|
||||
|
||||
private let preKeyManager: PreKeyManager
|
||||
|
||||
public init(_ preKeyManager: PreKeyManager) {
|
||||
self.preKeyManager = preKeyManager
|
||||
}
|
||||
|
||||
public func createPreKeysForRegistration() async throws -> RegistrationPreKeyUploadBundles {
|
||||
return try await preKeyManager.createPreKeysForRegistration().value
|
||||
}
|
||||
|
||||
public func finalizeRegistrationPreKeys(
|
||||
_ prekeyBundles: RegistrationPreKeyUploadBundles,
|
||||
uploadDidSucceed: Bool
|
||||
) async throws {
|
||||
return try await preKeyManager.finalizeRegistrationPreKeys(
|
||||
prekeyBundles,
|
||||
uploadDidSucceed: uploadDidSucceed
|
||||
).value
|
||||
}
|
||||
|
||||
public func rotateOneTimePreKeysForRegistration(auth: ChatServiceAuth) async throws {
|
||||
return try await preKeyManager.rotateOneTimePreKeysForRegistration(auth: auth).value
|
||||
}
|
||||
|
||||
public func setIsChangingNumber(_ isChangingNumber: Bool) {
|
||||
preKeyManager.setIsChangingNumber(isChangingNumber)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - ProfileManager
|
||||
|
||||
public protocol _RegistrationCoordinator_ProfileManagerShim {
|
||||
|
||||
@ -27,7 +27,7 @@ public struct RegistrationCoordinatorDependencies {
|
||||
let networkManager: any NetworkManagerProtocol
|
||||
public let ows2FAManager: RegistrationCoordinatorImpl.Shims.OWS2FAManager
|
||||
public let phoneNumberDiscoverabilityManager: PhoneNumberDiscoverabilityManager
|
||||
public let preKeyManager: RegistrationCoordinatorImpl.Shims.PreKeyManager
|
||||
public let preKeyManager: any PreKeyManager
|
||||
public let profileManager: RegistrationCoordinatorImpl.Shims.ProfileManager
|
||||
public let pushRegistrationManager: RegistrationCoordinatorImpl.Shims.PushRegistrationManager
|
||||
let quickRestoreManager: RegistrationCoordinatorImpl.Shims.QuickRestoreManager
|
||||
@ -67,9 +67,7 @@ public struct RegistrationCoordinatorDependencies {
|
||||
networkManager: SSKEnvironment.shared.networkManagerRef,
|
||||
ows2FAManager: RegistrationCoordinatorImpl.Wrappers.OWS2FAManager(SSKEnvironment.shared.ows2FAManagerRef),
|
||||
phoneNumberDiscoverabilityManager: DependenciesBridge.shared.phoneNumberDiscoverabilityManager,
|
||||
preKeyManager: RegistrationCoordinatorImpl.Wrappers.PreKeyManager(
|
||||
DependenciesBridge.shared.preKeyManager
|
||||
),
|
||||
preKeyManager: DependenciesBridge.shared.preKeyManager,
|
||||
profileManager: RegistrationCoordinatorImpl.Wrappers.ProfileManager(SSKEnvironment.shared.profileManagerRef),
|
||||
pushRegistrationManager: RegistrationCoordinatorImpl.Wrappers.PushRegistrationManager(AppEnvironment.shared.pushRegistrationManagerRef),
|
||||
quickRestoreManager: RegistrationCoordinatorImpl.Wrappers.QuickRestoreManager(AppEnvironment.shared.quickRestoreManager),
|
||||
|
||||
@ -3293,7 +3293,7 @@ public class RegistrationCoordinatorImpl: RegistrationCoordinator {
|
||||
// But we should still upload one-time prekeys, as that is not part
|
||||
// of account creation.
|
||||
do {
|
||||
try await deps.preKeyManager.rotateOneTimePreKeysForRegistration(auth: accountIdentity.chatServiceAuth)
|
||||
try await deps.preKeyManager.rotateOneTimePreKeysForRegistration(auth: accountIdentity.chatServiceAuth).value
|
||||
self.db.write { tx in
|
||||
self.updatePersistedState(tx) {
|
||||
// No harm marking both down as done even though
|
||||
@ -4262,7 +4262,7 @@ public class RegistrationCoordinatorImpl: RegistrationCoordinator {
|
||||
|
||||
let prekeyBundles: RegistrationPreKeyUploadBundles
|
||||
do {
|
||||
prekeyBundles = try await deps.preKeyManager.createPreKeysForRegistration()
|
||||
prekeyBundles = try await deps.preKeyManager.createPreKeysForRegistration().value
|
||||
} catch {
|
||||
return .showErrorSheet(.genericError)
|
||||
}
|
||||
@ -4293,7 +4293,7 @@ public class RegistrationCoordinatorImpl: RegistrationCoordinator {
|
||||
try await deps.preKeyManager.finalizeRegistrationPreKeys(
|
||||
prekeyBundles,
|
||||
uploadDidSucceed: isPrekeyUploadSuccess
|
||||
)
|
||||
).value
|
||||
} catch {
|
||||
// Finalizing is best effort.
|
||||
Logger.error("Unable to finalize prekeys, ignoring and continuing")
|
||||
|
||||
@ -318,11 +318,11 @@ public class RegistrationCoordinatorTest {
|
||||
// It needs an apns token to register.
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
// It needs prekeys as well.
|
||||
preKeyManagerMock.addCreatePreKeysMock({ return .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
// And will finalize prekeys after success.
|
||||
preKeyManagerMock.addFinalizePreKeyMock { didSucceed in
|
||||
#expect(didSucceed)
|
||||
return .value(())
|
||||
return Task {}
|
||||
}
|
||||
|
||||
let identityResponse = Stubs.accountIdentityResponse()
|
||||
@ -362,7 +362,7 @@ public class RegistrationCoordinatorTest {
|
||||
// When registered, we should create pre-keys.
|
||||
preKeyManagerMock.addRotateOneTimePreKeyMock({ auth in
|
||||
#expect(auth == expectedAuthedAccount().chatServiceAuth)
|
||||
return .value(())
|
||||
return Task {}
|
||||
})
|
||||
|
||||
if wasReglockEnabled {
|
||||
@ -472,11 +472,11 @@ public class RegistrationCoordinatorTest {
|
||||
// It needs an apns token to register.
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
// Every time we register we also ask for prekeys.
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
// And we finalize them after.
|
||||
preKeyManagerMock.addFinalizePreKeyMock { didSucceed in
|
||||
#expect(didSucceed)
|
||||
return .value(())
|
||||
return Task {}
|
||||
}
|
||||
|
||||
let identityResponse = Stubs.accountIdentityResponse()
|
||||
@ -509,7 +509,7 @@ public class RegistrationCoordinatorTest {
|
||||
// When registered, we should create pre-keys.
|
||||
preKeyManagerMock.addRotateOneTimePreKeyMock({ auth in
|
||||
#expect(auth == expectedAuthedAccount().chatServiceAuth)
|
||||
return .value(())
|
||||
return Task {}
|
||||
})
|
||||
|
||||
// We haven't done a SVR backup; that should happen now.
|
||||
@ -613,18 +613,18 @@ public class RegistrationCoordinatorTest {
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
|
||||
// Every time we register we also ask for prekeys.
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
|
||||
// And we finalize them after.
|
||||
// Set up a list of mocks that should be returned in order
|
||||
preKeyManagerMock.addFinalizePreKeyMock { didSucceed in
|
||||
#expect(didSucceed.negated)
|
||||
return .value(())
|
||||
return Task {}
|
||||
}
|
||||
preKeyManagerMock.addFinalizePreKeyMock { didSucceed in
|
||||
#expect(didSucceed)
|
||||
return .value(())
|
||||
return Task {}
|
||||
}
|
||||
|
||||
// Fail the request; the reg recovery pw is invalid.
|
||||
@ -718,17 +718,17 @@ public class RegistrationCoordinatorTest {
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
|
||||
preKeyManagerMock.addFinalizePreKeyMock { didSucceed in
|
||||
#expect(didSucceed.negated)
|
||||
return .value(())
|
||||
return Task {}
|
||||
}
|
||||
preKeyManagerMock.addFinalizePreKeyMock { didSucceed in
|
||||
#expect(didSucceed.negated)
|
||||
return .value(())
|
||||
return Task {}
|
||||
}
|
||||
|
||||
// Fail the first request; the reglock is invalid.
|
||||
@ -817,17 +817,17 @@ public class RegistrationCoordinatorTest {
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
|
||||
// Every time we register we also ask for prekeys.
|
||||
preKeyManagerMock.addCreatePreKeysMock({ return .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ return .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
|
||||
// And we finalize them after.
|
||||
preKeyManagerMock.addFinalizePreKeyMock { didSucceed in
|
||||
#expect(didSucceed.negated)
|
||||
return .value(())
|
||||
return Task {}
|
||||
}
|
||||
preKeyManagerMock.addFinalizePreKeyMock { didSucceed in
|
||||
#expect(didSucceed)
|
||||
return .value(())
|
||||
return Task {}
|
||||
}
|
||||
|
||||
// Fail the request with a network error.
|
||||
@ -877,7 +877,7 @@ public class RegistrationCoordinatorTest {
|
||||
// When registered, it should try and sync pre-keys.
|
||||
preKeyManagerMock.addRotateOneTimePreKeyMock({ auth in
|
||||
#expect(auth == expectedAuthedAccount().chatServiceAuth)
|
||||
return .value(())
|
||||
return Task {}
|
||||
})
|
||||
|
||||
// We haven't done a SVR backup; that should happen.
|
||||
@ -1032,11 +1032,11 @@ public class RegistrationCoordinatorTest {
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
|
||||
preKeyManagerMock.addFinalizePreKeyMock({ _ in .value(()) })
|
||||
preKeyManagerMock.addFinalizePreKeyMock({ _ in .value(()) })
|
||||
preKeyManagerMock.addFinalizePreKeyMock({ _ in Task {} })
|
||||
preKeyManagerMock.addFinalizePreKeyMock({ _ in Task {} })
|
||||
|
||||
// Fail the first request;
|
||||
let expectedRecoveryPwRequest = createAccountWithRecoveryPw(masterKey)
|
||||
@ -1184,16 +1184,16 @@ public class RegistrationCoordinatorTest {
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
|
||||
preKeyManagerMock.addFinalizePreKeyMock { didSucceed in
|
||||
#expect(didSucceed.negated)
|
||||
return .value(())
|
||||
return Task {}
|
||||
}
|
||||
preKeyManagerMock.addFinalizePreKeyMock { didSucceed in
|
||||
#expect(didSucceed)
|
||||
return .value(())
|
||||
return Task {}
|
||||
}
|
||||
|
||||
// Fail the first request; the reglock is invalid.
|
||||
@ -1237,7 +1237,7 @@ public class RegistrationCoordinatorTest {
|
||||
// When registered, we should create pre-keys.
|
||||
preKeyManagerMock.addRotateOneTimePreKeyMock({ auth in
|
||||
#expect(auth == expectedAuthedAccount().chatServiceAuth)
|
||||
return .value(())
|
||||
return Task {}
|
||||
})
|
||||
|
||||
// If we had reglock before registration, it should be re-enabled.
|
||||
@ -1394,13 +1394,13 @@ public class RegistrationCoordinatorTest {
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
|
||||
preKeyManagerMock.addFinalizePreKeyMock({ _ in .value(()) })
|
||||
preKeyManagerMock.addFinalizePreKeyMock({ _ in .value(()) })
|
||||
preKeyManagerMock.addFinalizePreKeyMock({ _ in .value(()) })
|
||||
preKeyManagerMock.addFinalizePreKeyMock({ _ in Task {} })
|
||||
preKeyManagerMock.addFinalizePreKeyMock({ _ in Task {} })
|
||||
preKeyManagerMock.addFinalizePreKeyMock({ _ in Task {} })
|
||||
|
||||
// Fail the first request; the local key is invalid.
|
||||
let expectedRecoveryPwRequest = createAccountWithRecoveryPw(masterKey)
|
||||
@ -1523,12 +1523,12 @@ public class RegistrationCoordinatorTest {
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
|
||||
// Every time we register we also ask for prekeys.
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
|
||||
// And we finalize them after.
|
||||
preKeyManagerMock.addFinalizePreKeyMock { didSucceed in
|
||||
#expect(didSucceed)
|
||||
return .value(())
|
||||
return Task {}
|
||||
}
|
||||
|
||||
// Now still at it should make a reg recovery pw request
|
||||
@ -1560,7 +1560,7 @@ public class RegistrationCoordinatorTest {
|
||||
// When registered, it should try and create pre-keys.
|
||||
preKeyManagerMock.addRotateOneTimePreKeyMock({ auth in
|
||||
#expect(auth == expectedAuthedAccount().chatServiceAuth)
|
||||
return .value(())
|
||||
return Task {}
|
||||
})
|
||||
|
||||
// Once we create pre-keys, we should back up to svr.
|
||||
@ -1834,7 +1834,7 @@ public class RegistrationCoordinatorTest {
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
|
||||
// It should also fetch the prekeys for account creation
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles()) })
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
|
||||
let expectedRequest = createAccountWithSession(newMasterKey)
|
||||
mockURLSession.addResponse(
|
||||
@ -1861,14 +1861,14 @@ public class RegistrationCoordinatorTest {
|
||||
// Once we are registered, we should finalize prekeys.
|
||||
preKeyManagerMock.addFinalizePreKeyMock { didSucceed in
|
||||
#expect(didSucceed)
|
||||
return .value(())
|
||||
return Task {}
|
||||
}
|
||||
|
||||
// Then we should try and create one time pre-keys
|
||||
// with the credentials we got in the identity response.
|
||||
preKeyManagerMock.addRotateOneTimePreKeyMock({ auth in
|
||||
#expect(auth == expectedAuthedAccount().chatServiceAuth)
|
||||
return .value(())
|
||||
return Task {}
|
||||
})
|
||||
|
||||
// Finish the validation.
|
||||
@ -2863,9 +2863,7 @@ public class RegistrationCoordinatorTest {
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
|
||||
// It should also fetch the prekeys for account creation
|
||||
preKeyManagerMock.addCreatePreKeysMock({
|
||||
return .value(Stubs.prekeyBundles())
|
||||
})
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
|
||||
let expectedRequest = createAccountWithSession(newMasterKey)
|
||||
mockURLSession.addResponse(
|
||||
@ -2896,14 +2894,14 @@ public class RegistrationCoordinatorTest {
|
||||
// Once we are registered, we should finalize prekeys.
|
||||
preKeyManagerMock.addFinalizePreKeyMock { didSucceed in
|
||||
#expect(didSucceed)
|
||||
return .value(())
|
||||
return Task {}
|
||||
}
|
||||
|
||||
// Then we should try and create one time pre-keys
|
||||
// with the credentials we got in the identity response.
|
||||
preKeyManagerMock.addRotateOneTimePreKeyMock({ auth in
|
||||
#expect(auth == expectedAuthedAccount().chatServiceAuth)
|
||||
return .value(())
|
||||
return Task {}
|
||||
})
|
||||
|
||||
// When we skip the pin, it should skip any SVR backups.
|
||||
@ -3006,7 +3004,7 @@ public class RegistrationCoordinatorTest {
|
||||
pushRegistrationManagerMock.addRequestPushTokenMock({ .success(Stubs.apnsRegistrationId) })
|
||||
|
||||
// It should also fetch the prekeys for account creation
|
||||
preKeyManagerMock.addCreatePreKeysMock({ .value(Stubs.prekeyBundles())})
|
||||
preKeyManagerMock.addCreatePreKeysMock({ Task { Stubs.prekeyBundles() } })
|
||||
|
||||
let expectedRequest = createAccountWithSession(newMasterKey)
|
||||
mockURLSession.addResponse(
|
||||
@ -3033,14 +3031,14 @@ public class RegistrationCoordinatorTest {
|
||||
// Once we are registered, we should finalize prekeys.
|
||||
preKeyManagerMock.addFinalizePreKeyMock { didSucceed in
|
||||
#expect(didSucceed)
|
||||
return .value(())
|
||||
return Task {}
|
||||
}
|
||||
|
||||
// Then we should try and create one time pre-keys
|
||||
// with the credentials we got in the identity response.
|
||||
preKeyManagerMock.addRotateOneTimePreKeyMock({ auth in
|
||||
#expect(auth == expectedAuthedAccount().chatServiceAuth)
|
||||
return .value(())
|
||||
return Task {}
|
||||
})
|
||||
|
||||
// When we skip the pin, it should skip any SVR backups.
|
||||
|
||||
@ -185,34 +185,41 @@ public class _RegistrationCoordinator_OWS2FAManagerMock: _RegistrationCoordinato
|
||||
|
||||
// MARK: - PreKeyManager
|
||||
|
||||
public class _RegistrationCoordinator_PreKeyManagerMock: _RegistrationCoordinator_PreKeyManagerShim {
|
||||
public class _RegistrationCoordinator_PreKeyManagerMock: PreKeyManager {
|
||||
var run: RegistrationCoordinatorTest.RegistrationTestRun
|
||||
init(run: RegistrationCoordinatorTest.RegistrationTestRun) {
|
||||
self.run = run
|
||||
}
|
||||
|
||||
public typealias CreatePreKeysMock = (() -> Promise<RegistrationPreKeyUploadBundles>)
|
||||
public func isAppLockedDueToPreKeyUpdateFailures(tx: DBReadTransaction) -> Bool { fatalError() }
|
||||
public func checkPreKeysIfNecessary(tx: DBReadTransaction) { fatalError() }
|
||||
public func rotatePreKeysOnUpgradeIfNecessary(for identity: OWSIdentity) async throws { fatalError() }
|
||||
public func createPreKeysForProvisioning(aciIdentityKeyPair: ECKeyPair, pniIdentityKeyPair: ECKeyPair) -> Task<RegistrationPreKeyUploadBundles, any Error> { fatalError() }
|
||||
public func rotateSignedPreKeysIfNeeded() -> Task<Void, any Error> { fatalError() }
|
||||
public func refreshOneTimePreKeys(forIdentity identity: OWSIdentity, alsoRefreshSignedPreKey shouldRefreshSignedPreKey: Bool) { fatalError() }
|
||||
|
||||
public typealias CreatePreKeysMock = (() -> Task<RegistrationPreKeyUploadBundles, any Error>)
|
||||
private var createPreKeysMocks = [CreatePreKeysMock]()
|
||||
public func addCreatePreKeysMock(_ mock: @escaping CreatePreKeysMock) { createPreKeysMocks.append(mock) }
|
||||
public func createPreKeysForRegistration() async throws -> RegistrationPreKeyUploadBundles {
|
||||
public func createPreKeysForRegistration() -> Task<RegistrationPreKeyUploadBundles, any Error> {
|
||||
run.addObservedStep(.createPreKeys)
|
||||
return try await createPreKeysMocks.removeFirst()().awaitable()
|
||||
return createPreKeysMocks.removeFirst()()
|
||||
}
|
||||
|
||||
public typealias FinalizePreKeysMock = ((Bool) -> Promise<Void>)
|
||||
public typealias FinalizePreKeysMock = ((Bool) -> Task<Void, any Error>)
|
||||
private var finalizePreKeysMocks = [FinalizePreKeysMock]()
|
||||
public func addFinalizePreKeyMock(_ mock: @escaping FinalizePreKeysMock) { finalizePreKeysMocks.append(mock) }
|
||||
public func finalizeRegistrationPreKeys(_ bundles: RegistrationPreKeyUploadBundles, uploadDidSucceed: Bool) async throws {
|
||||
public func finalizeRegistrationPreKeys(_ bundles: RegistrationPreKeyUploadBundles, uploadDidSucceed: Bool) -> Task<Void, any Error> {
|
||||
run.addObservedStep(.finalizePreKeys)
|
||||
return try await finalizePreKeysMocks.removeFirst()(uploadDidSucceed).awaitable()
|
||||
return finalizePreKeysMocks.removeFirst()(uploadDidSucceed)
|
||||
}
|
||||
|
||||
public typealias RotateOneTimePreKeysMock = ((ChatServiceAuth) -> Promise<Void>)
|
||||
public typealias RotateOneTimePreKeysMock = ((ChatServiceAuth) -> Task<Void, any Error>)
|
||||
private var rotateOneTimePreKeysMocks = [RotateOneTimePreKeysMock]()
|
||||
public func addRotateOneTimePreKeyMock(_ mock: @escaping RotateOneTimePreKeysMock) { rotateOneTimePreKeysMocks.append(mock) }
|
||||
public func rotateOneTimePreKeysForRegistration(auth: ChatServiceAuth) async throws {
|
||||
public func rotateOneTimePreKeysForRegistration(auth: ChatServiceAuth) -> Task<Void, any Error> {
|
||||
run.addObservedStep(.rotateOneTimePreKeys)
|
||||
return try await rotateOneTimePreKeysMocks.removeFirst()(auth).awaitable()
|
||||
return rotateOneTimePreKeysMocks.removeFirst()(auth)
|
||||
}
|
||||
|
||||
public func setIsChangingNumber(_ isChangingNumber: Bool) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user