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

Merge branch 'development' into dev/macos-support

parents c6520b3e 5f309227
No related branches found
No related tags found
1 merge request!45Draft: Add macOS support
stages:
- test
tests:
stage: test
tags:
- ios
script:
- ./run-tests.sh
import XCTestDynamicOverlay
public struct MessengerDestroy {
public var run: () throws -> Void
public func callAsFunction() throws -> Void {
try run()
}
}
extension MessengerDestroy {
public static func live(_ env: MessengerEnvironment) -> MessengerDestroy {
MessengerDestroy {
env.ud.set(nil)
env.e2e.set(nil)
env.cMix.set(nil)
try env.fileManager.removeDirectory(env.storageDir)
}
}
}
extension MessengerDestroy {
public static let unimplemented = MessengerDestroy(
run: XCTUnimplemented("\(Self.self)")
)
}
......@@ -18,6 +18,7 @@ public struct Messenger {
public var logIn: MessengerLogIn
public var waitForNetwork: MessengerWaitForNetwork
public var waitForNodes: MessengerWaitForNodes
public var destroy: MessengerDestroy
}
extension Messenger {
......@@ -39,7 +40,8 @@ extension Messenger {
isLoggedIn: .live(env),
logIn: .live(env),
waitForNetwork: .live(env),
waitForNodes: .live(env)
waitForNodes: .live(env),
destroy: .live(env)
)
}
}
......@@ -62,6 +64,7 @@ extension Messenger {
isLoggedIn: .unimplemented,
logIn: .unimplemented,
waitForNetwork: .unimplemented,
waitForNodes: .unimplemented
waitForNodes: .unimplemented,
destroy: .unimplemented
)
}
import CustomDump
import XCTest
import XXClient
@testable import XXMessengerClient
final class MessengerDestroyTests: XCTestCase {
func testDestroy() throws {
let storageDir = "test-storage-dir"
var didRemoveDirectory: [String] = []
var didSetUD: [UserDiscovery?] = []
var didSetE2E: [E2E?] = []
var didSetCMix: [CMix?] = []
var env: MessengerEnvironment = .unimplemented
env.storageDir = storageDir
env.ud.set = { didSetUD.append($0) }
env.e2e.set = { didSetE2E.append($0) }
env.cMix.set = { didSetCMix.append($0) }
env.fileManager.removeDirectory = { didRemoveDirectory.append($0) }
let destroy: MessengerDestroy = .live(env)
try destroy()
XCTAssertNoDifference(didSetUD.map { $0 == nil }, [true])
XCTAssertNoDifference(didSetE2E.map { $0 == nil }, [true])
XCTAssertNoDifference(didSetCMix.map { $0 == nil }, [true])
XCTAssertNoDifference(didRemoveDirectory, [storageDir])
}
func testRemoveDirectoryFailure() {
struct Error: Swift.Error, Equatable {}
let error = Error()
var didSetUD: [UserDiscovery?] = []
var didSetE2E: [E2E?] = []
var didSetCMix: [CMix?] = []
var env: MessengerEnvironment = .unimplemented
env.ud.set = { didSetUD.append($0) }
env.e2e.set = { didSetE2E.append($0) }
env.cMix.set = { didSetCMix.append($0) }
env.fileManager.removeDirectory = { _ in 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])
}
}
#!/bin/sh
set -e
set -o pipefail && xcodebuild -scheme 'elixxir-dapps-sdk-swift-Package' -sdk iphonesimulator -destination 'platform=iOS Simulator,OS=15.5,name=iPhone 13' test | ./xcbeautify
File added
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