diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 21:30:40 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 21:30:40 +0000 |
commit | 133a45c109da5310add55824db21af5239951f93 (patch) | |
tree | ba6ac4c0a950a0dda56451944315d66409923918 /test/functional/lua/hashes.lua | |
parent | Initial commit. (diff) | |
download | rspamd-133a45c109da5310add55824db21af5239951f93.tar.xz rspamd-133a45c109da5310add55824db21af5239951f93.zip |
Adding upstream version 3.8.1.upstream/3.8.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/functional/lua/hashes.lua')
-rw-r--r-- | test/functional/lua/hashes.lua | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/test/functional/lua/hashes.lua b/test/functional/lua/hashes.lua new file mode 100644 index 0000000..7a1728b --- /dev/null +++ b/test/functional/lua/hashes.lua @@ -0,0 +1,74 @@ +rspamd_config:register_symbol({ + name = 'TEST_HASHES', + score = 1.0, + callback = function() + local hash = require 'rspamd_cryptobox_hash' + local logger = require 'rspamd_logger' + + local worry = {} + local test_data = { + { + ['str'] = 'asdf.qwerty.123', + ['hex'] = 'bf22dd95750034b9af93f0e4e5954aca3506bbcdbc051d91bd9af2d1a8fc294e848626b1c1751e58b44c4d3ea69dec5efa5a214dc59c77b1a9ca3bde3babac9d', + }, + { + ['specific'] = 'md5', + ['str'] = 'asdf.qwerty.123', + ['hex'] = 'cf25ddc406c50de0c13de2b79d127646', + }, + { + ['init'] = 'asdf.qwerty.123', + ['str'] = 'asdf.qwerty.123', + ['hex'] = 'bf22dd95750034b9af93f0e4e5954aca3506bbcdbc051d91bd9af2d1a8fc294e848626b1c1751e58b44c4d3ea69dec5efa5a214dc59c77b1a9ca3bde3babac9d', + ['reset'] = true, + }, + { + ['init'] = 'asdf.qwerty.123', + ['str'] = 'asdf.qwerty.123', + ['hex'] = 'e445046aa21a705dcce1343795630f88bc0196a0070011fdce789d5a2a349a8f85349834ade555ca21439f65fdc4dbcf82dcff7fcc559ef11c508507515c1532', + }, + { + ['init'] = 'asdf.qwerty.123', + ['specific'] = 'md5', + ['str'] = 'asdf.qwerty.123', + ['hex'] = '9ef941c4d050e43b1e665300f4fbe054', + }, + { + ['init'] = 'asdf.qwerty.123', + ['specific'] = 'md5', + ['str'] = 'asdf.qwerty.123', + ['hex'] = 'cf25ddc406c50de0c13de2b79d127646', + ['reset'] = true, + }, + { + ['init'] = 'hello', + ['specific'] = 'xxh3', + ['str'] = 'hello', + ['hex'] = 'c1156ae6cb7ff175', + } + } + + for _, t in ipairs(test_data) do + local h + if not t['specific'] then + h = hash.create(t['init']) + else + h = hash.create_specific(t['specific'], t['init']) + end + if t['reset'] then + h:reset() + end + h:update(t['str']) + if h:hex() ~= t['hex'] then + t['error'] = 'sum mismatch: ' .. h:hex() + table.insert(worry, logger.slog('%1', t)) + end + end + + if (#worry == 0) then + return true, "no worry" + else + return true, table.concat(worry, ",") + end + end +}) |