1 #include <gtest/gtest.h>
4 #include "logging/logging.h"
6 TEST(
Hash, EncodeDecode) {
7 std::vector<Hash> hashes = {{Hash::Type::kSha256,
"abcd"}, {Hash::Type::kSha512,
"defg"}};
9 std::string encoded = Hash::encodeVector(hashes);
10 std::vector<Hash> decoded = Hash::decodeVector(encoded);
12 EXPECT_EQ(hashes, decoded);
15 TEST(
Hash, DecodeBad) {
16 std::string bad1 =
":";
17 EXPECT_EQ(Hash::decodeVector(bad1), std::vector<Hash>{});
19 std::string bad2 =
":abcd;sha256:12";
20 EXPECT_EQ(Hash::decodeVector(bad2), std::vector<Hash>{
Hash(Hash::Type::kSha256,
"12")});
22 std::string bad3 =
"sha256;";
23 EXPECT_EQ(Hash::decodeVector(bad3), std::vector<Hash>{});
25 std::string bad4 =
"sha256:;";
26 EXPECT_EQ(Hash::decodeVector(bad4), std::vector<Hash>{});
30 int main(
int argc,
char** argv) {
31 ::testing::InitGoogleTest(&argc, argv);
32 logger_set_threshold(boost::log::trivial::trace);
33 return RUN_ALL_TESTS();