void testSerialize() { PayloadsSerializer serializer; boost::shared_ptr<Storage> storage(new Storage()); Storage::Room room; room.name = "Council of Oberon"; room.autoJoin = true; room.jid = JID("*****@*****.**"); room.nick = "Puck"; room.password = "******"; storage->addRoom(room); Storage::URL url; url.name = "Complete Works of Shakespeare"; url.url = "http://the-tech.mit.edu/Shakespeare/"; storage->addURL(url); CPPUNIT_ASSERT_EQUAL(std::string( "<storage xmlns=\"storage:bookmarks\">" "<conference " "autojoin=\"1\" " "jid=\"[email protected]\" " "name=\"Council of Oberon\">" "<nick>Puck</nick>" "<password>MyPass</password>" "</conference>" "<url name=\"Complete Works of Shakespeare\" url=\"http://the-tech.mit.edu/Shakespeare/\"/>" "</storage>"), serializer.serialize(storage)); }
void testSerialize_NoNickOrPassword() { PayloadsSerializer serializer; boost::shared_ptr<Storage> storage(new Storage()); Storage::Room room; room.name = "Council of Oberon"; room.autoJoin = true; room.jid = JID("*****@*****.**"); storage->addRoom(room); CPPUNIT_ASSERT_EQUAL(std::string( "<storage xmlns=\"storage:bookmarks\">" "<conference " "autojoin=\"1\" " "jid=\"[email protected]\" " "name=\"Council of Oberon\"/>" "</storage>"), serializer.serialize(storage)); }
void testSerialize() { PayloadsSerializer serializer; boost::shared_ptr<PrivateStorage> privateStorage(new PrivateStorage()); boost::shared_ptr<Storage> storage(new Storage()); Storage::Room room; room.name = "Swift"; room.jid = JID("*****@*****.**"); room.nick = "Alice"; storage->addRoom(room); privateStorage->setPayload(storage); CPPUNIT_ASSERT_EQUAL(std::string( "<query xmlns=\"jabber:iq:private\">" "<storage xmlns=\"storage:bookmarks\">" "<conference " "autojoin=\"0\" " "jid=\"[email protected]\" " "name=\"Swift\">" "<nick>Alice</nick>" "</conference>" "</storage>" "</query>"), serializer.serialize(privateStorage)); }