Compare commits

..

1 commit

Author SHA1 Message Date
cda854553c Add message serialization and deserialization
All checks were successful
PR Check / on-push-commit-check (push) Successful in 22m27s
2024-12-24 22:41:22 +11:00

View file

@ -65,21 +65,23 @@ TEST(Parse, Message) {
}
TEST(Serialize, Message) {
auto expected =
R"(<?xml version="1.0" encoding="UTF-8"?>
{
auto expected =
R"(<?xml version="1.0" encoding="UTF-8"?>
<message from="user1@server.i2p" to="user2@server.i2p" type="chat" id="1" xml:lang="en"><body>hello</body></message>
)";
xmlpp::Document doc;
auto node = doc.create_root_node("message");
Serialization<message::Message<BareJid, BareJid>>::Serialize(node, kMessage);
EXPECT_EQ(doc.write_to_string(), expected);
}
auto expected = R"(<?xml version="1.0" encoding="UTF-8"?>
<message type="error" from="user1@server.i2p" to="user2@server.i2p"><error type="auth"><not-authorized xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></message>
)";
xmlpp::Document doc;
auto node = doc.create_root_node("message");
Serialization<message::Message<BareJid, BareJid>>::Serialize(node, kMessage);
EXPECT_EQ(doc.write_to_string(), expected);
doc.~Document();
new(&doc) xmlpp::Document{};
node = doc.create_root_node("message");
Serialization<message::Error<BareJid, BareJid>>::Serialize(node, kError);
EXPECT_EQ(doc.write_to_string(), R"(<?xml version="1.0" encoding="UTF-8"?>
<message type="error" from="user1@server.i2p" to="user2@server.i2p"><error type="auth"><not-authorized xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></message>
)");
EXPECT_EQ(doc.write_to_string(), expected);
}
} // namespace larra::xmpp