Skip to content

Commit 8004906

Browse files
committed
Correct encoding unit tests to account for unordered Swift dictionaries
1 parent 7f42251 commit 8004906

File tree

1 file changed

+25
-3
lines changed

1 file changed

+25
-3
lines changed

Tests/JWTTests/JWTEncodeTests.swift

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,36 @@ class JWTEncodeTests: XCTestCase {
2323
let jwt = JWT.encode(algorithm) { builder in
2424
builder.issuer = "fuller.li"
2525
}
26-
27-
XCTAssertEqual(jwt, "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJmdWxsZXIubGkifQ.d7B7PAQcz1E6oNhrlxmHxHXHgg39_k7X7wWeahl8kSQ")
26+
27+
let expected = [
28+
// { "alg": "HS256", "typ": "JWT" }
29+
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJmdWxsZXIubGkifQ.d7B7PAQcz1E6oNhrlxmHxHXHgg39_k7X7wWeahl8kSQ",
30+
// { "typ": "JWT", "alg": "HS256" }
31+
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJmdWxsZXIubGkifQ.x5Fdll-kZBImOPtpT1fZH_8hDW01Ax3pbZx_EiljoLk"
32+
]
33+
34+
XCTAssertTrue(expected.contains(jwt))
2835
}
2936

3037
func testEncodingClaimsWithHeaders() {
3138
let algorithm = Algorithm.hs256("secret".data(using: .utf8)!)
3239
let jwt = JWT.encode(claims: ClaimSet(), algorithm: algorithm, headers: ["kid": "x"])
40+
41+
let expected = [
42+
// { "alg": "HS256", "typ": "JWT", "kid": "x" }
43+
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IngifQ.e30.ddEotxYYMMdat5HPgYFQnkHRdPXsxPG71ooyhIUoqGA",
44+
// { "alg": "HS256", "kid": "x", "typ": "JWT" }
45+
"eyJhbGciOiJIUzI1NiIsImtpZCI6IngiLCJ0eXAiOiJKV1QifQ.e30.xiT6fWe5dWGeuq8zFb0je_14Maa_9mHbVPSyJhUIJ54",
46+
// { "typ": "JWT", "alg": "HS256", "kid": "x" }
47+
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IngifQ.e30.5t6a61tpSXFo5QBHYCnKAz2mTHrW9kaQ9n_b7e-jWw0",
48+
// { "typ": "JWT", "kid": "x", "alg": "HS256" }
49+
"eyJ0eXAiOiJKV1QiLCJraWQiOiJ4IiwiYWxnIjoiSFMyNTYifQ.e30.DG5nmV2CVH6mV_iEm0xXZvL0DUJ22ek2xy6fNi_pGLc",
50+
// { "kid": "x", "typ": "JWT", "alg": "HS256" }
51+
"eyJraWQiOiJ4IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.e30.h5ZvlqECBIvu9uocR5_5uF3wnhga8vTruvXpzaHpRdA",
52+
// { "kid": "x", "alg": "HS256", "typ": "JWT" }
53+
"eyJraWQiOiJ4IiwiYWxnIjoiSFMyNTYiLCJ0eXAiOiJKV1QifQ.e30.5KqN7N5a7Cfbe2eKN41FJIfgMjcdSZ7Nt16xqlyOeMo"
54+
]
3355

34-
XCTAssertEqual(jwt, "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IngifQ.e30.ddEotxYYMMdat5HPgYFQnkHRdPXsxPG71ooyhIUoqGA")
56+
XCTAssertTrue(expected.contains(jwt))
3557
}
3658
}

0 commit comments

Comments
 (0)