Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/test/remoting/remote_desktop_browsertest.h" | 5 #include "chrome/test/remoting/remote_desktop_browsertest.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
| 10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| (...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 336 // The Me2Me host list should be hidden. | 336 // The Me2Me host list should be hidden. |
| 337 ASSERT_FALSE(HtmlElementVisible("me2me-content")); | 337 ASSERT_FALSE(HtmlElementVisible("me2me-content")); |
| 338 // The Me2Me "Get Start" button should be visible. | 338 // The Me2Me "Get Start" button should be visible. |
| 339 ASSERT_TRUE(HtmlElementVisible("get-started-me2me")); | 339 ASSERT_TRUE(HtmlElementVisible("get-started-me2me")); |
| 340 | 340 |
| 341 // Starting Me2Me. | 341 // Starting Me2Me. |
| 342 ExecuteScript("remoting.showMe2MeUiAndSave();"); | 342 ExecuteScript("remoting.showMe2MeUiAndSave();"); |
| 343 | 343 |
| 344 EXPECT_TRUE(HtmlElementVisible("me2me-content")); | 344 EXPECT_TRUE(HtmlElementVisible("me2me-content")); |
| 345 EXPECT_FALSE(HtmlElementVisible("me2me-first-run")); | 345 EXPECT_FALSE(HtmlElementVisible("me2me-first-run")); |
| 346 | |
| 347 // Wait until localHost is initialized. This can take a while. | |
| 348 ConditionalTimeoutWaiter waiter( | |
|
kelvinp
2014/07/19 01:18:58
After the CL, we no longer assumes that the host i
Jamie
2014/07/22 18:47:11
Acknowledged.
| |
| 349 base::TimeDelta::FromSeconds(3), | |
| 350 base::TimeDelta::FromSeconds(1), | |
| 351 base::Bind(&RemoteDesktopBrowserTest::IsLocalHostReady, this)); | |
| 352 EXPECT_TRUE(waiter.Wait()); | |
| 353 | |
| 354 EXPECT_TRUE(ExecuteScriptAndExtractBool( | |
| 355 "remoting.hostList.localHost_.hostName && " | |
| 356 "remoting.hostList.localHost_.hostId && " | |
| 357 "remoting.hostList.localHost_.status && " | |
| 358 "remoting.hostList.localHost_.status == 'ONLINE'")); | |
| 359 } | 346 } |
| 360 | 347 |
| 361 void RemoteDesktopBrowserTest::DisconnectMe2Me() { | 348 void RemoteDesktopBrowserTest::DisconnectMe2Me() { |
| 362 // The chromoting extension should be installed. | 349 // The chromoting extension should be installed. |
| 363 ASSERT_TRUE(extension_); | 350 ASSERT_TRUE(extension_); |
| 364 | 351 |
| 365 // The active tab should have the chromoting app loaded. | |
| 366 ASSERT_EQ(Chromoting_Main_URL(), GetCurrentURL()); | |
|
kelvinp
2014/07/19 01:18:58
This assert fails as after a PIN setup. The URL i
Jamie
2014/07/22 18:47:11
Acknowledged.
| |
| 367 ASSERT_TRUE(RemoteDesktopBrowserTest::IsSessionConnected()); | 352 ASSERT_TRUE(RemoteDesktopBrowserTest::IsSessionConnected()); |
| 368 | 353 |
| 369 ClickOnControl("toolbar-stub"); | 354 ClickOnControl("toolbar-stub"); |
| 370 | 355 |
| 371 EXPECT_TRUE(HtmlElementVisible("session-toolbar")); | 356 EXPECT_TRUE(HtmlElementVisible("session-toolbar")); |
| 372 | 357 |
| 373 ClickOnControl("toolbar-disconnect"); | 358 ClickOnControl("toolbar-disconnect"); |
| 374 | 359 |
| 375 EXPECT_TRUE(HtmlElementVisible("client-dialog")); | 360 EXPECT_TRUE(HtmlElementVisible("client-dialog")); |
| 376 EXPECT_TRUE(HtmlElementVisible("client-reconnect-button")); | 361 EXPECT_TRUE(HtmlElementVisible("client-reconnect-button")); |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 478 // tab not in our strip" error for the v1 app. | 463 // tab not in our strip" error for the v1 app. |
| 479 ASSERT_TRUE(TimeoutWaiter(base::TimeDelta::FromSeconds(2)).Wait()); | 464 ASSERT_TRUE(TimeoutWaiter(base::TimeDelta::FromSeconds(2)).Wait()); |
| 480 } | 465 } |
| 481 | 466 |
| 482 void RemoteDesktopBrowserTest::SetUpTestForMe2Me() { | 467 void RemoteDesktopBrowserTest::SetUpTestForMe2Me() { |
| 483 VerifyInternetAccess(); | 468 VerifyInternetAccess(); |
| 484 Install(); | 469 Install(); |
| 485 LaunchChromotingApp(); | 470 LaunchChromotingApp(); |
| 486 Auth(); | 471 Auth(); |
| 487 ExpandMe2Me(); | 472 ExpandMe2Me(); |
| 488 LoadScript(app_web_content(), FILE_PATH_LITERAL("browser_test.js")); | 473 LoadScript(app_web_content(), FILE_PATH_LITERAL("browser_test.js")); |
|
weitao
2014/07/21 18:53:45
Ideally, loading the test script is a setup step a
kelvinp
2014/07/23 22:22:26
Done.
| |
| 474 EnsureRemoteConnectionEnabled(); | |
| 489 } | 475 } |
| 490 | 476 |
| 491 void RemoteDesktopBrowserTest::Auth() { | 477 void RemoteDesktopBrowserTest::Auth() { |
| 492 Authorize(); | 478 Authorize(); |
| 493 Authenticate(); | 479 Authenticate(); |
| 494 Approve(); | 480 Approve(); |
| 495 } | 481 } |
| 496 | 482 |
| 483 void RemoteDesktopBrowserTest::EnsureRemoteConnectionEnabled() { | |
| 484 // browser_test.ensureRemoteConnectionEnabled is defined in | |
| 485 // browser_test.js, which must be loaded before calling this function. | |
| 486 bool result; | |
| 487 EXPECT_TRUE(content::ExecuteScriptAndExtractBool( | |
| 488 app_web_content(), | |
| 489 "browserTest.ensureRemoteConnectionEnabled(" + me2me_pin() + ")", | |
| 490 &result)); | |
| 491 EXPECT_TRUE(result) << "Cannot start the host with Pin:" << me2me_pin(); | |
|
Jamie
2014/07/22 18:47:11
Unless the PIN is likely to be a reason for failur
kelvinp
2014/07/23 22:22:26
The EXPECT_TRUE will ONLY log when the setup fails
| |
| 492 } | |
| 493 | |
| 497 void RemoteDesktopBrowserTest::ConnectToLocalHost(bool remember_pin) { | 494 void RemoteDesktopBrowserTest::ConnectToLocalHost(bool remember_pin) { |
| 498 // Verify that the local host is online. | 495 // Verify that the local host is online. |
| 499 ASSERT_TRUE(ExecuteScriptAndExtractBool( | 496 ASSERT_TRUE(ExecuteScriptAndExtractBool( |
| 500 "remoting.hostList.localHost_.hostName && " | 497 "remoting.hostList.localHost_.hostName && " |
| 501 "remoting.hostList.localHost_.hostId && " | 498 "remoting.hostList.localHost_.hostId && " |
| 502 "remoting.hostList.localHost_.status && " | 499 "remoting.hostList.localHost_.status && " |
| 503 "remoting.hostList.localHost_.status == 'ONLINE'")); | 500 "remoting.hostList.localHost_.status == 'ONLINE'")); |
| 504 | 501 |
| 505 // Connect. | 502 // Connect. |
| 506 ClickOnControl("this-host-connect"); | 503 ClickOnControl("this-host-connect"); |
| (...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 795 // static | 792 // static |
| 796 bool RemoteDesktopBrowserTest::IsHostActionComplete( | 793 bool RemoteDesktopBrowserTest::IsHostActionComplete( |
| 797 content::WebContents* client_web_content, | 794 content::WebContents* client_web_content, |
| 798 std::string host_action_var) { | 795 std::string host_action_var) { |
| 799 return ExecuteScriptAndExtractBool( | 796 return ExecuteScriptAndExtractBool( |
| 800 client_web_content, | 797 client_web_content, |
| 801 host_action_var); | 798 host_action_var); |
| 802 } | 799 } |
| 803 | 800 |
| 804 } // namespace remoting | 801 } // namespace remoting |
| OLD | NEW |