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

Remove password in MessengerDestroy

parent 21105773
Branches
Tags
2 merge requests!102Release 1.0.0,!59Update MessengerDestory
This commit is part of merge request !59. Comments created here will be created in the context of that merge request.
...@@ -23,6 +23,7 @@ extension MessengerDestroy { ...@@ -23,6 +23,7 @@ extension MessengerDestroy {
env.e2e.set(nil) env.e2e.set(nil)
env.cMix.set(nil) env.cMix.set(nil)
try env.fileManager.removeDirectory(env.storageDir) try env.fileManager.removeDirectory(env.storageDir)
try env.passwordStorage.remove()
} }
} }
} }
......
...@@ -13,6 +13,7 @@ final class MessengerDestroyTests: XCTestCase { ...@@ -13,6 +13,7 @@ final class MessengerDestroyTests: XCTestCase {
var didSetUD: [UserDiscovery?] = [] var didSetUD: [UserDiscovery?] = []
var didSetE2E: [E2E?] = [] var didSetE2E: [E2E?] = []
var didSetCMix: [CMix?] = [] var didSetCMix: [CMix?] = []
var didRemovePassword = 0
var env: MessengerEnvironment = .unimplemented var env: MessengerEnvironment = .unimplemented
env.cMix.get = { env.cMix.get = {
...@@ -28,6 +29,7 @@ final class MessengerDestroyTests: XCTestCase { ...@@ -28,6 +29,7 @@ final class MessengerDestroyTests: XCTestCase {
env.e2e.set = { didSetE2E.append($0) } env.e2e.set = { didSetE2E.append($0) }
env.cMix.set = { didSetCMix.append($0) } env.cMix.set = { didSetCMix.append($0) }
env.fileManager.removeDirectory = { didRemoveDirectory.append($0) } env.fileManager.removeDirectory = { didRemoveDirectory.append($0) }
env.passwordStorage.remove = { didRemovePassword += 1 }
let destroy: MessengerDestroy = .live(env) let destroy: MessengerDestroy = .live(env)
try destroy() try destroy()
...@@ -38,11 +40,13 @@ final class MessengerDestroyTests: XCTestCase { ...@@ -38,11 +40,13 @@ final class MessengerDestroyTests: XCTestCase {
XCTAssertNoDifference(didSetE2E.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetE2E.map { $0 == nil }, [true])
XCTAssertNoDifference(didSetCMix.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetCMix.map { $0 == nil }, [true])
XCTAssertNoDifference(didRemoveDirectory, [storageDir]) XCTAssertNoDifference(didRemoveDirectory, [storageDir])
XCTAssertNoDifference(didRemovePassword, 1)
} }
func testStopNetworkFollowerFailure() { func testStopNetworkFollowerFailure() {
struct Error: Swift.Error, Equatable {} struct Error: Swift.Error, Equatable {}
let error = Error() let error = Error()
var env: MessengerEnvironment = .unimplemented var env: MessengerEnvironment = .unimplemented
env.cMix.get = { env.cMix.get = {
var cMix: CMix = .unimplemented var cMix: CMix = .unimplemented
...@@ -79,4 +83,32 @@ final class MessengerDestroyTests: XCTestCase { ...@@ -79,4 +83,32 @@ final class MessengerDestroyTests: XCTestCase {
XCTAssertNoDifference(didSetE2E.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetE2E.map { $0 == nil }, [true])
XCTAssertNoDifference(didSetCMix.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetCMix.map { $0 == nil }, [true])
} }
func testRemovePasswordFailure() {
struct Error: Swift.Error, Equatable {}
let error = Error()
let storageDir = "test-storage-dir"
var didRemoveDirectory: [String] = []
var didSetUD: [UserDiscovery?] = []
var didSetE2E: [E2E?] = []
var didSetCMix: [CMix?] = []
var env: MessengerEnvironment = .unimplemented
env.cMix.get = { nil }
env.ud.set = { didSetUD.append($0) }
env.e2e.set = { didSetE2E.append($0) }
env.cMix.set = { didSetCMix.append($0) }
env.storageDir = storageDir
env.fileManager.removeDirectory = { didRemoveDirectory.append($0) }
env.passwordStorage.remove = { throw error }
let destroy: MessengerDestroy = .live(env)
XCTAssertThrowsError(try destroy()) { err in
XCTAssertEqual(err as? Error, error)
}
XCTAssertNoDifference(didSetUD.map { $0 == nil }, [true])
XCTAssertNoDifference(didSetE2E.map { $0 == nil }, [true])
XCTAssertNoDifference(didSetCMix.map { $0 == nil }, [true])
XCTAssertNoDifference(didRemoveDirectory, [storageDir])
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment