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

Side by Side Diff: remoting/test/host_list_fetcher_unittest.cc

Issue 2542343004: Updating the Chromoting Test Driver to target the test environment (Closed)
Patch Set: Addressing feedback Created 4 years 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/test/host_list_fetcher.cc ('k') | remoting/test/test_chromoting_client.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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/test/host_list_fetcher.h" 5 #include "remoting/test/host_list_fetcher.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 DISALLOW_COPY_AND_ASSIGN(HostListFetcherTest); 199 DISALLOW_COPY_AND_ASSIGN(HostListFetcherTest);
200 }; 200 };
201 201
202 void HostListFetcherTest::SetUp() { 202 void HostListFetcherTest::SetUp() {
203 DCHECK(!message_loop_); 203 DCHECK(!message_loop_);
204 message_loop_.reset(new base::MessageLoopForIO); 204 message_loop_.reset(new base::MessageLoopForIO);
205 205
206 SetFakeResponse(GURL(kHostListProdRequestUrl), 206 SetFakeResponse(GURL(kHostListProdRequestUrl),
207 kHostListEmptyResponse, net::HTTP_NOT_FOUND, 207 kHostListEmptyResponse, net::HTTP_NOT_FOUND,
208 net::URLRequestStatus::FAILED); 208 net::URLRequestStatus::FAILED);
209
210 SetFakeResponse(GURL(kHostListTestRequestUrl), kHostListEmptyResponse,
211 net::HTTP_NOT_FOUND, net::URLRequestStatus::FAILED);
209 } 212 }
210 213
211 void HostListFetcherTest::SetFakeResponse( 214 void HostListFetcherTest::SetFakeResponse(
212 const GURL& url, 215 const GURL& url,
213 const std::string& data, 216 const std::string& data,
214 net::HttpStatusCode code, 217 net::HttpStatusCode code,
215 net::URLRequestStatus::Status status) { 218 net::URLRequestStatus::Status status) {
216 url_fetcher_factory_.SetFakeResponse(url, data, code, status); 219 url_fetcher_factory_.SetFakeResponse(url, data, code, status);
217 } 220 }
218 221
219 TEST_F(HostListFetcherTest, RetrieveHostListFromProd) { 222 TEST_F(HostListFetcherTest, RetrieveHostListFromProd) {
220 SetFakeResponse(GURL(kHostListProdRequestUrl), 223 SetFakeResponse(GURL(kHostListProdRequestUrl),
221 kHostListReadyResponse, net::HTTP_OK, 224 kHostListReadyResponse, net::HTTP_OK,
222 net::URLRequestStatus::SUCCESS); 225 net::URLRequestStatus::SUCCESS);
223 226
224 std::vector<HostInfo> hostlist; 227 std::vector<HostInfo> hostlist;
225 228
226 base::RunLoop run_loop; 229 base::RunLoop run_loop;
227 HostListFetcher::HostlistCallback host_list_callback = 230 HostListFetcher::HostlistCallback host_list_callback =
228 base::Bind(&OnHostlistRetrieved, run_loop.QuitClosure(), &hostlist); 231 base::Bind(&OnHostlistRetrieved, run_loop.QuitClosure(), &hostlist);
229 232
230 HostListFetcher host_list_fetcher; 233 HostListFetcher host_list_fetcher;
231 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, host_list_callback); 234 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, kHostListProdRequestUrl,
235 host_list_callback);
232 236
233 run_loop.Run(); 237 run_loop.Run();
234 238
239 EXPECT_EQ(hostlist.size(), kExpectedHostListSize);
240
241 HostInfo online_host_info = hostlist.at(0);
242 EXPECT_EQ(online_host_info.token_url_patterns.size(), kExpectedPatternsSize);
243 EXPECT_FALSE(online_host_info.host_id.empty());
244 EXPECT_FALSE(online_host_info.host_jid.empty());
245 EXPECT_FALSE(online_host_info.host_name.empty());
246 EXPECT_EQ(online_host_info.status, HostStatus::kHostStatusOnline);
247 EXPECT_TRUE(online_host_info.offline_reason.empty());
248 EXPECT_FALSE(online_host_info.public_key.empty());
249
250 HostInfo offline_host_info = hostlist.at(1);
251 EXPECT_TRUE(offline_host_info.token_url_patterns.empty());
252 EXPECT_FALSE(offline_host_info.host_id.empty());
253 EXPECT_FALSE(offline_host_info.host_jid.empty());
254 EXPECT_FALSE(offline_host_info.host_name.empty());
255 EXPECT_EQ(offline_host_info.status, HostStatus::kHostStatusOffline);
256 EXPECT_FALSE(offline_host_info.offline_reason.empty());
257 EXPECT_FALSE(offline_host_info.public_key.empty());
258 }
259
260 TEST_F(HostListFetcherTest, RetrieveHostListFromTest) {
261 SetFakeResponse(GURL(kHostListTestRequestUrl), kHostListReadyResponse,
262 net::HTTP_OK, net::URLRequestStatus::SUCCESS);
263
264 std::vector<HostInfo> hostlist;
265
266 base::RunLoop run_loop;
267 HostListFetcher::HostlistCallback host_list_callback =
268 base::Bind(&OnHostlistRetrieved, run_loop.QuitClosure(), &hostlist);
269
270 HostListFetcher host_list_fetcher;
271 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, kHostListTestRequestUrl,
272 host_list_callback);
273
274 run_loop.Run();
275
235 EXPECT_EQ(hostlist.size(), kExpectedHostListSize); 276 EXPECT_EQ(hostlist.size(), kExpectedHostListSize);
236 277
237 HostInfo online_host_info = hostlist.at(0); 278 HostInfo online_host_info = hostlist.at(0);
238 EXPECT_EQ(online_host_info.token_url_patterns.size(), kExpectedPatternsSize); 279 EXPECT_EQ(online_host_info.token_url_patterns.size(), kExpectedPatternsSize);
239 EXPECT_FALSE(online_host_info.host_id.empty()); 280 EXPECT_FALSE(online_host_info.host_id.empty());
240 EXPECT_FALSE(online_host_info.host_jid.empty()); 281 EXPECT_FALSE(online_host_info.host_jid.empty());
241 EXPECT_FALSE(online_host_info.host_name.empty()); 282 EXPECT_FALSE(online_host_info.host_name.empty());
242 EXPECT_EQ(online_host_info.status, HostStatus::kHostStatusOnline); 283 EXPECT_EQ(online_host_info.status, HostStatus::kHostStatusOnline);
243 EXPECT_TRUE(online_host_info.offline_reason.empty()); 284 EXPECT_TRUE(online_host_info.offline_reason.empty());
244 EXPECT_FALSE(online_host_info.public_key.empty()); 285 EXPECT_FALSE(online_host_info.public_key.empty());
(...skipping 13 matching lines...) Expand all
258 kHostListEmptyTokenUrlPatternsResponse, net::HTTP_OK, 299 kHostListEmptyTokenUrlPatternsResponse, net::HTTP_OK,
259 net::URLRequestStatus::SUCCESS); 300 net::URLRequestStatus::SUCCESS);
260 301
261 std::vector<HostInfo> hostlist; 302 std::vector<HostInfo> hostlist;
262 303
263 base::RunLoop run_loop; 304 base::RunLoop run_loop;
264 HostListFetcher::HostlistCallback host_list_callback = 305 HostListFetcher::HostlistCallback host_list_callback =
265 base::Bind(&OnHostlistRetrieved, run_loop.QuitClosure(), &hostlist); 306 base::Bind(&OnHostlistRetrieved, run_loop.QuitClosure(), &hostlist);
266 307
267 HostListFetcher host_list_fetcher; 308 HostListFetcher host_list_fetcher;
268 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, host_list_callback); 309 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, kHostListProdRequestUrl,
310 host_list_callback);
269 311
270 run_loop.Run(); 312 run_loop.Run();
271 313
272 EXPECT_EQ(hostlist.size(), kExpectedEmptyPatternsHostListSize); 314 EXPECT_EQ(hostlist.size(), kExpectedEmptyPatternsHostListSize);
273 315
274 // While this is unlikely to happen, empty token url patterns are handled. 316 // While this is unlikely to happen, empty token url patterns are handled.
275 HostInfo online_host_info = hostlist.at(0); 317 HostInfo online_host_info = hostlist.at(0);
276 EXPECT_TRUE(online_host_info.token_url_patterns.empty()); 318 EXPECT_TRUE(online_host_info.token_url_patterns.empty());
277 EXPECT_FALSE(online_host_info.host_id.empty()); 319 EXPECT_FALSE(online_host_info.host_id.empty());
278 EXPECT_FALSE(online_host_info.host_jid.empty()); 320 EXPECT_FALSE(online_host_info.host_jid.empty());
279 EXPECT_FALSE(online_host_info.host_name.empty()); 321 EXPECT_FALSE(online_host_info.host_name.empty());
280 EXPECT_EQ(online_host_info.status, HostStatus::kHostStatusOnline); 322 EXPECT_EQ(online_host_info.status, HostStatus::kHostStatusOnline);
281 EXPECT_TRUE(online_host_info.offline_reason.empty()); 323 EXPECT_TRUE(online_host_info.offline_reason.empty());
282 EXPECT_FALSE(online_host_info.public_key.empty()); 324 EXPECT_FALSE(online_host_info.public_key.empty());
283 } 325 }
284 326
285 TEST_F(HostListFetcherTest, 327 TEST_F(HostListFetcherTest,
286 RetrieveHostListMissingParametersResponse) { 328 RetrieveHostListMissingParametersResponse) {
287 SetFakeResponse(GURL(kHostListProdRequestUrl), 329 SetFakeResponse(GURL(kHostListProdRequestUrl),
288 kHostListMissingParametersResponse, net::HTTP_OK, 330 kHostListMissingParametersResponse, net::HTTP_OK,
289 net::URLRequestStatus::SUCCESS); 331 net::URLRequestStatus::SUCCESS);
290 332
291 std::vector<HostInfo> hostlist; 333 std::vector<HostInfo> hostlist;
292 334
293 base::RunLoop run_loop; 335 base::RunLoop run_loop;
294 HostListFetcher::HostlistCallback host_list_callback = 336 HostListFetcher::HostlistCallback host_list_callback =
295 base::Bind(&OnHostlistRetrieved, run_loop.QuitClosure(), &hostlist); 337 base::Bind(&OnHostlistRetrieved, run_loop.QuitClosure(), &hostlist);
296 338
297 HostListFetcher host_list_fetcher; 339 HostListFetcher host_list_fetcher;
298 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, host_list_callback); 340 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, kHostListProdRequestUrl,
341 host_list_callback);
299 run_loop.Run(); 342 run_loop.Run();
300 343
301 EXPECT_EQ(hostlist.size(), kExpectedHostListSize); 344 EXPECT_EQ(hostlist.size(), kExpectedHostListSize);
302 345
303 HostInfo no_jid_host_info = hostlist.at(0); 346 HostInfo no_jid_host_info = hostlist.at(0);
304 EXPECT_EQ(no_jid_host_info.token_url_patterns.size(), kExpectedPatternsSize); 347 EXPECT_EQ(no_jid_host_info.token_url_patterns.size(), kExpectedPatternsSize);
305 EXPECT_FALSE(no_jid_host_info.host_id.empty()); 348 EXPECT_FALSE(no_jid_host_info.host_id.empty());
306 EXPECT_TRUE(no_jid_host_info.host_jid.empty()); 349 EXPECT_TRUE(no_jid_host_info.host_jid.empty());
307 EXPECT_FALSE(no_jid_host_info.host_name.empty()); 350 EXPECT_FALSE(no_jid_host_info.host_name.empty());
308 EXPECT_EQ(no_jid_host_info.status, HostStatus::kHostStatusOffline); 351 EXPECT_EQ(no_jid_host_info.status, HostStatus::kHostStatusOffline);
(...skipping 13 matching lines...) Expand all
322 365
323 TEST_F(HostListFetcherTest, RetrieveHostListNetworkError) { 366 TEST_F(HostListFetcherTest, RetrieveHostListNetworkError) {
324 base::RunLoop run_loop; 367 base::RunLoop run_loop;
325 368
326 std::vector<HostInfo> hostlist; 369 std::vector<HostInfo> hostlist;
327 370
328 HostListFetcher::HostlistCallback host_list_callback = 371 HostListFetcher::HostlistCallback host_list_callback =
329 base::Bind(&OnHostlistRetrieved, run_loop.QuitClosure(), &hostlist); 372 base::Bind(&OnHostlistRetrieved, run_loop.QuitClosure(), &hostlist);
330 373
331 HostListFetcher host_list_fetcher; 374 HostListFetcher host_list_fetcher;
332 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, host_list_callback); 375 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, kHostListProdRequestUrl,
376 host_list_callback);
333 run_loop.Run(); 377 run_loop.Run();
334 378
335 // If there was a network error retrieving the host list, then the host list 379 // If there was a network error retrieving the host list, then the host list
336 // should be empty. 380 // should be empty.
337 EXPECT_TRUE(hostlist.empty()); 381 EXPECT_TRUE(hostlist.empty());
338 } 382 }
339 383
340 TEST_F(HostListFetcherTest, RetrieveHostListEmptyItemsResponse) { 384 TEST_F(HostListFetcherTest, RetrieveHostListEmptyItemsResponse) {
341 SetFakeResponse(GURL(kHostListProdRequestUrl), 385 SetFakeResponse(GURL(kHostListProdRequestUrl),
342 kHostListEmptyItemsResponse, net::HTTP_OK, 386 kHostListEmptyItemsResponse, net::HTTP_OK,
343 net::URLRequestStatus::SUCCESS); 387 net::URLRequestStatus::SUCCESS);
344 388
345 base::RunLoop run_loop; 389 base::RunLoop run_loop;
346 390
347 std::vector<HostInfo> hostlist; 391 std::vector<HostInfo> hostlist;
348 392
349 HostListFetcher::HostlistCallback host_list_callback = 393 HostListFetcher::HostlistCallback host_list_callback =
350 base::Bind(&OnHostlistRetrieved, run_loop.QuitClosure(), &hostlist); 394 base::Bind(&OnHostlistRetrieved, run_loop.QuitClosure(), &hostlist);
351 395
352 HostListFetcher host_list_fetcher; 396 HostListFetcher host_list_fetcher;
353 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, host_list_callback); 397 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, kHostListProdRequestUrl,
398 host_list_callback);
354 run_loop.Run(); 399 run_loop.Run();
355 400
356 // If we received an empty items response, then host list should be empty. 401 // If we received an empty items response, then host list should be empty.
357 EXPECT_TRUE(hostlist.empty()); 402 EXPECT_TRUE(hostlist.empty());
358 } 403 }
359 404
360 TEST_F(HostListFetcherTest, RetrieveHostListEmptyResponse) { 405 TEST_F(HostListFetcherTest, RetrieveHostListEmptyResponse) {
361 SetFakeResponse(GURL(kHostListProdRequestUrl), 406 SetFakeResponse(GURL(kHostListProdRequestUrl),
362 kHostListEmptyResponse, net::HTTP_OK, 407 kHostListEmptyResponse, net::HTTP_OK,
363 net::URLRequestStatus::SUCCESS); 408 net::URLRequestStatus::SUCCESS);
364 409
365 base::RunLoop run_loop; 410 base::RunLoop run_loop;
366 411
367 std::vector<HostInfo> hostlist; 412 std::vector<HostInfo> hostlist;
368 413
369 HostListFetcher::HostlistCallback host_list_callback = 414 HostListFetcher::HostlistCallback host_list_callback =
370 base::Bind(&OnHostlistRetrieved, run_loop.QuitClosure(), &hostlist); 415 base::Bind(&OnHostlistRetrieved, run_loop.QuitClosure(), &hostlist);
371 416
372 HostListFetcher host_list_fetcher; 417 HostListFetcher host_list_fetcher;
373 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, host_list_callback); 418 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, kHostListProdRequestUrl,
419 host_list_callback);
374 run_loop.Run(); 420 run_loop.Run();
375 421
376 // If we received an empty response, then host list should be empty. 422 // If we received an empty response, then host list should be empty.
377 EXPECT_TRUE(hostlist.empty()); 423 EXPECT_TRUE(hostlist.empty());
378 } 424 }
379 425
380 TEST_F(HostListFetcherTest, MultipleRetrieveHostListRequests) { 426 TEST_F(HostListFetcherTest, MultipleRetrieveHostListRequests) {
381 // First, we will retrieve a valid response from the directory service. 427 // First, we will retrieve a valid response from the directory service.
382 SetFakeResponse(GURL(kHostListProdRequestUrl), 428 SetFakeResponse(GURL(kHostListProdRequestUrl),
383 kHostListReadyResponse, net::HTTP_OK, 429 kHostListReadyResponse, net::HTTP_OK,
384 net::URLRequestStatus::SUCCESS); 430 net::URLRequestStatus::SUCCESS);
385 431
386 std::vector<HostInfo> ready_hostlist; 432 std::vector<HostInfo> ready_hostlist;
387 433
388 base::RunLoop ready_run_loop; 434 base::RunLoop ready_run_loop;
389 HostListFetcher::HostlistCallback ready_host_list_callback = 435 HostListFetcher::HostlistCallback ready_host_list_callback =
390 base::Bind(&OnHostlistRetrieved, 436 base::Bind(&OnHostlistRetrieved,
391 ready_run_loop.QuitClosure(), 437 ready_run_loop.QuitClosure(),
392 &ready_hostlist); 438 &ready_hostlist);
393 439
394 HostListFetcher host_list_fetcher; 440 HostListFetcher host_list_fetcher;
395 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, 441 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, kHostListProdRequestUrl,
396 ready_host_list_callback); 442 ready_host_list_callback);
397 443
398 ready_run_loop.Run(); 444 ready_run_loop.Run();
399 445
400 EXPECT_EQ(ready_hostlist.size(), kExpectedHostListSize); 446 EXPECT_EQ(ready_hostlist.size(), kExpectedHostListSize);
401 447
402 HostInfo online_host_info = ready_hostlist.at(0); 448 HostInfo online_host_info = ready_hostlist.at(0);
403 EXPECT_EQ(online_host_info.token_url_patterns.size(), kExpectedPatternsSize); 449 EXPECT_EQ(online_host_info.token_url_patterns.size(), kExpectedPatternsSize);
404 EXPECT_FALSE(online_host_info.host_id.empty()); 450 EXPECT_FALSE(online_host_info.host_id.empty());
405 EXPECT_FALSE(online_host_info.host_jid.empty()); 451 EXPECT_FALSE(online_host_info.host_jid.empty());
(...skipping 19 matching lines...) Expand all
425 std::vector<HostInfo> empty_items_hostlist; 471 std::vector<HostInfo> empty_items_hostlist;
426 472
427 base::RunLoop empty_items_run_loop; 473 base::RunLoop empty_items_run_loop;
428 474
429 HostListFetcher::HostlistCallback empty_host_list_callback = 475 HostListFetcher::HostlistCallback empty_host_list_callback =
430 base::Bind(&OnHostlistRetrieved, 476 base::Bind(&OnHostlistRetrieved,
431 empty_items_run_loop.QuitClosure(), 477 empty_items_run_loop.QuitClosure(),
432 &empty_items_hostlist); 478 &empty_items_hostlist);
433 479
434 // Re-use the same host_list_fetcher. 480 // Re-use the same host_list_fetcher.
435 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, 481 host_list_fetcher.RetrieveHostlist(kAccessTokenValue, kHostListProdRequestUrl,
436 empty_host_list_callback); 482 empty_host_list_callback);
437 483
438 empty_items_run_loop.Run(); 484 empty_items_run_loop.Run();
439 485
440 // If we received an empty items response, then host list should be empty. 486 // If we received an empty items response, then host list should be empty.
441 EXPECT_TRUE(empty_items_hostlist.empty()); 487 EXPECT_TRUE(empty_items_hostlist.empty());
442 } 488 }
443 489
444 } // namespace test 490 } // namespace test
445 } // namespace remoting 491 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/test/host_list_fetcher.cc ('k') | remoting/test/test_chromoting_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698