@@ -23,14 +23,36 @@ class JWTEncodeTests: XCTestCase {
23
23
let jwt = JWT . encode ( algorithm) { builder in
24
24
builder. issuer = " fuller.li "
25
25
}
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) )
28
35
}
29
36
30
37
func testEncodingClaimsWithHeaders( ) {
31
38
let algorithm = Algorithm . hs256 ( " secret " . data ( using: . utf8) !)
32
39
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
+ ]
33
55
34
- XCTAssertEqual ( jwt , " eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IngifQ.e30.ddEotxYYMMdat5HPgYFQnkHRdPXsxPG71ooyhIUoqGA " )
56
+ XCTAssertTrue ( expected . contains ( jwt ) )
35
57
}
36
58
}
0 commit comments