Skip to content

Commit 104be78

Browse files
committed
fixes
1 parent 7ccfebf commit 104be78

File tree

2 files changed

+128
-107
lines changed

2 files changed

+128
-107
lines changed

FirebaseAuth/Tests/Unit/FinalizePasskeyEnrollmentRequestTests.swift

Lines changed: 87 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -12,86 +12,103 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
@testable import FirebaseAuth
16-
import Foundation
17-
import XCTest
15+
#if os(iOS) || os(tvOS) || os(macOS)
1816

19-
@available(iOS 15.0, macOS 12.0, tvOS 16.0, *)
20-
class FinalizePasskeyEnrollmentRequestTests: XCTestCase {
21-
private var request: FinalizePasskeyEnrollmentRequest!
22-
private var fakeConfig: AuthRequestConfiguration!
17+
@testable import FirebaseAuth
18+
import FirebaseCore
19+
import Foundation
20+
import XCTest
2321

24-
override func setUp() {
25-
super.setUp()
26-
fakeConfig = AuthRequestConfiguration(
27-
apiKey: "FAKE_API_KEY",
28-
appID: "FAKE_APP_ID"
29-
)
30-
}
22+
@available(iOS 15.0, macOS 12.0, tvOS 16.0, *)
23+
class FinalizePasskeyEnrollmentRequestTests: XCTestCase {
24+
private var request: FinalizePasskeyEnrollmentRequest!
25+
private var fakeConfig: AuthRequestConfiguration!
3126

32-
override func tearDown() {
33-
request = nil
34-
fakeConfig = nil
35-
super.tearDown()
36-
}
27+
override func setUp() {
28+
super.setUp()
29+
fakeConfig = AuthRequestConfiguration(
30+
apiKey: "FAKE_API_KEY",
31+
appID: "FAKE_APP_ID"
32+
)
33+
}
3734

38-
func testInitWithValidParameters() {
39-
request = FinalizePasskeyEnrollmentRequest(
40-
idToken: "ID_TOKEN",
41-
name: "MyPasskey",
42-
credentialID: "CRED_ID",
43-
clientDataJSON: "CLIENT_JSON",
44-
attestationObject: "ATTEST_OBJ",
45-
requestConfiguration: fakeConfig
46-
)
35+
override func tearDown() {
36+
request = nil
37+
fakeConfig = nil
38+
super.tearDown()
39+
}
4740

48-
XCTAssertEqual(request.idToken, "ID_TOKEN")
49-
XCTAssertEqual(request.name, "MyPasskey")
50-
XCTAssertEqual(request.credentialID, "CRED_ID")
51-
XCTAssertEqual(request.clientDataJSON, "CLIENT_JSON")
52-
XCTAssertEqual(request.attestationObject, "ATTEST_OBJ")
53-
XCTAssertEqual(request.endpoint, "accounts/passkeyEnrollment:finalize")
54-
XCTAssertTrue(request.useIdentityPlatform)
55-
}
41+
func testInitWithValidParameters() {
42+
request = FinalizePasskeyEnrollmentRequest(
43+
idToken: "ID_TOKEN",
44+
name: "MyPasskey",
45+
credentialID: "CRED_ID",
46+
clientDataJSON: "CLIENT_JSON",
47+
attestationObject: "ATTEST_OBJ",
48+
requestConfiguration: fakeConfig
49+
)
5650

57-
func testUnencodedHTTPRequestBodyWithoutTenantId() {
58-
request = FinalizePasskeyEnrollmentRequest(
59-
idToken: "ID_TOKEN",
60-
name: "MyPasskey",
61-
credentialID: "CRED_ID",
62-
clientDataJSON: "CLIENT_JSON",
63-
attestationObject: "ATTEST_OBJ",
64-
requestConfiguration: fakeConfig
65-
)
51+
XCTAssertEqual(request.idToken, "ID_TOKEN")
52+
XCTAssertEqual(request.name, "MyPasskey")
53+
XCTAssertEqual(request.credentialID, "CRED_ID")
54+
XCTAssertEqual(request.clientDataJSON, "CLIENT_JSON")
55+
XCTAssertEqual(request.attestationObject, "ATTEST_OBJ")
56+
XCTAssertEqual(request.endpoint, "accounts/passkeyEnrollment:finalize")
57+
XCTAssertTrue(request.useIdentityPlatform)
58+
}
6659

67-
let body = request.unencodedHTTPRequestBody
68-
XCTAssertNotNil(body)
69-
XCTAssertEqual(body?["idToken"] as? String, "ID_TOKEN")
70-
XCTAssertEqual(body?["name"] as? String, "MyPasskey")
60+
func testUnencodedHTTPRequestBodyWithoutTenantId() {
61+
request = FinalizePasskeyEnrollmentRequest(
62+
idToken: "ID_TOKEN",
63+
name: "MyPasskey",
64+
credentialID: "CRED_ID",
65+
clientDataJSON: "CLIENT_JSON",
66+
attestationObject: "ATTEST_OBJ",
67+
requestConfiguration: fakeConfig
68+
)
7169

72-
let authReg = body?["authenticatorRegistrationResponse"] as? [String: AnyHashable]
73-
XCTAssertNotNil(authReg)
74-
XCTAssertEqual(authReg?["id"] as? String, "CRED_ID")
70+
let body = request.unencodedHTTPRequestBody
71+
XCTAssertNotNil(body)
72+
XCTAssertEqual(body?["idToken"] as? String, "ID_TOKEN")
73+
XCTAssertEqual(body?["name"] as? String, "MyPasskey")
7574

76-
let authResp = authReg?["response"] as? [String: AnyHashable]
77-
XCTAssertEqual(authResp?["clientDataJSON"] as? String, "CLIENT_JSON")
78-
XCTAssertEqual(authResp?["attestationObject"] as? String, "ATTEST_OBJ")
75+
let authReg = body?["authenticatorRegistrationResponse"] as? [String: AnyHashable]
76+
XCTAssertNotNil(authReg)
77+
XCTAssertEqual(authReg?["id"] as? String, "CRED_ID")
7978

80-
XCTAssertNil(body?["tenantId"])
81-
}
79+
let authResp = authReg?["response"] as? [String: AnyHashable]
80+
XCTAssertEqual(authResp?["clientDataJSON"] as? String, "CLIENT_JSON")
81+
XCTAssertEqual(authResp?["attestationObject"] as? String, "ATTEST_OBJ")
8282

83-
func testUnencodedHTTPRequestBodyWithTenantId() {
84-
request = FinalizePasskeyEnrollmentRequest(
85-
idToken: "ID_TOKEN",
86-
name: "MyPasskey",
87-
credentialID: "CRED_ID",
88-
clientDataJSON: "CLIENT_JSON",
89-
attestationObject: "ATTEST_OBJ",
90-
requestConfiguration: fakeConfig
91-
)
92-
request.tenantID = "TENANT_ID"
83+
XCTAssertNil(body?["tenantId"])
84+
}
9385

94-
let body = request.unencodedHTTPRequestBody
95-
XCTAssertEqual(body?["tenantId"] as? String, "TENANT_ID")
86+
func testUnencodedHTTPRequestBodyWithTenantId() {
87+
// setting up fake auth to set tenantId
88+
let options = FirebaseOptions(googleAppID: "0:0000000000000:ios:0000000000000000",
89+
gcmSenderID: "00000000000000000-00000000000-000000000")
90+
options.apiKey = AuthTests.kFakeAPIKey
91+
options.projectID = "myProjectID"
92+
let name = "test-AuthTests\(AuthTests.testNum)"
93+
AuthTests.testNum = AuthTests.testNum + 1
94+
let fakeAuth = Auth(app: FirebaseApp(instanceWithName: name, options: options))
95+
fakeAuth.tenantID = "TEST_TENANT"
96+
let configWithTenant = AuthRequestConfiguration(
97+
apiKey: "FAKE_API_KEY",
98+
appID: "FAKE_APP_ID",
99+
auth: fakeAuth
100+
)
101+
request = FinalizePasskeyEnrollmentRequest(
102+
idToken: "ID_TOKEN",
103+
name: "MyPasskey",
104+
credentialID: "CRED_ID",
105+
clientDataJSON: "CLIENT_JSON",
106+
attestationObject: "ATTEST_OBJ",
107+
requestConfiguration: configWithTenant
108+
)
109+
let body = request.unencodedHTTPRequestBody
110+
XCTAssertEqual(body?["tenantId"] as? String, "TENANT_ID")
111+
}
96112
}
97-
}
113+
114+
#endif

FirebaseAuth/Tests/Unit/FinalizePasskeyEnrollmentResponseTests.swift

Lines changed: 41 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -12,45 +12,49 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
@testable import FirebaseAuth
16-
import XCTest
17-
18-
@available(iOS 15.0, macOS 12.0, tvOS 16.0, *)
19-
class FinalizePasskeyEnrollmentResponseTests: XCTestCase {
20-
private func makeValidDictionary() -> [String: AnyHashable] {
21-
return [
22-
"idToken": "FAKE_ID_TOKEN" as AnyHashable,
23-
"refreshToken": "FAKE_REFRESH_TOKEN" as AnyHashable,
24-
]
25-
}
15+
#if os(iOS) || os(tvOS) || os(macOS)
2616

27-
func testInitWithValidDictionary() throws {
28-
let response = try FinalizePasskeyEnrollmentResponse(
29-
dictionary: makeValidDictionary()
30-
)
31-
XCTAssertEqual(response.idToken, "FAKE_ID_TOKEN")
32-
XCTAssertEqual(response.refreshToken, "FAKE_REFRESH_TOKEN")
33-
}
17+
@testable import FirebaseAuth
18+
import XCTest
3419

35-
func testInitWithMissingIdTokenThrowsError() {
36-
var dict = makeValidDictionary()
37-
dict.removeValue(forKey: "idToken")
38-
XCTAssertThrowsError(
39-
try FinalizePasskeyEnrollmentResponse(dictionary: dict)
40-
)
41-
}
20+
@available(iOS 15.0, macOS 12.0, tvOS 16.0, *)
21+
class FinalizePasskeyEnrollmentResponseTests: XCTestCase {
22+
private func makeValidDictionary() -> [String: AnyHashable] {
23+
return [
24+
"idToken": "FAKE_ID_TOKEN" as AnyHashable,
25+
"refreshToken": "FAKE_REFRESH_TOKEN" as AnyHashable,
26+
]
27+
}
4228

43-
func testInitWithMissingRefreshTokenThrowsError() {
44-
var dict = makeValidDictionary()
45-
dict.removeValue(forKey: "refreshToken")
46-
XCTAssertThrowsError(
47-
try FinalizePasskeyEnrollmentResponse(dictionary: dict)
48-
)
49-
}
29+
func testInitWithValidDictionary() throws {
30+
let response = try FinalizePasskeyEnrollmentResponse(
31+
dictionary: makeValidDictionary()
32+
)
33+
XCTAssertEqual(response.idToken, "FAKE_ID_TOKEN")
34+
XCTAssertEqual(response.refreshToken, "FAKE_REFRESH_TOKEN")
35+
}
5036

51-
func testInitWithEmptyDictionaryThrowsError() {
52-
XCTAssertThrowsError(
53-
try FinalizePasskeyEnrollmentResponse(dictionary: [:])
54-
)
37+
func testInitWithMissingIdTokenThrowsError() {
38+
var dict = makeValidDictionary()
39+
dict.removeValue(forKey: "idToken")
40+
XCTAssertThrowsError(
41+
try FinalizePasskeyEnrollmentResponse(dictionary: dict)
42+
)
43+
}
44+
45+
func testInitWithMissingRefreshTokenThrowsError() {
46+
var dict = makeValidDictionary()
47+
dict.removeValue(forKey: "refreshToken")
48+
XCTAssertThrowsError(
49+
try FinalizePasskeyEnrollmentResponse(dictionary: dict)
50+
)
51+
}
52+
53+
func testInitWithEmptyDictionaryThrowsError() {
54+
XCTAssertThrowsError(
55+
try FinalizePasskeyEnrollmentResponse(dictionary: [:])
56+
)
57+
}
5558
}
56-
}
59+
60+
#endif

0 commit comments

Comments
 (0)