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::vector<std::string> testData{"additional", "data"}; 17 uint64_t timestamp{100}; 18 std::string message{"test error"}; 19 std::string fwLevel{"level42"}; 20 std::string inputPath = getEntrySerializePath(id, TestSerialization::dir); 21 auto input = std::make_unique<Entry>( 22 bus, std::string(OBJ_ENTRY) + '/' + std::to_string(id), id, timestamp, 23 Entry::Level::Informational, std::move(message), std::move(testData), 24 std::move(assocations), fwLevel, inputPath, manager); 25 auto path = serialize(*input, TestSerialization::dir); 26 EXPECT_EQ(path, inputPath); 27 28 auto idStr = path.filename(); 29 id = std::stol(idStr.c_str()); 30 auto output = std::make_unique<Entry>( 31 bus, std::filesystem::path(OBJ_ENTRY) / idStr, id, manager); 32 deserialize(path, *output); 33 34 EXPECT_EQ(input->id(), output->id()); 35 EXPECT_EQ(input->severity(), output->severity()); 36 EXPECT_EQ(input->timestamp(), output->timestamp()); 37 EXPECT_EQ(input->message(), output->message()); 38 EXPECT_EQ(input->additionalData(), output->additionalData()); 39 EXPECT_EQ(input->resolved(), output->resolved()); 40 EXPECT_EQ(input->associations(), output->associations()); 41 EXPECT_EQ(input->version(), output->version()); 42 EXPECT_EQ(input->purpose(), output->purpose()); 43 EXPECT_EQ(input->updateTimestamp(), output->updateTimestamp()); 44 } 45 46 } // namespace test 47 } // namespace logging 48 } // namespace phosphor 49