Index: remoting/protocol/jingle_messages_unittest.cc |
diff --git a/remoting/protocol/jingle_messages_unittest.cc b/remoting/protocol/jingle_messages_unittest.cc |
index 5fb388a06eb6f879b56eac011ee1e809c31eefc2..67f05dbadee7f7ace3c1400113b3997d1f0cc020 100644 |
--- a/remoting/protocol/jingle_messages_unittest.cc |
+++ b/remoting/protocol/jingle_messages_unittest.cc |
@@ -403,55 +403,105 @@ TEST(JingleMessageTest, SessionInfo) { |
buzz::QName("urn:xmpp:jingle:1", "test-info")); |
} |
+TEST(JingleMessageTest, Address) { |
+ const char* kTestSessionInfoMessage = |
+ "<cli:iq from='remoting@talk.google.com' " |
+ "from-channel='lcs' " |
+ "from-endpoint-id='user@gmail.com/xBrnereror=' " |
+ "to='user@gmail.com/chromiumsy5C6A652D' type='set' " |
+ "xmlns:cli='jabber:client'><jingle action='session-info' " |
+ "sid='2227053353' xmlns='urn:xmpp:jingle:1'><test-info>TestMessage" |
+ "</test-info></jingle></cli:iq>"; |
+ |
+ JingleMessage message; |
+ ParseFormatAndCompare(kTestSessionInfoMessage, &message); |
+ EXPECT_EQ(message.from.jid, "remoting@talk.google.com"); |
+ EXPECT_EQ(message.from.channel, Address::LCS); |
+ EXPECT_EQ(message.from.endpoint_id, "user@gmail.com/xBrnereror="); |
+ |
+ EXPECT_EQ(message.to.jid, "user@gmail.com/chromiumsy5C6A652D"); |
+ EXPECT_EQ(message.to.channel, Address::XMPP); |
+ EXPECT_EQ(message.to.endpoint_id, "user@gmail.com/chromiumsy5C6A652D"); |
+ |
+ EXPECT_EQ(message.action, JingleMessage::SESSION_INFO); |
+} |
+ |
+ |
TEST(JingleMessageReplyTest, ToXml) { |
- const char* kTestIncomingMessage = |
+ const char* kTestIncomingMessage1 = |
"<cli:iq from='user@gmail.com/chromoting016DBB07' id='4' " |
"to='user@gmail.com/chromiumsy5C6A652D' type='set' " |
"xmlns:cli='jabber:client'><jingle action='session-terminate' " |
"sid='2227053353' xmlns='urn:xmpp:jingle:1'><reason><success/>" |
"</reason></jingle></cli:iq>"; |
- std::unique_ptr<XmlElement> incoming_message( |
- XmlElement::ForStr(kTestIncomingMessage)); |
- ASSERT_TRUE(incoming_message.get()); |
+ const char* kTestIncomingMessage2 = |
+ "<cli:iq from='remoting@talk.google.com' id='4' " |
+ "from-channel='lcs' from-endpoint-id='from@gmail.com/AbCdEf1234=' " |
+ "to='user@gmail.com/chromiumsy5C6A652D' type='set' " |
+ "xmlns:cli='jabber:client'><jingle action='session-terminate' " |
+ "sid='2227053353' xmlns='urn:xmpp:jingle:1'><reason><success/>" |
+ "</reason></jingle></cli:iq>"; |
struct TestCase { |
const JingleMessageReply::ErrorType error; |
std::string error_text; |
std::string expected_text; |
+ std::string incoming_message; |
} tests[] = { |
{ JingleMessageReply::BAD_REQUEST, "", "<iq xmlns='jabber:client' " |
"to='user@gmail.com/chromoting016DBB07' id='4' type='error'><jingle " |
"action='session-terminate' sid='2227053353' xmlns='urn:xmpp:jingle:1'>" |
"<reason><success/></reason></jingle><error type='modify'><bad-request/>" |
- "</error></iq>" }, |
+ "</error></iq>", |
+ kTestIncomingMessage1}, |
{ JingleMessageReply::BAD_REQUEST, "ErrorText", "<iq xmlns='jabber:client' " |
"to='user@gmail.com/chromoting016DBB07' id='4' type='error'><jingle " |
"action='session-terminate' sid='2227053353' xmlns='urn:xmpp:jingle:1'>" |
"<reason><success/></reason></jingle><error type='modify'><bad-request/>" |
- "<text xml:lang='en'>ErrorText</text></error></iq>" }, |
+ "<text xml:lang='en'>ErrorText</text></error></iq>", |
+ kTestIncomingMessage1 }, |
{ JingleMessageReply::NOT_IMPLEMENTED, "", "<iq xmlns='jabber:client' " |
"to='user@gmail.com/chromoting016DBB07' id='4' type='error'><jingle " |
"action='session-terminate' sid='2227053353' xmlns='urn:xmpp:jingle:1'>" |
"<reason><success/></reason></jingle><error type='cancel'>" |
- "<feature-bad-request/></error></iq>" }, |
+ "<feature-bad-request/></error></iq>", |
+ kTestIncomingMessage1 }, |
{ JingleMessageReply::INVALID_SID, "", "<iq xmlns='jabber:client' " |
"to='user@gmail.com/chromoting016DBB07' id='4' type='error'><jingle " |
"action='session-terminate' sid='2227053353' xmlns='urn:xmpp:jingle:1'>" |
"<reason><success/></reason></jingle><error type='modify'>" |
- "<item-not-found/><text xml:lang='en'>Invalid SID</text></error></iq>" }, |
+ "<item-not-found/><text xml:lang='en'>Invalid SID</text></error></iq>", |
+ kTestIncomingMessage1 }, |
{ JingleMessageReply::INVALID_SID, "ErrorText", "<iq xmlns='jabber:client' " |
"to='user@gmail.com/chromoting016DBB07' id='4' type='error'><jingle " |
"action='session-terminate' sid='2227053353' xmlns='urn:xmpp:jingle:1'>" |
"<reason><success/></reason></jingle><error type='modify'>" |
- "<item-not-found/><text xml:lang='en'>ErrorText</text></error></iq>" }, |
+ "<item-not-found/><text xml:lang='en'>ErrorText</text></error></iq>", |
+ kTestIncomingMessage1 }, |
{ JingleMessageReply::UNEXPECTED_REQUEST, "", "<iq xmlns='jabber:client' " |
"to='user@gmail.com/chromoting016DBB07' id='4' type='error'><jingle " |
"action='session-terminate' sid='2227053353' xmlns='urn:xmpp:jingle:1'>" |
"<reason><success/></reason></jingle><error type='modify'>" |
- "<unexpected-request/></error></iq>" }, |
+ "<unexpected-request/></error></iq>", |
+ kTestIncomingMessage1 }, |
+ { JingleMessageReply::INVALID_SID, "ErrorText", "<iq xmlns='jabber:client' " |
+ "to='remoting@talk.google.com' to-channel='lcs' " |
+ "to-endpoint-id='from@gmail.com/AbCdEf1234=' id='4' type='error'><jingle " |
+ "action='session-terminate' sid='2227053353' xmlns='urn:xmpp:jingle:1'>" |
+ "<reason><success/></reason></jingle><error type='modify'>" |
+ "<item-not-found/><text xml:lang='en'>ErrorText</text></error></iq>", |
+ kTestIncomingMessage2 }, |
+ { JingleMessageReply::NONE, "", "<iq xmlns='jabber:client' " |
+ "to='remoting@talk.google.com' to-channel='lcs' " |
+ "to-endpoint-id='from@gmail.com/AbCdEf1234=' id='4' type='result'></iq>", |
+ kTestIncomingMessage2 }, |
}; |
for (size_t i = 0; i < arraysize(tests); ++i) { |
+ std::unique_ptr<XmlElement> incoming_message( |
+ XmlElement::ForStr(tests[i].incoming_message)); |
+ ASSERT_TRUE(incoming_message.get()); |
+ |
JingleMessageReply reply_msg; |
if (tests[i].error_text.empty()) { |
reply_msg = JingleMessageReply(tests[i].error); |