1 #include "elog_entry.hpp"
2 #include "elog_serialize.hpp"
3 #include "serialization_tests.hpp"
4
5 namespace phosphor
6 {
7 namespace logging
8 {
9 namespace test
10 {
11
TEST_F(TestSerialization,testProperties)12 TEST_F(TestSerialization, testProperties)
13 {
14 auto id = 99;
15 phosphor::logging::AssociationList assocations{};
16 std::map<std::string, std::string> testData = {{"additional", "1"},
17 {"data", "yes"}};
18 uint64_t timestamp{100};
19 std::string message{"test error"};
20 std::string fwLevel{"level42"};
21 std::string inputPath = getEntrySerializePath(id, TestSerialization::dir);
22 auto input = std::make_unique<Entry>(
23 bus, std::string(OBJ_ENTRY) + '/' + std::to_string(id), id, timestamp,
24 Entry::Level::Informational, std::move(message), std::move(testData),
25 std::move(assocations), fwLevel, inputPath, manager);
26 auto path = serialize(*input, TestSerialization::dir);
27 EXPECT_EQ(path, inputPath);
28
29 auto idStr = path.filename();
30 id = std::stol(idStr.c_str());
31 auto output = std::make_unique<Entry>(
32 bus, std::filesystem::path(OBJ_ENTRY) / idStr, id, manager);
33 deserialize(path, *output);
34
35 EXPECT_EQ(input->id(), output->id());
36 EXPECT_EQ(input->severity(), output->severity());
37 EXPECT_EQ(input->timestamp(), output->timestamp());
38 EXPECT_EQ(input->message(), output->message());
39 EXPECT_EQ(input->additionalData(), output->additionalData());
40 EXPECT_EQ(input->resolved(), output->resolved());
41 EXPECT_EQ(input->associations(), output->associations());
42 EXPECT_EQ(input->version(), output->version());
43 EXPECT_EQ(input->purpose(), output->purpose());
44 EXPECT_EQ(input->updateTimestamp(), output->updateTimestamp());
45 }
46
47 } // namespace test
48 } // namespace logging
49 } // namespace phosphor
50