mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-23 23:02:25 +00:00
More of a storage_index_hash test
This commit is contained in:
parent
9e83343335
commit
30b37e17dd
@ -102,9 +102,35 @@ class HashUtilTests(unittest.TestCase):
|
||||
got_a = base32.b2a(got)
|
||||
self.failUnlessEqual(got_a, expected_a)
|
||||
|
||||
def test_known_answers(self):
|
||||
# assert backwards compatibility
|
||||
def test_storage_index_hash_known_answers(self):
|
||||
"""
|
||||
Verify backwards compatibility by comparing ``storage_index_hash`` outputs
|
||||
for some well-known (to us) inputs.
|
||||
"""
|
||||
# This is a marginal case. b"" is not a valid aes 128 key. The
|
||||
# implementation does nothing to avoid producing a result for it,
|
||||
# though.
|
||||
self._testknown(hashutil.storage_index_hash, b"qb5igbhcc5esa6lwqorsy7e6am", b"")
|
||||
|
||||
# This is a little bit more realistic though clearly this is a poor key choice.
|
||||
self._testknown(hashutil.storage_index_hash, b"wvggbrnrezdpa5yayrgiw5nzja", b"x" * 16)
|
||||
|
||||
# Here's a much more realistic key that I generated by reading some
|
||||
# bytes from /dev/urandom. I computed the expected hash value twice.
|
||||
# First using hashlib.sha256 and then with sha256sum(1). The input
|
||||
# string given to the hash function was "43:<storage index tag>,<key>"
|
||||
# in each case.
|
||||
self._testknown(
|
||||
hashutil.storage_index_hash,
|
||||
b"aarbseqqrpsfowduchcjbonscq",
|
||||
base32.a2b(b"2ckv3dfzh6rgjis6ogfqhyxnzy"),
|
||||
)
|
||||
|
||||
def test_known_answers(self):
|
||||
"""
|
||||
Verify backwards compatibility by comparing hash outputs for some
|
||||
well-known (to us) inputs.
|
||||
"""
|
||||
self._testknown(hashutil.block_hash, b"msjr5bh4evuh7fa3zw7uovixfbvlnstr5b65mrerwfnvjxig2jvq", b"")
|
||||
self._testknown(hashutil.uri_extension_hash, b"wthsu45q7zewac2mnivoaa4ulh5xvbzdmsbuyztq2a5fzxdrnkka", b"")
|
||||
self._testknown(hashutil.plaintext_hash, b"5lz5hwz3qj3af7n6e3arblw7xzutvnd3p3fjsngqjcb7utf3x3da", b"")
|
||||
|
Loading…
Reference in New Issue
Block a user