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 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->additionalData2(), output->additionalData2()); 41 EXPECT_EQ(input->resolved(), output->resolved()); 42 EXPECT_EQ(input->associations(), output->associations()); 43 EXPECT_EQ(input->version(), output->version()); 44 EXPECT_EQ(input->purpose(), output->purpose()); 45 EXPECT_EQ(input->updateTimestamp(), output->updateTimestamp()); 46 } 47 48 } // namespace test 49 } // namespace logging 50 } // namespace phosphor 51