Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(809)

Side by Side Diff: remoting/protocol/jingle_messages_unittest.cc

Issue 1085703003: Use standard ICE in Chromoting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix crash on memory bots Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « remoting/protocol/jingle_messages.cc ('k') | remoting/protocol/jingle_session.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/protocol/jingle_messages.h" 5 #include "remoting/protocol/jingle_messages.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "testing/gmock/include/gmock/gmock.h" 8 #include "testing/gmock/include/gmock/gmock.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "third_party/webrtc/libjingle/xmllite/xmlelement.h" 10 #include "third_party/webrtc/libjingle/xmllite/xmlelement.h"
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 TEST(JingleMessageTest, SessionInitiate) { 98 TEST(JingleMessageTest, SessionInitiate) {
99 const char* kTestSessionInitiateMessage = 99 const char* kTestSessionInitiateMessage =
100 "<iq to='user@gmail.com/chromoting016DBB07' type='set' " 100 "<iq to='user@gmail.com/chromoting016DBB07' type='set' "
101 "from='user@gmail.com/chromiumsy5C6A652D' " 101 "from='user@gmail.com/chromiumsy5C6A652D' "
102 "xmlns='jabber:client'>" 102 "xmlns='jabber:client'>"
103 "<jingle xmlns='urn:xmpp:jingle:1' " 103 "<jingle xmlns='urn:xmpp:jingle:1' "
104 "action='session-initiate' sid='2227053353' " 104 "action='session-initiate' sid='2227053353' "
105 "initiator='user@gmail.com/chromiumsy5C6A652D'>" 105 "initiator='user@gmail.com/chromiumsy5C6A652D'>"
106 "<content name='chromoting' creator='initiator'>" 106 "<content name='chromoting' creator='initiator'>"
107 "<description xmlns='google:remoting'>" 107 "<description xmlns='google:remoting'>"
108 "<standard-ice/>"
108 "<control transport='stream' version='2'/>" 109 "<control transport='stream' version='2'/>"
109 "<event transport='stream' version='2'/>" 110 "<event transport='stream' version='2'/>"
110 "<video transport='stream' version='2' codec='vp8'/>" 111 "<video transport='stream' version='2' codec='vp8'/>"
111 "<audio transport='stream' version='2' codec='verbatim'/>" 112 "<audio transport='stream' version='2' codec='verbatim'/>"
112 "<initial-resolution width='640' height='480'/>" 113 "<initial-resolution width='640' height='480'/>"
113 "<authentication><auth-token>" 114 "<authentication><auth-token>"
114 "j7whCMii0Z0AAPwj7whCM/j7whCMii0Z0AAPw=" 115 "j7whCMii0Z0AAPwj7whCM/j7whCMii0Z0AAPw="
115 "</auth-token></authentication>" 116 "</auth-token></authentication>"
116 "</description>" 117 "</description>"
117 "<transport xmlns='http://www.google.com/transport/p2p'/>" 118 "<transport xmlns='http://www.google.com/transport/p2p'/>"
(...skipping 20 matching lines...) Expand all
138 139
139 TEST(JingleMessageTest, SessionAccept) { 140 TEST(JingleMessageTest, SessionAccept) {
140 const char* kTestSessionAcceptMessage = 141 const char* kTestSessionAcceptMessage =
141 "<cli:iq from='user@gmail.com/chromoting016DBB07' " 142 "<cli:iq from='user@gmail.com/chromoting016DBB07' "
142 "to='user@gmail.com/chromiumsy5C6A652D' type='set' " 143 "to='user@gmail.com/chromiumsy5C6A652D' type='set' "
143 "xmlns:cli='jabber:client'>" 144 "xmlns:cli='jabber:client'>"
144 "<jingle action='session-accept' sid='2227053353' " 145 "<jingle action='session-accept' sid='2227053353' "
145 "xmlns='urn:xmpp:jingle:1'>i" 146 "xmlns='urn:xmpp:jingle:1'>i"
146 "<content creator='initiator' name='chromoting'>" 147 "<content creator='initiator' name='chromoting'>"
147 "<description xmlns='google:remoting'>" 148 "<description xmlns='google:remoting'>"
149 "<standard-ice/>"
148 "<control transport='stream' version='2'/>" 150 "<control transport='stream' version='2'/>"
149 "<event transport='stream' version='2'/>" 151 "<event transport='stream' version='2'/>"
150 "<video codec='vp8' transport='stream' version='2'/>" 152 "<video codec='vp8' transport='stream' version='2'/>"
151 "<audio transport='stream' version='2' codec='verbatim'/>" 153 "<audio transport='stream' version='2' codec='verbatim'/>"
152 "<initial-resolution height='480' width='640'/>" 154 "<initial-resolution height='480' width='640'/>"
153 "<authentication><certificate>" 155 "<authentication><certificate>"
154 "MIICpjCCAY6gW0Cert0TANBgkqhkiG9w0BAQUFA=" 156 "MIICpjCCAY6gW0Cert0TANBgkqhkiG9w0BAQUFA="
155 "</certificate></authentication>" 157 "</certificate></authentication>"
156 "</description>" 158 "</description>"
157 "<transport xmlns='http://www.google.com/transport/p2p'/>" 159 "<transport xmlns='http://www.google.com/transport/p2p'/>"
(...skipping 12 matching lines...) Expand all
170 EXPECT_TRUE(message.ParseXml(source_message.get(), &error)) << error; 172 EXPECT_TRUE(message.ParseXml(source_message.get(), &error)) << error;
171 173
172 EXPECT_EQ(message.action, JingleMessage::SESSION_ACCEPT); 174 EXPECT_EQ(message.action, JingleMessage::SESSION_ACCEPT);
173 175
174 scoped_ptr<XmlElement> formatted_message(message.ToXml()); 176 scoped_ptr<XmlElement> formatted_message(message.ToXml());
175 ASSERT_TRUE(formatted_message.get()); 177 ASSERT_TRUE(formatted_message.get());
176 EXPECT_TRUE(VerifyXml(source_message.get(), formatted_message.get(), &error)) 178 EXPECT_TRUE(VerifyXml(source_message.get(), formatted_message.get(), &error))
177 << error; 179 << error;
178 } 180 }
179 181
180 TEST(JingleMessageTest, TransportInfo) { 182 TEST(JingleMessageTest, SessionAcceptNoIce) {
181 const char* kTestTransportInfoMessage = 183 const char* kTestSessionAcceptMessage =
182 "<cli:iq to='user@gmail.com/chromoting016DBB07' type='set' " 184 "<cli:iq from='user@gmail.com/chromoting016DBB07' "
183 "xmlns:cli='jabber:client'><jingle xmlns='urn:xmpp:jingle:1' " 185 "to='user@gmail.com/chromiumsy5C6A652D' type='set' "
184 "action='transport-info' sid='2227053353'><content name='chromoting' " 186 "xmlns:cli='jabber:client'>"
185 "creator='initiator'><transport " 187 "<jingle action='session-accept' sid='2227053353' "
186 "xmlns='http://www.google.com/transport/p2p'><candidate name='event' " 188 "xmlns='urn:xmpp:jingle:1'>i"
187 "address='172.23.164.186' port='57040' preference='1' " 189 "<content creator='initiator' name='chromoting'>"
188 "username='tPUyEAmQrEw3y7hi' protocol='udp' generation='0' " 190 "<description xmlns='google:remoting'>"
189 "password='2iRdhLfawKZC5ydJ' type='local'/><candidate name='video' " 191 "<control transport='stream' version='2'/>"
190 "address='172.23.164.186' port='42171' preference='1' " 192 "<event transport='stream' version='2'/>"
191 "username='EPK3CXo5sTLJSez0' protocol='udp' generation='0' " 193 "<video codec='vp8' transport='stream' version='2'/>"
192 "password='eM0VUfUkZ+1Pyi0M' type='local'/></transport></content>" 194 "<audio transport='stream' version='2' codec='verbatim'/>"
193 "</jingle></cli:iq>"; 195 "<initial-resolution height='480' width='640'/>"
196 "<authentication><certificate>"
197 "MIICpjCCAY6gW0Cert0TANBgkqhkiG9w0BAQUFA="
198 "</certificate></authentication>"
199 "</description>"
200 "<transport xmlns='http://www.google.com/transport/p2p'/>"
201 "</content>"
202 "</jingle>"
203 "</cli:iq>";
194 204
195 scoped_ptr<XmlElement> source_message( 205 scoped_ptr<XmlElement> source_message(
196 XmlElement::ForStr(kTestTransportInfoMessage)); 206 XmlElement::ForStr(kTestSessionAcceptMessage));
197 ASSERT_TRUE(source_message.get()); 207 ASSERT_TRUE(source_message.get());
198 208
199 EXPECT_TRUE(JingleMessage::IsJingleMessage(source_message.get())); 209 EXPECT_TRUE(JingleMessage::IsJingleMessage(source_message.get()));
210
211 JingleMessage message;
212 std::string error;
213 EXPECT_TRUE(message.ParseXml(source_message.get(), &error)) << error;
214
215 EXPECT_EQ(message.action, JingleMessage::SESSION_ACCEPT);
216
217 scoped_ptr<XmlElement> formatted_message(message.ToXml());
218 ASSERT_TRUE(formatted_message.get());
219 EXPECT_TRUE(VerifyXml(source_message.get(), formatted_message.get(), &error))
220 << error;
221 }
222
223 TEST(JingleMessageTest, IceTransportInfo) {
224 const char* kTestIceTransportInfoMessage =
225 "<cli:iq to='user@gmail.com/chromoting016DBB07' type='set' "
226 "xmlns:cli='jabber:client'>"
227 "<jingle xmlns='urn:xmpp:jingle:1' action='transport-info' "
228 "sid='2227053353'>"
229 "<content name='chromoting' creator='initiator'>"
230 "<transport xmlns='google:remoting:ice'>"
231 "<credentials channel='event' ufrag='tPUyEAmQrEw3y7hi' "
232 "password='2iRdhLfawKZC5ydJ'/>"
233 "<credentials channel='video' ufrag='EPK3CXo5sTLJSez0' "
234 "password='eM0VUfUkZ+1Pyi0M'/>"
235 "<candidate name='event' foundation='725747215' "
236 "address='172.23.164.186' port='59089' type='local' "
237 "protocol='udp' priority='2122194688' generation='0'/>"
238 "<candidate name='video' foundation='3623806809' "
239 "address='172.23.164.186' port='57040' type='local' "
240 "protocol='udp' priority='2122194688' generation='0'/>"
241 "</transport>"
242 "</content>"
243 "</jingle>"
244 "</cli:iq>";
245
246 scoped_ptr<XmlElement> source_message(
247 XmlElement::ForStr(kTestIceTransportInfoMessage));
248 ASSERT_TRUE(source_message.get());
249
250 EXPECT_TRUE(JingleMessage::IsJingleMessage(source_message.get()));
251
252 JingleMessage message;
253 std::string error;
254 EXPECT_TRUE(message.ParseXml(source_message.get(), &error)) << error;
255
256 EXPECT_EQ(message.action, JingleMessage::TRANSPORT_INFO);
257 EXPECT_EQ(message.candidates.size(), 2U);
258
259 scoped_ptr<XmlElement> formatted_message(message.ToXml());
260 ASSERT_TRUE(formatted_message.get());
261 EXPECT_TRUE(VerifyXml(source_message.get(), formatted_message.get(), &error))
262 << error;
263 }
264
265 TEST(JingleMessageTest, GiceTransportInfo) {
266 const char* kTestGiceTransportInfoMessage =
267 "<cli:iq to='user@gmail.com/chromoting016DBB07' type='set' "
268 "xmlns:cli='jabber:client'>"
269 "<jingle xmlns='urn:xmpp:jingle:1' action='transport-info' "
270 "sid='2227053353'>"
271 "<content name='chromoting' creator='initiator'>"
272 "<transport xmlns='http://www.google.com/transport/p2p'>"
273 "<candidate name='event' address='172.23.164.186' port='57040' "
274 "preference='1' username='tPUyEAmQrEw3y7hi' "
275 "protocol='udp' generation='0' "
276 "password='2iRdhLfawKZC5ydJ' type='local'/>"
277 "<candidate name='video' address='172.23.164.186' port='42171' "
278 "preference='1' username='EPK3CXo5sTLJSez0' "
279 "protocol='udp' generation='0' "
280 "password='eM0VUfUkZ+1Pyi0M' type='local'/>"
281 "</transport>"
282 "</content>"
283 "</jingle>"
284 "</cli:iq>";
285
286 scoped_ptr<XmlElement> source_message(
287 XmlElement::ForStr(kTestGiceTransportInfoMessage));
288 ASSERT_TRUE(source_message.get());
289
290 EXPECT_TRUE(JingleMessage::IsJingleMessage(source_message.get()));
200 291
201 JingleMessage message; 292 JingleMessage message;
202 std::string error; 293 std::string error;
203 EXPECT_TRUE(message.ParseXml(source_message.get(), &error)) << error; 294 EXPECT_TRUE(message.ParseXml(source_message.get(), &error)) << error;
204 295
205 EXPECT_EQ(message.action, JingleMessage::TRANSPORT_INFO); 296 EXPECT_EQ(message.action, JingleMessage::TRANSPORT_INFO);
206 EXPECT_EQ(message.candidates.size(), 2U); 297 EXPECT_EQ(message.candidates.size(), 2U);
207 298
208 scoped_ptr<XmlElement> formatted_message(message.ToXml()); 299 scoped_ptr<XmlElement> formatted_message(message.ToXml());
209 ASSERT_TRUE(formatted_message.get()); 300 ASSERT_TRUE(formatted_message.get());
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 EXPECT_FALSE(JingleMessage::IsJingleMessage(source_message.get())); 456 EXPECT_FALSE(JingleMessage::IsJingleMessage(source_message.get()));
366 457
367 JingleMessage message; 458 JingleMessage message;
368 std::string error; 459 std::string error;
369 EXPECT_FALSE(message.ParseXml(source_message.get(), &error)); 460 EXPECT_FALSE(message.ParseXml(source_message.get(), &error));
370 EXPECT_FALSE(error.empty()); 461 EXPECT_FALSE(error.empty());
371 } 462 }
372 463
373 } // namespace protocol 464 } // namespace protocol
374 } // namespace remoting 465 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/protocol/jingle_messages.cc ('k') | remoting/protocol/jingle_session.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698