Chromium Code Reviews| Index: remoting/protocol/jingle_messages_unittest.cc |
| diff --git a/remoting/protocol/jingle_messages_unittest.cc b/remoting/protocol/jingle_messages_unittest.cc |
| index 50fb2f6b55ec0db5f8c8816c77cd0a4dc34ab787..82ca66a30f9aabeaa5ac4ed52c2b8c25bd28d643 100644 |
| --- a/remoting/protocol/jingle_messages_unittest.cc |
| +++ b/remoting/protocol/jingle_messages_unittest.cc |
| @@ -566,5 +566,75 @@ TEST(JingleMessageTest, ErrorMessage) { |
| EXPECT_FALSE(error.empty()); |
| } |
| +TEST(JingleMessageTest, ErrorCodeShouldBeIncludedInXml) { |
| + JingleMessage message(std::string("to_jid"), |
| + JingleMessage::SESSION_TERMINATE, |
| + std::string("sid")); |
| + message.action = JingleMessage::SESSION_TERMINATE; |
| + message.reason = JingleMessage::DECLINE; |
| + message.error_code = INVALID_ACCOUNT; |
| + EXPECT_EQ(message.ToXml()->Str(), |
|
Sergey Ulanov
2016/06/02 09:26:04
You don't want to compare generate XML as string.
Hzj_jie
2016/06/02 22:00:18
Done.
|
| + "<iq xmlns=\"jabber:client\" to=\"to_jid\" type=\"set\">" |
| + "<jingle xmlns=\"urn:xmpp:jingle:1\" sid=\"sid\" " |
| + "action=\"session-terminate\">" |
| + "<reason><decline/></reason>" |
| + "<rem:error-code xmlns:rem=\"google:remoting\">" |
| + "<rem:INVALID_ACCOUNT/>" |
| + "</rem:error-code>" |
| + "</jingle>" |
| + "</iq>"); |
| + JingleMessage parsed; |
| + ParseFormatAndCompare(message.ToXml()->Str().c_str(), &parsed); |
| + EXPECT_EQ(message.action, parsed.action); |
| + EXPECT_EQ(message.reason, parsed.reason); |
| + EXPECT_EQ(message.error_code, parsed.error_code); |
| + |
| + message.error_code = parsed.error_code = UNKNOWN_ERROR; |
|
Sergey Ulanov
2016/06/02 09:26:04
this double assignment is not readable. Please spl
Hzj_jie
2016/06/02 22:00:19
Done.
|
| + EXPECT_EQ(message.ToXml()->Str(), |
| + "<iq xmlns=\"jabber:client\" to=\"to_jid\" type=\"set\">" |
| + "<jingle xmlns=\"urn:xmpp:jingle:1\" sid=\"sid\" " |
| + "action=\"session-terminate\">" |
| + "<reason><decline/></reason>" |
| + "</jingle>" |
| + "</iq>"); |
| + ParseFormatAndCompare(message.ToXml()->Str().c_str(), &parsed); |
| + EXPECT_EQ(message.action, parsed.action); |
| + EXPECT_EQ(message.reason, parsed.reason); |
| +} |
| + |
| +TEST(JingleMessageTest, InvalidAccount) { |
| + const char* kTestSessionTerminateMessage = |
| + "<cli:iq from='user@gmail.com/chromoting016DBB07' " |
| + "to='user@gmail.com/chromiumsy5C6A652D' type='set' " |
| + "xmlns:cli='jabber:client'><jingle action='session-terminate' " |
| + "sid='2227053353' xmlns='urn:xmpp:jingle:1'><reason><decline/></reason>" |
| + "<gr:error-code xmlns:gr='google:remoting'>" |
| + "<gr:INVALID_ACCOUNT/>" |
| + "</gr:error-code>" |
| + "</jingle></cli:iq>"; |
| + JingleMessage message; |
| + ParseFormatAndCompare(kTestSessionTerminateMessage, &message); |
| + EXPECT_EQ(message.action, JingleMessage::SESSION_TERMINATE); |
| + EXPECT_EQ(message.reason, JingleMessage::DECLINE); |
| + EXPECT_EQ(message.error_code, INVALID_ACCOUNT); |
| +} |
| + |
| +TEST(JingleMessageTest, AuthenticationFailed) { |
| + const char* kTestSessionTerminateMessage = |
| + "<cli:iq from='user@gmail.com/chromoting016DBB07' " |
| + "to='user@gmail.com/chromiumsy5C6A652D' type='set' " |
| + "xmlns:cli='jabber:client'><jingle action='session-terminate' " |
| + "sid='2227053353' xmlns='urn:xmpp:jingle:1'><reason><decline/></reason>" |
| + "<gr:error-code xmlns:gr='google:remoting'>" |
| + "<gr:AUTHENTICATION_FAILED />" |
| + "</gr:error-code>" |
| + "</jingle></cli:iq>"; |
| + JingleMessage message; |
| + ParseFormatAndCompare(kTestSessionTerminateMessage, &message); |
| + EXPECT_EQ(message.action, JingleMessage::SESSION_TERMINATE); |
| + EXPECT_EQ(message.reason, JingleMessage::DECLINE); |
| + EXPECT_EQ(message.error_code, AUTHENTICATION_FAILED); |
| +} |
| + |
| } // namespace protocol |
| } // namespace remoting |