Skip to content

feat(jwt): add support for if and optionals unwrapping on dsl claims #47

feat(jwt): add support for if and optionals unwrapping on dsl claims

feat(jwt): add support for if and optionals unwrapping on dsl claims #47

GitHub Actions / Xcode test results succeeded Sep 14, 2024 in 0s

Xcode test results

Testing workspace jose-swift with scheme jose-swift-Package

Summary

TotalSuccess PassedFailure FailedSkipped SkippedExpected Failure Expected Failure⏱️ Time
949400030.34s

Test Summary

JWATests

  • Device: Mac mini, 13.6.9 (22G830)
  • SDK: macOS 14.2, 14.2
TestTotalSuccessFailureSkippedExpected Failure
test-class C20PTests11000
test-class EdDSATests11000
test-class Secp256k1Tests88000
test-class XC20PTests11000

JWETests

  • Device: Mac mini, 13.6.9 (22G830)
  • SDK: macOS 14.2, 14.2
TestTotalSuccessFailureSkippedExpected Failure
test-class AESTests66000
test-class DirectTests11000
test-class ECDH1PUTests77000
test-class ECDHESTests44000
test-class PBES2Tests44000
test-class RFC7516Tests44000
test-class RFC7520Tests1212000
test-class RSATests22000

JWKTests

  • Device: Mac mini, 13.6.9 (22G830)
  • SDK: macOS 14.2, 14.2
TestTotalSuccessFailureSkippedExpected Failure
test-class JWKThumbprintTests11000

JWSTests

  • Device: Mac mini, 13.6.9 (22G830)
  • SDK: macOS 14.2, 14.2
TestTotalSuccessFailureSkippedExpected Failure
test-class JWSJsonTests77000
test-class JWSTests1515000
test-class RFC7515Tests1010000

JWTTests

  • Device: Mac mini, 13.6.9 (22G830)
  • SDK: macOS 14.2, 14.2
TestTotalSuccessFailureSkippedExpected Failure
test-class JWTTests1010000

Failure Failures

All tests passed 🎉


Code Coverage

Coverage Covered Executable
JWATests 65.13 % 2260 3470
  P521+KeyAgreement.swift 0.00 % 0 6
  C20PTests.swift 100.00 % 23 23
  AESCBC_SHA512+ContentEncryptor.swift 88.89 % 48 54
  ES256Verifier.swift 62.50 % 10 16
  ES256KVerifier.swift 87.50 % 42 48
  PS256Verifier.swift 0.00 % 0 30
  ES256Signer.swift 85.71 % 6 7
  C20P+ContentEncryption.swift 88.00 % 44 50
  AESGCM+KeyUnwrap.swift 85.00 % 17 20
  PS256Signer.swift 0.00 % 0 24
  RS256Verifier.swift 76.92 % 10 13
  DataKey.swift 31.37 % 32 102
  JWKCryptoPresentation.swift 77.92 % 60 77
  ECDH1PU+KeyAgreementZ.swift 90.91 % 10 11
  ES256KSigner.swift 93.94 % 31 33
  HelperExtensions.swift 83.33 % 10 12
  ECDHES.swift 90.00 % 9 10
  PS384Verifier.swift 0.00 % 0 30
  MockKeyAgreementZ.swift 0.00 % 0 3
  RS384Verifier.swift 0.00 % 0 13
  MockedSigner.swift 0.00 % 0 3
  HS384Verifier.swift 0.00 % 0 6
  HS256Verifier.swift 83.33 % 5 6
  Zip+ContentCompressor.swift 100.00 % 6 6
  RSA+Security.swift 0.00 % 0 19
  RS256Signer.swift 85.00 % 17 20
  PS384Signer.swift 0.00 % 0 24
  ECDHES+KeyAgreementZ.swift 100.00 % 3 3
  secp256k1+KeyAgreement.swift 0.00 % 0 6
  ContentCompressionAlgorithm.swift 100.00 % 12 12
  secp256k1+KeyGeneration.swift 0.00 % 0 19
  ES256KTests.swift 100.00 % 194 194
  MockKeyDerivation.swift 0.00 % 0 3
  JWK+KeyAgreement.swift 80.77 % 21 26
  ECDH1PU.swift 93.33 % 28 30
  AES128GCM+KeyEncryption.swift 95.45 % 21 22
  Base64URL.swift 100.00 % 25 25
  MockContentEncryptor.swift 0.00 % 0 9
  PS512Signer.swift 0.00 % 0 24
  AESKeyWrapCommonCrypto.swift 0.00 % 0 104
  PBE2_SHA256_A128KW+KeyEncryption.swift 86.67 % 13 15
  Curve25519+KeyAgreement.swift 100.00 % 6 6
  RS512Verifier.swift 0.00 % 0 13
  AESGCM.swift 100.00 % 20 20
  SecKeyExtended.swift 51.49 % 69 134
  AES128GCM+ContentEncryptor.swift 87.80 % 36 41
  AESKeyUnwrap+KeyUnwrap.swift 73.33 % 11 15
  KeyDerivation.swift 100.00 % 126 126
  PBE2_SHA512_A256KW+KeyEncryption.swift 86.67 % 13 15
  RS384Signer.swift 0.00 % 0 13
  P256+KeyAgreement.swift 100.00 % 6 6
  JWTCodable.swift 100.00 % 11 11
  EdDSASigner.swift 83.33 % 5 6
  AESCBC_SHA256+ContentEncryptor.swift 88.89 % 48 54
  PS512Verifier.swift 0.00 % 0 30
  ES521Verifier.swift 62.50 % 10 16
  RSA15KeyWrapper+KeyEncryption.swift 81.58 % 31 38
  RS512Signer.swift 0.00 % 0 13
  ConcatKDF.swift 90.67 % 68 75
  SigningAlgorithm.swift 70.83 % 51 72
  P384+KeyGeneration.swift 36.84 % 7 19
  RSAOAEP256KeyUnwrap+KeyUnwrapping.swift 87.50 % 42 48
  HS512Verifier.swift 0.00 % 0 6
  PBE2_SHA384_A192KW+KeyEncryption.swift 86.67 % 13 15
  KeyRepresentable.swift 16.00 % 4 25
  ECDH1PU+KeyDerivation.swift 81.82 % 27 33
  RSAOAEP256KeyWrap+KeyEncryption.swift 81.58 % 31 38
  ES384Verifier.swift 0.00 % 0 16
  MockedVerifier.swift 0.00 % 0 3
  ES521Signer.swift 85.71 % 6 7
  KeyEncryptionAlgorithm.swift 94.37 % 134 142
  JWK+KeyGeneration.swift 70.59 % 24 34
  EdDSATests.swift 100.00 % 15 15
  XC20PTests.swift 100.00 % 23 23
  ContentEncryptionAlgorithm.swift 96.61 % 57 59
  PBES2SHA.swift 96.15 % 25 26
  JWKRepresentable.swift 49.41 % 125 253
  ES384Signer.swift 85.71 % 6 7
  MockKeyEncryption.swift 0.00 % 0 6
  JSONEncoder+JoseEncoder.swift 62.50 % 5 8
  HS256Signer.swift 0.00 % 0 6
  XC20P+ContentEncryption.swift 88.46 % 46 52
  Curve25519+KeyGeneration.swift 36.84 % 7 19
  ECDHES+KeyDerivation.swift 83.87 % 26 31
  SecureRandom.swift 65.00 % 13 20
  AES192GCM+ContentEncryptor.swift 87.80 % 36 41
  AESCBC_SHA384+ContentEncryptor.swift 0.00 % 0 54
  AES256GCM+ContentEncryptor.swift 87.80 % 36 41
  EdDSAVerifier.swift 83.33 % 5 6
  P256+KeyGeneration.swift 36.84 % 7 19
  RSA15KeyUnwrap+KeyUnwrapping.swift 87.50 % 42 48
  HS384Signer.swift 0.00 % 0 6
  P384+KeyAgreement.swift 100.00 % 6 6
  AESCBC_SHA.swift 98.11 % 52 53
  AES256GCM+KeyEncryption.swift 95.45 % 21 22
  RSAOAEPKeyUnwrap+KeyUnwrapping.swift 87.50 % 42 48
  P521+KeyGeneration.swift 0.00 % 0 19
  AES192GCM+KeyEncryption.swift 95.45 % 21 22
  DataRepresentable.swift 31.03 % 9 29
  KeyWrapping.swift 28.13 % 36 128
  RSAOAEPKeyWrap+KeyEncryption.swift 81.58 % 31 38
  AESKeyWrap+KeyEncryption.swift 81.48 % 22 27
  ContentEncryptor.swift 75.00 % 42 56
  JWK+Testing.swift 28.57 % 8 28
  HS512Signer.swift 0.00 % 0 6
JWETests 90.50 % 5172 5715
  AESEncryptor.swift 92.05 % 139 151
  ECDHESTests.swift 100.00 % 148 148
  PBES2Tests.swift 100.00 % 151 151
  JWERegisteredFieldsHeader+Helpers.swift 97.50 % 78 80
  PasswordBasedEncrypter.swift 83.13 % 133 160
  RFC7520Tests.swift 100.00 % 1151 1151
  JWE.swift 94.44 % 34 36
  MultiEncryptor.swift 93.75 % 90 96
  HelperExtensions.swift 83.33 % 10 12
  JWE+Json.swift 79.55 % 70 88
  ECDH1PUDecryptor.swift 89.92 % 214 238
  JWEParts.swift 100.00 % 22 22
  JWE+Decrypt.swift 54.42 % 80 147
  KeyManagementAlgorithm+Family.swift 93.75 % 15 16
  RFC7516Tests.swift 100.00 % 299 299
  JSONEncoder+JoseEncoder.swift 62.50 % 5 8
  AESTests.swift 100.00 % 198 198
  RSAEncrypter.swift 89.00 % 89 100
  MultiDecryptor.swift 43.70 % 59 135
  DirectTests.swift 100.00 % 33 33
  JWEDecryptor.swift 76.62 % 59 77
  JWE+Encrypt.swift 77.40 % 161 208
  JWEHelpers.swift 94.74 % 54 57
  ECDH1PUEncrypter.swift 89.35 % 277 310
  RSATests.swift 100.00 % 210 210
  JWEEncryptionModule.swift 93.75 % 30 32
  ECDHDecryptor.swift 89.76 % 184 205
  JWK+Testing.swift 42.86 % 12 28
  JWTCodable.swift 100.00 % 11 11
  DataRepresentable.swift 31.03 % 9 29
  ECDH1PUTests.swift 100.00 % 260 260
  DefaultJWEHeaderImpl+Codable.swift 97.59 % 81 83
  ECDHEncrypter.swift 89.17 % 214 240
  PasswordBasedDecryptor.swift 85.96 % 98 114
  JWEEncrypter.swift 46.15 % 18 39
  AAD.swift 68.42 % 39 57
  JWERegisteredFieldsHeader.swift 100.00 % 103 103
  DirectDecryptor.swift 84.62 % 55 65
  Base64URL.swift 100.00 % 25 25
  RSADecryptor.swift 85.39 % 76 89
  DirectEncrypter.swift 88.00 % 66 75
  AESDecryptor.swift 86.82 % 112 129
JWKTests 77.22 % 200 259
  JSONEncoder+JoseEncoder.swift 62.50 % 5 8
  JWK+Codable.swift 91.89 % 68 74
  Base64URL.swift 100.00 %

Details

Test Details

JWATestsback

C20PTests back

SuccessFailureSkippedExpected Failure⏱️
1 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testC20PCycle()

EdDSATests back

SuccessFailureSkippedExpected Failure⏱️
1 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testEdDSACycle()

Secp256k1Tests back

SuccessFailureSkippedExpected Failure⏱️
8 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testNotNormalizedBouncyCastleSignatureValidation()
Successtest-method testSecp256k1BouncyCastleSignatureVerify()
Successtest-method testSecp256k1BouncyCastleSignatureVerifyFailIfFeatureNotActive()
Successtest-method testSecp256k1Cycle()
Successtest-method testSecp256k1CycleDerSignature()
Successtest-method testSecp256k1CycleInvertedRS()
Successtest-method testSecp256k1JSLibrarySignatureVerifyFailIfFeatureNotActive()
Successtest-method testSecp256k1SignatureFromJSLibrary()

XC20PTests back

SuccessFailureSkippedExpected Failure⏱️
1 (100%)0 (0%)0 (0%)0 (0%)0.01s
Successtest-method testXC20PCycle()

JWETestsback

AESTests back

SuccessFailureSkippedExpected Failure⏱️
6 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testAES128Cycle()
Successtest-method testAES128GCMCycle()
Successtest-method testAES192Cycle()
Successtest-method testAES192GCMCycle()
Successtest-method testAES256Cycle()
Successtest-method testAES256GCMCycle()

DirectTests back

SuccessFailureSkippedExpected Failure⏱️
1 (100%)0 (0%)0 (0%)0 (0%)0.01s
Successtest-method testDirectCycle()

ECDH1PUTests back

SuccessFailureSkippedExpected Failure⏱️
7 (100%)0 (0%)0 (0%)0 (0%)0.01s
Successtest-method testECDH1PUA128KWCycle()
Successtest-method testECDH1PUA192KWCycle()
Successtest-method testECDH1PUA256KW_C20PKWCycle()
Successtest-method testECDH1PUA256KW_XC20PKWCycle()
Successtest-method testECDH1PUA256KWCurve25519Cycle()
Successtest-method testECDH1PUA256KWCycle()
Successtest-method testECDH1PUCycle()

ECDHESTests back

