1 #include <gtest/gtest.h>
3 #include "logging/logging.h"
4 #include "uptane/exceptions.h"
5 #include "uptane/tuf.h"
6 #include "utilities/utils.h"
8 TEST(TufHash, EncodeDecode) {
9 std::vector<Uptane::Hash> hashes = {{Uptane::Hash::Type::kSha256,
"abcd"}, {Uptane::Hash::Type::kSha512,
"defg"}};
11 std::string encoded = Uptane::Hash::encodeVector(hashes);
12 std::vector<Uptane::Hash> decoded = Uptane::Hash::decodeVector(encoded);
14 EXPECT_EQ(hashes, decoded);
17 TEST(TufHash, DecodeBad) {
18 std::string bad1 =
":";
19 EXPECT_EQ(Uptane::Hash::decodeVector(bad1), std::vector<Uptane::Hash>{});
21 std::string bad2 =
":abcd;sha256:12";
22 EXPECT_EQ(Uptane::Hash::decodeVector(bad2),
23 std::vector<Uptane::Hash>{
Uptane::Hash(Uptane::Hash::Type::kSha256,
"12")});
25 std::string bad3 =
"sha256;";
26 EXPECT_EQ(Uptane::Hash::decodeVector(bad3), std::vector<Uptane::Hash>{});
28 std::string bad4 =
"sha256:;";
29 EXPECT_EQ(Uptane::Hash::decodeVector(bad4), std::vector<Uptane::Hash>{});
33 int main(
int argc,
char** argv) {
34 ::testing::InitGoogleTest(&argc, argv);
35 logger_set_threshold(boost::log::trivial::trace);
36 return RUN_ALL_TESTS();