Lumoin / Verifiable

A .NET implementation of decentralized identifiers and verifiable credentials, some associated protocols and cryptographic routines.
Apache License 2.0
34 stars 3 forks source link

Add CsCheck for property based testing #371

Closed veikkoeeva closed 2 months ago

veikkoeeva commented 2 months ago

Partially closes #370.

github-actions[bot] commented 2 months ago

Summary

Generated on: 08/22/2024 - 20:53:33
Coverage date: 08/22/2024 - 20:53:28
Parser: Cobertura
Assemblies: 9
Classes: 154
Files: 112
Line coverage: 64.1% (1926 of 3002)
Covered lines: 1926
Uncovered lines: 1076
Coverable lines: 3002
Total lines: 12376
Branch coverage: 55.7% (740 of 1327)
Covered branches: 740
Total branches: 1327
Method coverage: Feature is only available for sponsors
Name Covered Uncovered Coverable Total Line coverage Covered Total Branch coverage
Verifiable 0 73 73 1068 0% 0 2 0%
Verifiable.DidCreateCommand 0 9 9 178 0% 0 2 0%
Verifiable.DidListCommand 0 2 2 178 0% 0 0
Verifiable.DidRevokeCommand 0 3 3 178 0% 0 0
Verifiable.DidViewCommand 0 3 3 178 0% 0 0
Verifiable.InfoTpmCommand 0 17 17 178 0% 0 0
Verifiable.Program 0 39 39 178 0% 0 0
Verifiable.BouncyCastle 39 86 125 357 31.2% 1 20 5%
Verifiable.BouncyCastle.BouncyCastleAlgorithms 14 0 14 58 100% 0 0
Verifiable.BouncyCastle.BouncyCastleCryptographicFunctions 0 31 31 117 0% 0 6 0%
Verifiable.BouncyCastle.BouncyCastleKeyCreator 25 55 80 182 31.2% 1 14 7.1%
Verifiable.Core 1469 575 2044 12439 71.8% 524 960 54.5%
System.Text.RegularExpressions.Generated 39 55 94 330 41.4% 17 54 31.4%
System.Text.RegularExpressions.Generated.F35EDC3E1B86D95A57D32448A1218018061E792DBD65A5823A6780EAB614A4770__DidKeyIdentifier_0 36 4 40 171 90% 16 22 72.7%
System.Text.RegularExpressions.Generated.F35EDC3E1B86D95A57D32448A1218018061E792DBD65A5823A6780EAB614A4770__DidKeyIdentifierWithFragment_1 0 51 51 312 0% 0 30 0%
Verifiable.Assessment.ArchivingResult 0 11 11 64 0% 0 0
Verifiable.Assessment.AssessmentResult 3 9 12 130 25% 0 0
Verifiable.Assessment.Claim 12 2 14 238 85.7% 0 0
Verifiable.Assessment.ClaimAssessor`1 17 0 17 82 100% 0 0
Verifiable.Assessment.ClaimContext 2 0 2 238 100% 0 0
Verifiable.Assessment.ClaimDelegate`1 7 1 8 105 87.5% 0 0
Verifiable.Assessment.ClaimId 58 1 59 344 98.3% 5 6 83.3%
Verifiable.Assessment.ClaimIssuer`1 28 4 32 137 87.5% 4 6 66.6%
Verifiable.Assessment.ClaimIssueResult 4 6 10 48 40% 0 0
Verifiable.Assessment.ClaimIssueResultContext 1 0 1 48 100% 0 0
Verifiable.Assessment.DefaultAssessors 40 0 40 130 100% 0 0
Verifiable.Assessment.DefaultJwtValidationClaims 6 4 10 245 60% 3 6 50%
Verifiable.Assessment.FailedClaim 0 6 6 238 0% 0 0
Verifiable.Assessment.FailedClaimContext 0 2 2 42 0% 0 0
Verifiable.Assessment.JwtKeyTypeHeaderValidationUtilities 60 28 88 245 68.1% 53 90 58.8%
Verifiable.Assessment.KeyDidRegex 1 1 2 46 50% 0 0
Verifiable.Assessment.KeyDidValidationRules 63 2 65 205 96.9% 47 64 73.4%
Verifiable.Assessment.MachineLearningClaimContext 0 1 1 238 0% 0 0
Verifiable.Assessment.TracingUtilities 3 1 4 57 75% 12 22 54.5%
Verifiable.Core.Base58BtcEncodedMulticodecHeaders 10 1 11 65 90.9% 0 0
Verifiable.Core.Builders.Builder`3 9 13 22 87 40.9% 2 8 25%
Verifiable.Core.Builders.BuilderExtensions 0 19 19 39 0% 0 2 0%
Verifiable.Core.Builders.BuildState 3 0 3 95 100% 0 0
Verifiable.Core.Builders.IdentifierExtensions 5 0 5 99 100% 2 2 100%
Verifiable.Core.Builders.KeyDidBuilder 49 3 52 95 94.2% 1 2 50%
Verifiable.Core.Builders.WebDidBuilder 36 3 39 99 92.3% 3 4 75%
Verifiable.Core.Builders.WebDidBuildState 3 0 3 99 100% 0 0
Verifiable.Core.ControllerConverter 0 5 5 29 0% 0 2 0%
Verifiable.Core.Cryptography.Context.CryptoAlgorithm 24 8 32 238 75% 2 6 33.3%
Verifiable.Core.Cryptography.Context.EncodingScheme 19 8 27 118 70.3% 2 6 33.3%
Verifiable.Core.Cryptography.Context.Purpose 18 8 26 115 69.2% 2 6 33.3%
Verifiable.Core.Cryptography.EllipticCurveConstants 32 3 35 429 91.4% 0 0
Verifiable.Core.Cryptography.EllipticCurveUtilities 87 24 111 418 78.3% 77 106 72.6%
Verifiable.Core.Cryptography.ExactSizeMemoryPool`1 71 20 91 235 78% 23 38 60.5%
Verifiable.Core.Cryptography.Key 4 10 14 65 28.5% 2 8 25%
Verifiable.Core.Cryptography.KeyExtensions 2 0 2 38 100% 0 0
Verifiable.Core.Cryptography.KeyHeaderConversion 88 2 90 107 97.7% 66 72 91.6%
Verifiable.Core.Cryptography.PrivateKey 5 0 5 44 100% 1 2 50%
Verifiable.Core.Cryptography.PrivateKeyMemory 2 0 2 37 100% 0 0
Verifiable.Core.Cryptography.PrivateKeyMemoryDerived 0 2 2 56 0% 0 0
Verifiable.Core.Cryptography.PublicKey 5 0 5 45 100% 0 0
Verifiable.Core.Cryptography.PublicKeyMemory 12 1 13 97 92.3% 2 4 50%
Verifiable.Core.Cryptography.PublicKeyMemoryDerived 0 2 2 56 0% 0 0
Verifiable.Core.Cryptography.PublicPrivateKeyMaterial`2 1 0 1 56 100% 0 0
Verifiable.Core.Cryptography.PublicPrivateKeyMaterialExtensions 1 1 2 56 50% 0 0
Verifiable.Core.Cryptography.RsaUtilities 32 1 33 187 96.9% 17 18 94.4%
Verifiable.Core.Cryptography.SensitiveData 5 0 5 215 100% 0 0
Verifiable.Core.Cryptography.SensitiveMemory 16 13 29 215 55.1% 5 12 41.6%
Verifiable.Core.Cryptography.Signature 2 0 2 27 100% 0 0
Verifiable.Core.Cryptography.Tag 111 0 111 162 100% 0 0
Verifiable.Core.CryptoSuiteConstants 0 23 23 173 0% 0 16 0%
Verifiable.Core.DefaultNamingNamingPolicy 13 1 14 59 92.8% 6 8 75%
Verifiable.Core.Did.AssertionMethod 2 0 2 15 100% 0 0
Verifiable.Core.Did.AuthenticationMethod 2 0 2 14 100% 0 0
Verifiable.Core.Did.CapabilityDelegationMethod 2 0 2 15 100% 0 0
Verifiable.Core.Did.CapabilityInvocationMethod 2 0 2 14 100% 0 0
Verifiable.Core.Did.Context 2 0 2 14 100% 0 0
Verifiable.Core.Did.Controller 4 2 6 22 66.6% 0 0
Verifiable.Core.Did.CryptoSuite 7 6 13 217 53.8% 0 0
Verifiable.Core.Did.CryptoSuiteJsonConverter 0 11 11 36 0% 0 2 0%
Verifiable.Core.Did.DidDocument 24 28 52 199 46.1% 18 82 21.9%
Verifiable.Core.Did.DidIdConverter 10 1 11 48 90.9% 1 2 50%
Verifiable.Core.Did.Ed25519VerificationKey2020 2 2 4 217 50% 0 0
Verifiable.Core.Did.JsonLdContextConverter 42 18 60 170 70% 42 70 60%
Verifiable.Core.Did.JsonWebKey2020 2 5 7 217 28.5% 0 0
Verifiable.Core.Did.JsonWebSignature2020 0 3 3 217 0% 0 0
Verifiable.Core.Did.KeyAgreementMethod 1 1 2 15 50% 0 0
Verifiable.Core.Did.Methods.EbsiDidMethod 1 6 7 36 14.2% 0 2 0%
Verifiable.Core.Did.Methods.GenericDidMethod 5 3 8 52 62.5% 0 0
Verifiable.Core.Did.Methods.KeriDidMethod 0 6 6 34 0% 0 2 0%
Verifiable.Core.Did.Methods.KeyDidMethod 4 3 7 36 57.1% 1 2 50%
Verifiable.Core.Did.Methods.PlaceholderDidMethod 0 6 6 33 0% 0 2 0%
Verifiable.Core.Did.Methods.WebDidMethod 4 3 7 36 57.1% 1 2 50%
Verifiable.Core.Did.Methods.WellKnownDidMethodPrefixes 3 11 14 74 21.4% 0 10 0%
Verifiable.Core.Did.MultibaseAlgorithms 4 0 4 34 100% 0 0
Verifiable.Core.Did.MultihashHeaders 0 5 5 39 0% 0 0
Verifiable.Core.Did.Multikey 2 2 4 217 50% 0 0
Verifiable.Core.Did.PublicKeyBase58 5 0 5 17 100% 0 0
Verifiable.Core.Did.PublicKeyHex 0 5 5 18 0% 0 0
Verifiable.Core.Did.PublicKeyJwk 1 1 2 43 50% 0 0
Verifiable.Core.Did.PublicKeyMultibase 5 0 5 21 100% 0 0
Verifiable.Core.Did.PublicKeyPem 5 0 5 18 100% 0 0
Verifiable.Core.Did.Secp256k1VerificationKey2018 0 3 3 217 0% 0 0
Verifiable.Core.Did.Service 3 0 3 18 100% 0 0
Verifiable.Core.Did.ServiceConverter`1 30 2 32 151 93.7% 5 8 62.5%
Verifiable.Core.Did.ServiceConverterFactory 14 0 14 151 100% 0 0
Verifiable.Core.Did.VerificationMethod 4 0 4 36 100% 0 0
Verifiable.Core.Did.VerificationMethodConverter 59 13 72 188 81.9% 35 58 60.3%
Verifiable.Core.Did.VerificationRelationship 5 1 6 24 83.3% 0 4 0%
Verifiable.Core.Did.VerificationRelationshipConverter`1 24 2 26 106 92.3% 13 16 81.2%
Verifiable.Core.Did.VerificationRelationshipConverterFactory 8 0 8 106 100% 0 0
Verifiable.Core.Did.X25519KeyAgreementKey2020 0 3 3 217 0% 0 0
Verifiable.Core.DidResolutionDocument 0 4 4 19 0% 0 0
Verifiable.Core.Holder 0 3 3 47 0% 0 0
Verifiable.Core.Issuer 0 1 1 47 0% 0 0
Verifiable.Core.MultibaseSerializer 22 21 43 101 51.1% 0 18 0%
Verifiable.Core.MulticodecHeaders 11 5 16 113 68.7% 0 0
Verifiable.Core.SingleOrArrayControllerConverter 17 2 19 132 89.4% 12 14 85.7%
Verifiable.Core.SingleOrArrayVerificationMethodConverter 14 5 19 132 73.6% 9 14 64.2%
Verifiable.Core.SsiKeyFormatSelector 33 2 35 140 94.2% 13 20 65%
Verifiable.Core.ThrowHelper 0 2 2 38 0% 0 0
Verifiable.Core.Verifiable 0 2 2 68 0% 0 0
Verifiable.Core.VerifiableCredential 0 2 2 68 0% 0 0
Verifiable.Core.Verifier 0 4 4 47 0% 0 0
Verifiable.Core.Wallet 0 2 2 47 0% 0 0
Verifiable.Core.WellKnownKeyFormats 5 0 5 140 100% 0 0
Verifiable.Cryptography.CryptoLibrary 23 4 27 100 85.1% 4 8 50%
Verifiable.Cryptography.DefaultEncoderSelector 3 1 4 100 75% 0 0
Verifiable.Cryptography.DefaultHashFunctionSelector 8 3 11 100 72.7% 0 2 0%
Verifiable.DecentralizedWebNode 0 0 0 0 **** 0 0 ****
Verifiable.Jwt 351 105 456 4160 76.9% 204 291 70.1%
Verifiable.Jwt.Base64Url 12 1 13 47 92.3% 3 5 60%
Verifiable.Jwt.CryptoContext 5 1 6 446 83.3% 0 0
Verifiable.Jwt.DictionaryStringObjectJsonConverter 14 46 60 170 23.3% 11 58 18.9%
Verifiable.Jwt.JwkProperties 109 1 110 817 99% 71 74 95.9%
Verifiable.Jwt.Jwt 0 12 12 446 0% 0 0
Verifiable.Jwt.JwtCryptoContext 0 3 3 446 0% 0 0
Verifiable.Jwt.JwtExtensions 18 15 33 446 54.5% 1 4 25%
Verifiable.Jwt.WellKnownCurveValues 28 1 29 158 96.5% 18 20 90%
Verifiable.Jwt.WellKnownJwaValues 49 1 50 311 98% 32 34 94.1%
Verifiable.Jwt.WellKnownJweAlgorithms 67 1 68 414 98.5% 43 46 93.4%
Verifiable.Jwt.WellKnownJweEncryptionAlgorithms 25 1 26 142 96.1% 15 18 83.3%
Verifiable.Jwt.WellKnownJwtClaims 8 21 29 219 27.5% 0 20 0%
Verifiable.Jwt.WellKnownKeyTypeValues 16 1 17 98 94.1% 10 12 83.3%
Verifiable.Microsoft 44 45 89 330 49.4% 10 12 83.3%
Verifiable.Microsoft.MicrosoftCryptographicFunctions 0 18 18 90 0% 0 0
Verifiable.Microsoft.MicrosoftKeyCreator 44 12 56 164 78.5% 10 12 83.3%
Verifiable.Security.Windows.EncryptedMemoryWindows 0 15 15 76 0% 0 0
Verifiable.NSec 22 2 24 98 91.6% 1 2 50%
Verifiable.NSec.NSecAlgorithms 8 0 8 41 100% 0 0
Verifiable.NSec.NSecKeyCreator 14 2 16 57 87.5% 1 2 50%
Verifiable.Sidetree 0 10 10 37 0% 0 6 0%
Verifiable.Sidetree.SideTreeDocument 0 10 10 37 0% 0 6 0%
Verifiable.Tpm 1 180 181 829 0.5% 0 34 0%
Verifiable.Tpm.Guard 0 2 2 25 0% 0 0
Verifiable.Tpm.PcrBank 0 3 3 25 0% 0 0
Verifiable.Tpm.PcrData 0 3 3 25 0% 0 0
Verifiable.Tpm.TpmConstants 0 5 5 66 0% 0 0
Verifiable.Tpm.TpmData 0 3 3 66 0% 0 0
Verifiable.Tpm.TpmExtensions 0 91 91 308 0% 0 12 0%
Verifiable.Tpm.TpmInfo 0 3 3 22 0% 0 0
Verifiable.Tpm.TpmLinux 1 0 1 12 100% 0 0
Verifiable.Tpm.TpmProperties 0 29 29 73 0% 0 0
Verifiable.Tpm.TpmUtilities 0 7 7 41 0% 0 6 0%
Verifiable.Tpm.TpmValidator 0 10 10 66 0% 0 8 0%
Verifiable.Tpm.TpmVirtual 0 1 1 7 0% 0 0
Verifiable.Tpm.TpmWindows 0 1 1 12 0% 0 0
Verifiable.Tpm.TpmWrapper 0 22 22 81 0% 0 8 0%