SuccessFailureSkippedExpected Failure⏱️
4 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testECDHESA256KW_C20PKWCycle()
Successtest-method testECDHESA256KW_XC20PKWCycle()
Successtest-method testECDHESA256KWCycle()
Successtest-method testECDHESCycle()

PBES2Tests back

SuccessFailureSkippedExpected Failure⏱️
4 (100%)0 (0%)0 (0%)0 (0%)30.04s
Successtest-method testJWEPBES2_HS512_A256KW()
Successtest-method testPBES2_HS256_A128KW()
Successtest-method testPBES2_HS384_A192KW()
Successtest-method testPBES2_HS512_A256KW()

RFC7516Tests back

SuccessFailureSkippedExpected Failure⏱️
4 (100%)0 (0%)0 (0%)0 (0%)0.06s
Successtest-method testA_1_7()
Successtest-method testA_1()
Successtest-method testA_3()
Successtest-method testA_4()

RFC7520Tests back

SuccessFailureSkippedExpected Failure⏱️
12 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testSection_5_10()
Successtest-method testSection_5_11()
Successtest-method testSection_5_12()
Successtest-method testSection_5_13()
Successtest-method testSection_5_1()
Successtest-method testSection_5_2()
Successtest-method testSection_5_4()
Successtest-method testSection_5_5()
Successtest-method testSection_5_6()
Successtest-method testSection_5_7()
Successtest-method testSection_5_8()
Successtest-method testSection_5_9()

RSATests back

SuccessFailureSkippedExpected Failure⏱️
2 (100%)0 (0%)0 (0%)0 (0%)0.17s
Successtest-method testRSAOAEP256Cycle()
Successtest-method testRSAOAEPCycle()

JWKTestsback

JWKThumbprintTests back

SuccessFailureSkippedExpected Failure⏱️
1 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method test_RFC8037_Appendix_A_3()

JWSTestsback

JWSJsonTests back

SuccessFailureSkippedExpected Failure⏱️
7 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testJsonSerializationOneKeyES256_OtherES521()
Successtest-method testJsonSerializationOneKeyOnlyEdDSA()
Successtest-method testJsonSerializationOneKeyOnlyES256()
Successtest-method testJsonSerializationTrueES256Verification_FailES521VerificationWithRandomKey()
Successtest-method testJsonSerializationTwoKeysES256()
Successtest-method testJsonSerializationVerificationFalseWhenKeyHasNoKid()
Successtest-method testJsonSerializationVerificationTrueWhenKeyIsValidWithoutKidAndValidateAllTrue()

JWSTests back

SuccessFailureSkippedExpected Failure⏱️
15 (100%)0 (0%)0 (0%)0 (0%)0.02s
Successtest-method testAutomaticHeaderAlgorithmES256()
Successtest-method testAutomaticHeaderAlgorithmES256K()
Successtest-method testAutomaticHeaderAlgorithmES384()
Successtest-method testAutomaticHeaderAlgorithmES521()
Successtest-method testEdDSASigningWithDataKey()
Successtest-method testES256KSigningWithDataKey()
Successtest-method testES256SigningWithDataKey()
Successtest-method testES256SigningWithSecKey()
Successtest-method testES384SigningWithDataKey()
Successtest-method testES512SigningWithDataKey()
Successtest-method testJWSTamperedAlgorithm()
Successtest-method testJWSTamperedHeader()
Successtest-method testJWSTamperedPayload()
Successtest-method testJWSUnencodedPayloadCompactString()
Successtest-method testWrongAlgKeySigningWithDataKey()

RFC7515Tests back

SuccessFailureSkippedExpected Failure⏱️
10 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testJWS_RFC7515_A1_2()
Successtest-method testJWS_RFC7515_A2_1_1()
Successtest-method testJWS_RFC7515_A2_1()
Successtest-method testJWS_RFC7515_A3_1_1()
Successtest-method testJWS_RFC7515_A3_1()
Successtest-method testJWS_RFC7515_A4_1_1()
Successtest-method testJWS_RFC7515_A4_1()
Successtest-method testJWS_RFC7515_A5()
Successtest-method testJWS_RFC7515_A6()
Successtest-method testJWS_RFC7515_A7()

JWTTestsback

JWTTests back

SuccessFailureSkippedExpected Failure⏱️
10 (100%)0 (0%)0 (0%)0 (0%)0.00s
Successtest-method testClaims()
Successtest-method testFailAudienceValidation()
Successtest-method testFailExpirationValidation()
Successtest-method testFailIssuedAtValidation()
Successtest-method testFailIssuerValidation()
Successtest-method testFailNotBeforeValidation()
Successtest-method testJWTClaims()
Successtest-method testParseSignedJWT()
Successtest-method testSignAndVerify()
Successtest-method testSingleClaim()