Skip to content
Snippets Groups Projects
Commit f8321d30 authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Add MessengerRestoreBackup.Result struct

parent 35da3a3d
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!100Messenger - restore from backup
......@@ -3,12 +3,25 @@ import XXClient
import XCTestDynamicOverlay
public struct MessengerRestoreBackup {
public var run: (Data, String) throws -> BackupParams
public struct Result: Equatable {
public init(
restoredParams: BackupParams,
restoredContacts: [Data]
) {
self.restoredParams = restoredParams
self.restoredContacts = restoredContacts
}
public var restoredParams: BackupParams
public var restoredContacts: [Data]
}
public var run: (Data, String) throws -> Result
public func callAsFunction(
backupData: Data,
backupPassphrase: String
) throws -> BackupParams {
) throws -> Result {
try run(backupData, backupPassphrase)
}
}
......@@ -59,7 +72,10 @@ extension MessengerRestoreBackup {
env.cMix.set(cMix)
env.e2e.set(e2e)
env.ud.set(ud)
return params
return Result(
restoredParams: params,
restoredContacts: report.restoredContacts
)
} catch {
try? env.fileManager.removeDirectory(storageDir)
throw error
......
......@@ -9,13 +9,14 @@ final class MessengerRestoreBackupTests: XCTestCase {
let backupPassphrase = "backup-passphrase"
let ndfData = "ndf-data".data(using: .utf8)!
let password = "password".data(using: .utf8)!
let backupContacts: [Data] = (1...3).map { "contact-\($0)" }.map { $0.data(using: .utf8)! }
let backupParams = BackupParams(
username: "backup-username",
email: "backup-email",
phone: "backup-phone"
)
let backupReport = BackupReport(
restoredContacts: [],
restoredContacts: backupContacts,
params: String(data: try! JSONEncoder().encode(backupParams), encoding: .utf8)!
)
let cMixParams = "cmix-params".data(using: .utf8)!
......@@ -152,7 +153,10 @@ final class MessengerRestoreBackupTests: XCTestCase {
.didSetUD,
])
XCTAssertNoDifference(result, backupParams)
XCTAssertNoDifference(result, MessengerRestoreBackup.Result(
restoredParams: backupParams,
restoredContacts: backupContacts
))
}
func testDownloadNdfFailure() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment