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

Add LookupUD.Params struct

parent 837263bd
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!93Lookup, Multi-Lookup and Search API improvements
...@@ -2,30 +2,45 @@ import Bindings ...@@ -2,30 +2,45 @@ import Bindings
import XCTestDynamicOverlay import XCTestDynamicOverlay
public struct LookupUD { public struct LookupUD {
public var run: (Int, Contact, Data, Data, UdLookupCallback) throws -> SingleUseSendReport public struct Params: Equatable {
public init(
e2eId: Int,
udContact: Contact,
lookupId: Data,
singleRequestParamsJSON: Data = GetSingleUseParams.liveDefault()
) {
self.e2eId = e2eId
self.udContact = udContact
self.lookupId = lookupId
self.singleRequestParamsJSON = singleRequestParamsJSON
}
public var e2eId: Int
public var udContact: Contact
public var lookupId: Data
public var singleRequestParamsJSON: Data
}
public var run: (Params, UdLookupCallback) throws -> SingleUseSendReport
public func callAsFunction( public func callAsFunction(
e2eId: Int, params: Params,
udContact: Contact,
lookupId: Data,
singleRequestParamsJSON: Data = GetSingleUseParams.liveDefault(),
callback: UdLookupCallback callback: UdLookupCallback
) throws -> SingleUseSendReport { ) throws -> SingleUseSendReport {
try run(e2eId, udContact, lookupId, singleRequestParamsJSON, callback) try run(params, callback)
} }
} }
extension LookupUD { extension LookupUD {
public static let live = LookupUD { public static let live = LookupUD { params, callback in
e2eId, udContact, lookupId, singleRequestParamsJSON, callback in
var error: NSError? var error: NSError?
let reportData = BindingsLookupUD( let reportData = BindingsLookupUD(
e2eId, params.e2eId,
udContact.data, params.udContact.data,
callback.makeBindingsUdLookupCallback(), callback.makeBindingsUdLookupCallback(),
lookupId, params.lookupId,
singleRequestParamsJSON, params.singleRequestParamsJSON,
&error &error
) )
if let error = error { if let error = error {
......
...@@ -30,11 +30,13 @@ extension MessengerVerifyContact { ...@@ -30,11 +30,13 @@ extension MessengerVerifyContact {
var lookupResult: Result<Contact, NSError>! var lookupResult: Result<Contact, NSError>!
let semaphore = DispatchSemaphore(value: 0) let semaphore = DispatchSemaphore(value: 0)
_ = try env.lookupUD( _ = try env.lookupUD(
e2eId: e2e.getId(), params: LookupUD.Params(
udContact: try ud.getContact(), e2eId: e2e.getId(),
lookupId: try contact.getId(), udContact: try ud.getContact(),
singleRequestParamsJSON: env.getSingleUseParams(), lookupId: try contact.getId(),
callback: .init { result in singleRequestParamsJSON: env.getSingleUseParams()
),
callback: UdLookupCallback { result in
lookupResult = result lookupResult = result
semaphore.signal() semaphore.signal()
} }
......
...@@ -39,7 +39,7 @@ final class MessengerVerifyContactTests: XCTestCase { ...@@ -39,7 +39,7 @@ final class MessengerVerifyContactTests: XCTestCase {
var verified: Contact var verified: Contact
var e2eId: Int var e2eId: Int
} }
var didLookupUDWithParams: [LookupUDParams] = [] var didLookupUDWithParams: [LookupUD.Params] = []
var didVerifyOwnershipWithParams: [VerifyOwnershipParams] = [] var didVerifyOwnershipWithParams: [VerifyOwnershipParams] = []
var contact = Contact.unimplemented("contact-data".data(using: .utf8)!) var contact = Contact.unimplemented("contact-data".data(using: .utf8)!)
...@@ -68,13 +68,8 @@ final class MessengerVerifyContactTests: XCTestCase { ...@@ -68,13 +68,8 @@ final class MessengerVerifyContactTests: XCTestCase {
return ud return ud
} }
env.getSingleUseParams.run = { "single-use-params".data(using: .utf8)! } env.getSingleUseParams.run = { "single-use-params".data(using: .utf8)! }
env.lookupUD.run = { e2eId, udContact, lookupId, singleRequestParamsJSON, callback in env.lookupUD.run = { params, callback in
didLookupUDWithParams.append(.init( didLookupUDWithParams.append(params)
e2eId: e2eId,
udContact: udContact,
lookupId: lookupId,
singleRequestParamsJSON: singleRequestParamsJSON
))
callback.handle(.success(lookedUpContact)) callback.handle(.success(lookedUpContact))
return SingleUseSendReport(rounds: [], roundURL: "", ephId: 0, receptionId: Data()) return SingleUseSendReport(rounds: [], roundURL: "", ephId: 0, receptionId: Data())
} }
...@@ -117,7 +112,7 @@ final class MessengerVerifyContactTests: XCTestCase { ...@@ -117,7 +112,7 @@ final class MessengerVerifyContactTests: XCTestCase {
return ud return ud
} }
env.getSingleUseParams.run = { "single-use-params".data(using: .utf8)! } env.getSingleUseParams.run = { "single-use-params".data(using: .utf8)! }
env.lookupUD.run = { _, _, _, _, callback in env.lookupUD.run = { _, callback in
callback.handle(.failure(lookupFailure)) callback.handle(.failure(lookupFailure))
return SingleUseSendReport(rounds: [], roundURL: "", ephId: 0, receptionId: Data()) return SingleUseSendReport(rounds: [], roundURL: "", ephId: 0, receptionId: Data())
} }
......
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