Skip to content

Commit 80a6816

Browse files
authored
Remove mocks for pre keys stores
1 parent f5aabce commit 80a6816

31 files changed

+423
-939
lines changed

Signal.xcodeproj/project.pbxproj

Lines changed: 24 additions & 32 deletions
Large diffs are not rendered by default.

Signal/test/Provisioning/ProvisioningCoordinatorTest.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,11 +243,16 @@ private class MockOWSDeviceService: OWSDeviceService {
243243
}
244244

245245
private class MockSignalProtocolStoreManager: SignalProtocolStoreManager {
246+
private let aciProtocolStore = MockSignalProtocolStore(identity: .aci)
247+
private let pniProtocolStore = MockSignalProtocolStore(identity: .pni)
246248

247249
init() {}
248250

249251
func signalProtocolStore(for identity: SignalServiceKit.OWSIdentity) -> any SignalServiceKit.SignalProtocolStore {
250-
return MockSignalProtocolStore()
252+
switch identity {
253+
case .aci: aciProtocolStore
254+
case .pni: pniProtocolStore
255+
}
251256
}
252257

253258
func removeAllKeys(tx: DBWriteTransaction) {}

Signal/test/Registration/RegistrationCoordinatorTest.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public class RegistrationCoordinatorTest {
5959

6060
appExpiryMock = MockAppExpiry()
6161
changeNumberPniManager = ChangePhoneNumberPniManagerMock(
62-
mockKyberStore: MockKyberPreKeyStore(dateProvider: Date.provider)
62+
mockKyberStore: KyberPreKeyStoreImpl(for: .pni, dateProvider: dateProvider)
6363
)
6464
contactsStore = RegistrationCoordinatorImpl.TestMocks.ContactsStore()
6565
experienceManager = RegistrationCoordinatorImpl.TestMocks.ExperienceManager()
@@ -4253,7 +4253,7 @@ public class RegistrationCoordinatorTest {
42534253
return RegistrationPreKeyUploadBundle(
42544254
identity: identity,
42554255
identityKeyPair: identityKeyPair,
4256-
signedPreKey: SSKSignedPreKeyStore.generateSignedPreKey(signedBy: identityKeyPair),
4256+
signedPreKey: SignedPreKeyStoreImpl.generateSignedPreKey(signedBy: identityKeyPair),
42574257
lastResortPreKey: {
42584258
let keyPair = KEMKeyPair.generate()
42594259
let signature = Data(identityKeyPair.keyPair.privateKey.generateSignature(message: Data(keyPair.publicKey.serialize())))

SignalServiceKit/Account/PniDistributionParameterBuilder.swift

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,20 +105,17 @@ final class PniDistributionParameterBuilderImpl: PniDistributionParamaterBuilder
105105

106106
private let db: any DB
107107
private let messageSender: Shims.MessageSender
108-
private let pniSignedPreKeyStore: SignalSignedPreKeyStore
109-
private let pniKyberPreKeyStore: SignalKyberPreKeyStore
108+
private let pniKyberPreKeyStore: KyberPreKeyStoreImpl
110109
private let registrationIdGenerator: RegistrationIdGenerator
111110

112111
init(
113112
db: any DB,
114113
messageSender: Shims.MessageSender,
115-
pniSignedPreKeyStore: SignalSignedPreKeyStore,
116-
pniKyberPreKeyStore: SignalKyberPreKeyStore,
114+
pniKyberPreKeyStore: KyberPreKeyStoreImpl,
117115
registrationIdGenerator: RegistrationIdGenerator
118116
) {
119117
self.db = db
120118
self.messageSender = messageSender
121-
self.pniSignedPreKeyStore = pniSignedPreKeyStore
122119
self.pniKyberPreKeyStore = pniKyberPreKeyStore
123120
self.registrationIdGenerator = registrationIdGenerator
124121
}
@@ -210,7 +207,7 @@ final class PniDistributionParameterBuilderImpl: PniDistributionParamaterBuilder
210207

211208
return try await withThrowingTaskGroup(of: LinkedDevicePniGenerationParams?.self) { taskGroup in
212209
for linkedDeviceId in localUserLinkedDeviceIds {
213-
let signedPreKey = pniSignedPreKeyStore.generateSignedPreKey(signedBy: pniIdentityKeyPair)
210+
let signedPreKey = SignedPreKeyStoreImpl.generateSignedPreKey(signedBy: pniIdentityKeyPair)
214211
let pqLastResortPreKey = pniKyberPreKeyStore.generateLastResortKyberPreKeyForLinkedDevice(signedBy: pniIdentityKeyPair)
215212
let registrationId = registrationIdGenerator.generate()
216213

SignalServiceKit/Account/PniHelloWorldManager.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ class PniHelloWorldManagerImpl: PniHelloWorldManager {
3838
private let keyValueStore: KeyValueStore
3939
private let networkManager: Shims.NetworkManager
4040
private let pniDistributionParameterBuilder: PniDistributionParamaterBuilder
41-
private let pniSignedPreKeyStore: SignalSignedPreKeyStore
42-
private let pniKyberPreKeyStore: SignalKyberPreKeyStore
41+
private let pniSignedPreKeyStore: SignedPreKeyStoreImpl
42+
private let pniKyberPreKeyStore: KyberPreKeyStoreImpl
4343
private let recipientDatabaseTable: any RecipientDatabaseTable
4444
private let tsAccountManager: TSAccountManager
4545

@@ -48,8 +48,8 @@ class PniHelloWorldManagerImpl: PniHelloWorldManager {
4848
identityManager: any OWSIdentityManager,
4949
networkManager: Shims.NetworkManager,
5050
pniDistributionParameterBuilder: PniDistributionParamaterBuilder,
51-
pniSignedPreKeyStore: SignalSignedPreKeyStore,
52-
pniKyberPreKeyStore: SignalKyberPreKeyStore,
51+
pniSignedPreKeyStore: SignedPreKeyStoreImpl,
52+
pniKyberPreKeyStore: KyberPreKeyStoreImpl,
5353
recipientDatabaseTable: any RecipientDatabaseTable,
5454
tsAccountManager: TSAccountManager
5555
) {
@@ -127,7 +127,7 @@ class PniHelloWorldManagerImpl: PniHelloWorldManager {
127127
let localDeviceId = tsAccountManager.storedDeviceId(tx: tx)
128128
let localDevicePniRegistrationId = tsAccountManager.getOrGeneratePniRegistrationId(tx: tx)
129129

130-
let localDevicePniSignedPreKey = pniSignedPreKeyStore.generateSignedPreKey(signedBy: localPniIdentityKeyPair)
130+
let localDevicePniSignedPreKey = SignedPreKeyStoreImpl.generateSignedPreKey(signedBy: localPniIdentityKeyPair)
131131
pniSignedPreKeyStore.storeSignedPreKey(localDevicePniSignedPreKey.id, signedPreKeyRecord: localDevicePniSignedPreKey, tx: tx)
132132

133133
let localDevicePniPqLastResortPreKey = pniKyberPreKeyStore.generateLastResortKyberPreKey(signedBy: localPniIdentityKeyPair, tx: tx)

SignalServiceKit/Account/PreKeys/MockPreKeyManager.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ internal class MockPreKeyManager: PreKeyManager {
2121
aci: .init(
2222
identity: .aci,
2323
identityKeyPair: identityKeyPair,
24-
signedPreKey: SSKSignedPreKeyStore.generateSignedPreKey(signedBy: identityKeyPair),
24+
signedPreKey: SignedPreKeyStoreImpl.generateSignedPreKey(signedBy: identityKeyPair),
2525
lastResortPreKey: generateLastResortKyberPreKey(signedBy: identityKeyPair)
2626
),
2727
pni: .init(
2828
identity: .pni,
2929
identityKeyPair: identityKeyPair,
30-
signedPreKey: SSKSignedPreKeyStore.generateSignedPreKey(signedBy: identityKeyPair),
30+
signedPreKey: SignedPreKeyStoreImpl.generateSignedPreKey(signedBy: identityKeyPair),
3131
lastResortPreKey: generateLastResortKyberPreKey(signedBy: identityKeyPair)
3232
)
3333
)
@@ -44,13 +44,13 @@ internal class MockPreKeyManager: PreKeyManager {
4444
aci: .init(
4545
identity: .aci,
4646
identityKeyPair: identityKeyPair,
47-
signedPreKey: SSKSignedPreKeyStore.generateSignedPreKey(signedBy: identityKeyPair),
47+
signedPreKey: SignedPreKeyStoreImpl.generateSignedPreKey(signedBy: identityKeyPair),
4848
lastResortPreKey: generateLastResortKyberPreKey(signedBy: identityKeyPair)
4949
),
5050
pni: .init(
5151
identity: .pni,
5252
identityKeyPair: identityKeyPair,
53-
signedPreKey: SSKSignedPreKeyStore.generateSignedPreKey(signedBy: identityKeyPair),
53+
signedPreKey: SignedPreKeyStoreImpl.generateSignedPreKey(signedBy: identityKeyPair),
5454
lastResortPreKey: generateLastResortKyberPreKey(signedBy: identityKeyPair)
5555
)
5656
)

SignalServiceKit/Account/PreKeys/PreKeyTaskManager.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ internal struct PreKeyTaskManager {
223223
return RegistrationPreKeyUploadBundle(
224224
identity: identity,
225225
identityKeyPair: identityKeyPair,
226-
signedPreKey: protocolStore.signedPreKeyStore.generateSignedPreKey(signedBy: identityKeyPair),
226+
signedPreKey: SignedPreKeyStoreImpl.generateSignedPreKey(signedBy: identityKeyPair),
227227
lastResortPreKey: protocolStore.kyberPreKeyStore.generateLastResortKyberPreKey(
228228
signedBy: identityKeyPair,
229229
tx: tx
@@ -240,7 +240,7 @@ internal struct PreKeyTaskManager {
240240
return RegistrationPreKeyUploadBundle(
241241
identity: identity,
242242
identityKeyPair: identityKeyPair,
243-
signedPreKey: protocolStore.signedPreKeyStore.generateSignedPreKey(
243+
signedPreKey: SignedPreKeyStoreImpl.generateSignedPreKey(
244244
signedBy: identityKeyPair
245245
),
246246
lastResortPreKey: protocolStore.kyberPreKeyStore.generateLastResortKyberPreKey(
@@ -303,7 +303,7 @@ internal struct PreKeyTaskManager {
303303
case .oneTimePreKey:
304304
preKeyRecords = protocolStore.preKeyStore.generatePreKeyRecords(tx: tx)
305305
case .signedPreKey:
306-
signedPreKey = protocolStore.signedPreKeyStore.generateSignedPreKey(signedBy: identityKeyPair)
306+
signedPreKey = SignedPreKeyStoreImpl.generateSignedPreKey(signedBy: identityKeyPair)
307307
case .oneTimePqPreKey:
308308
pqPreKeyRecords = protocolStore.kyberPreKeyStore.generateKyberPreKeyRecords(
309309
count: 100,
@@ -486,7 +486,7 @@ internal struct PreKeyTaskManager {
486486
tx: DBWriteTransaction
487487
) {
488488
let protocolStore = protocolStoreManager.signalProtocolStore(for: bundle.identity)
489-
protocolStore.signedPreKeyStore.removeSignedPreKey(bundle.signedPreKey, tx: tx)
489+
protocolStore.signedPreKeyStore.removeSignedPreKey(signedPreKeyId: bundle.signedPreKey.id, tx: tx)
490490
protocolStore.kyberPreKeyStore.removeLastResortPreKey(record: bundle.lastResortPreKey, tx: tx)
491491
}
492492

SignalServiceKit/ChangePhoneNumber/ChangePhoneNumberPniManager+Shims.swift

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,11 @@ extension ChangePhoneNumberPniManagerImpl {
77
enum Shims {
88
typealias IdentityManager = _ChangePhoneNumberPniManager_IdentityManagerShim
99
typealias PreKeyManager = _ChangePhoneNumberPniManager_PreKeyManagerShim
10-
typealias SignedPreKeyStore = _ChangePhoneNumberPniManager_SignedPreKeyStoreShim
1110
}
1211

1312
enum Wrappers {
1413
typealias IdentityManager = _ChangePhoneNumberPniManager_IdentityManagerWrapper
1514
typealias PreKeyManager = _ChangePhoneNumberPniManager_PreKeyManagerWrapper
16-
typealias SignedPreKeyStore = _ChangePhoneNumberPniManager_SignedPreKeyStoreWrapper
1715
}
1816
}
1917

@@ -36,16 +34,6 @@ protocol _ChangePhoneNumberPniManager_PreKeyManagerShim {
3634
)
3735
}
3836

39-
protocol _ChangePhoneNumberPniManager_SignedPreKeyStoreShim {
40-
func generateSignedPreKey(signedBy: ECKeyPair) -> SignedPreKeyRecord
41-
42-
func storeSignedPreKey(
43-
signedPreKeyId: Int32,
44-
signedPreKeyRecord: SignalServiceKit.SignedPreKeyRecord,
45-
transaction: DBWriteTransaction
46-
)
47-
}
48-
4937
// MARK: - Wrappers
5038

5139
class _ChangePhoneNumberPniManager_IdentityManagerWrapper: _ChangePhoneNumberPniManager_IdentityManagerShim {
@@ -79,27 +67,3 @@ class _ChangePhoneNumberPniManager_PreKeyManagerWrapper: _ChangePhoneNumberPniMa
7967
)
8068
}
8169
}
82-
83-
class _ChangePhoneNumberPniManager_SignedPreKeyStoreWrapper: _ChangePhoneNumberPniManager_SignedPreKeyStoreShim {
84-
private let signedPreKeyStore: SSKSignedPreKeyStore
85-
86-
init(_ signedPreKeyStore: SSKSignedPreKeyStore) {
87-
self.signedPreKeyStore = signedPreKeyStore
88-
}
89-
90-
func generateSignedPreKey(signedBy: ECKeyPair) -> SignedPreKeyRecord {
91-
return signedPreKeyStore.generateSignedPreKey(signedBy: signedBy)
92-
}
93-
94-
func storeSignedPreKey(
95-
signedPreKeyId: Int32,
96-
signedPreKeyRecord: SignalServiceKit.SignedPreKeyRecord,
97-
transaction: DBWriteTransaction
98-
) {
99-
signedPreKeyStore.storeSignedPreKey(
100-
signedPreKeyId,
101-
signedPreKeyRecord: signedPreKeyRecord,
102-
transaction: SDSDB.shimOnlyBridge(transaction)
103-
)
104-
}
105-
}

SignalServiceKit/ChangePhoneNumber/ChangePhoneNumberPniManager.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ class ChangePhoneNumberPniManagerImpl: ChangePhoneNumberPniManager {
101101
private let db: any DB
102102
private let identityManager: Shims.IdentityManager
103103
private let pniDistributionParameterBuilder: PniDistributionParamaterBuilder
104-
private let pniSignedPreKeyStore: SignalSignedPreKeyStore
105-
private let pniKyberPreKeyStore: SignalKyberPreKeyStore
104+
private let pniSignedPreKeyStore: SignedPreKeyStoreImpl
105+
private let pniKyberPreKeyStore: KyberPreKeyStoreImpl
106106
private let preKeyManager: Shims.PreKeyManager
107107
private let registrationIdGenerator: RegistrationIdGenerator
108108
private let tsAccountManager: TSAccountManager
@@ -111,8 +111,8 @@ class ChangePhoneNumberPniManagerImpl: ChangePhoneNumberPniManager {
111111
db: any DB,
112112
identityManager: Shims.IdentityManager,
113113
pniDistributionParameterBuilder: PniDistributionParamaterBuilder,
114-
pniSignedPreKeyStore: SignalSignedPreKeyStore,
115-
pniKyberPreKeyStore: SignalKyberPreKeyStore,
114+
pniSignedPreKeyStore: SignedPreKeyStoreImpl,
115+
pniKyberPreKeyStore: KyberPreKeyStoreImpl,
116116
preKeyManager: Shims.PreKeyManager,
117117
registrationIdGenerator: RegistrationIdGenerator,
118118
tsAccountManager: TSAccountManager
@@ -147,7 +147,7 @@ class ChangePhoneNumberPniManagerImpl: ChangePhoneNumberPniManager {
147147
let pendingState = ChangePhoneNumberPni.PendingState(
148148
newE164: newE164,
149149
pniIdentityKeyPair: pniIdentityKeyPair,
150-
localDevicePniSignedPreKeyRecord: pniSignedPreKeyStore.generateSignedPreKey(signedBy: pniIdentityKeyPair),
150+
localDevicePniSignedPreKeyRecord: SignedPreKeyStoreImpl.generateSignedPreKey(signedBy: pniIdentityKeyPair),
151151
localDevicePniPqLastResortPreKeyRecord: localDevicePniPqLastResortPreKeyRecord,
152152
localDevicePniRegistrationId: registrationIdGenerator.generate()
153153
)

SignalServiceKit/ChangePhoneNumber/ChangePhoneNumberPniManagerMock.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ public import LibSignalClient
99

1010
public class ChangePhoneNumberPniManagerMock: ChangePhoneNumberPniManager {
1111

12-
private let mockKyberStore: SignalKyberPreKeyStore
12+
private let mockKyberStore: KyberPreKeyStoreImpl
1313

14-
public init(mockKyberStore: SignalKyberPreKeyStore) {
14+
public init(mockKyberStore: KyberPreKeyStoreImpl) {
1515
self.mockKyberStore = mockKyberStore
1616
}
1717

@@ -32,14 +32,14 @@ public class ChangePhoneNumberPniManagerMock: ChangePhoneNumberPniManager {
3232
parameters: PniDistribution.Parameters.mock(
3333
pniIdentityKeyPair: keyPair,
3434
localDeviceId: localDeviceId,
35-
localDevicePniSignedPreKey: SSKSignedPreKeyStore.generateSignedPreKey(signedBy: keyPair),
35+
localDevicePniSignedPreKey: SignedPreKeyStoreImpl.generateSignedPreKey(signedBy: keyPair),
3636
localDevicePniPqLastResortPreKey: localPqKey1,
3737
localDevicePniRegistrationId: registrationId
3838
),
3939
pendingState: ChangePhoneNumberPni.PendingState(
4040
newE164: newE164,
4141
pniIdentityKeyPair: keyPair,
42-
localDevicePniSignedPreKeyRecord: SSKSignedPreKeyStore.generateSignedPreKey(signedBy: keyPair),
42+
localDevicePniSignedPreKeyRecord: SignedPreKeyStoreImpl.generateSignedPreKey(signedBy: keyPair),
4343
localDevicePniPqLastResortPreKeyRecord: localPqKey2,
4444
localDevicePniRegistrationId: registrationId
4545
)

0 commit comments

Comments
 (0)