diff options
author | Bart de Water <496367+bdewater@users.noreply.github.com> | 2024-03-11 22:27:04 -0400 |
---|---|---|
committer | Bart de Water <496367+bdewater@users.noreply.github.com> | 2024-03-15 17:18:18 -0400 |
commit | 08dd3c73b711606de5e5a0b90d3b1a81d173b9da (patch) | |
tree | ea72a0b5907e38cb74a3a5e3e70cf4f48a380907 /test | |
parent | 043c503750e5fcf2e3e186a458b5d6012ebdb98e (diff) | |
download | ruby-openssl-08dd3c73b711606de5e5a0b90d3b1a81d173b9da.tar.gz |
Add OpenSSL::Digest.digests to get a list of available digests
Diffstat (limited to 'test')
-rw-r--r-- | test/openssl/test_digest.rb | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/test/openssl/test_digest.rb b/test/openssl/test_digest.rb index b0b5b9be..988330e4 100644 --- a/test/openssl/test_digest.rb +++ b/test/openssl/test_digest.rb @@ -88,7 +88,7 @@ class OpenSSL::TestDigest < OpenSSL::TestCase end def test_sha512_truncate - pend "SHA512_224 is not implemented" unless digest_available?('SHA512-224') + pend "SHA512_224 is not implemented" unless digest_available?('sha512-224') sha512_224_a = "d5cdb9ccc769a5121d4175f2bfdd13d6310e0d3d361ea75d82108327" sha512_256_a = "455e518824bc0601f9fb858ff5c37d417d67c2f8e0df2babe4808858aea830f8" @@ -100,7 +100,7 @@ class OpenSSL::TestDigest < OpenSSL::TestCase end def test_sha3 - pend "SHA3 is not implemented" unless digest_available?('SHA3-224') + pend "SHA3 is not implemented" unless digest_available?('sha3-224') s224 = '6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7' s256 = 'a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a' s384 = '0c63a75b845e4f7d01107d852e4c2485c51a50aaaa94fc61995e71bbee983a2ac3713831264adb47fb6bd1e058d5f004' @@ -126,6 +126,15 @@ class OpenSSL::TestDigest < OpenSSL::TestCase end end + def test_digests + digests = OpenSSL::Digest.digests + assert_kind_of Array, digests + assert_include digests, "md5" + assert_include digests, "sha1" + assert_include digests, "sha256" + assert_include digests, "sha512" + end + private def check_digest(oid) @@ -138,11 +147,8 @@ class OpenSSL::TestDigest < OpenSSL::TestCase end def digest_available?(name) - begin - OpenSSL::Digest.new(name) - rescue RuntimeError - false - end + @digests ||= OpenSSL::Digest.digests + @digests.include?(name) end end |