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

Unified Diff: chrome/test/remoting/remote_desktop_browsertest.cc

Issue 617103008: Update chromoting browser-tests to obtain user-name and password from a specified file. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Continue to get user-name and password from command line if no file has been specified. Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/remoting/remote_desktop_browsertest.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/remoting/remote_desktop_browsertest.cc
diff --git a/chrome/test/remoting/remote_desktop_browsertest.cc b/chrome/test/remoting/remote_desktop_browsertest.cc
index d9a826510c65ae179654d548cf479c5a20a54af1..adaaa992507aee7f531e8d7337201a4e1abf03a3 100644
--- a/chrome/test/remoting/remote_desktop_browsertest.cc
+++ b/chrome/test/remoting/remote_desktop_browsertest.cc
@@ -34,6 +34,7 @@ RemoteDesktopBrowserTest::~RemoteDesktopBrowserTest() {}
void RemoteDesktopBrowserTest::SetUp() {
ParseCommandLine();
+
PlatformAppBrowserTest::SetUp();
}
@@ -572,8 +573,24 @@ void RemoteDesktopBrowserTest::ParseCommandLine() {
override_user_data_dir);
}
- username_ = command_line->GetSwitchValueASCII(kUsername);
- password_ = command_line->GetSwitchValueASCII(kkPassword);
+ accounts_file_ = command_line->GetSwitchValueASCII(kAccountsFile);
+ account_type_ = command_line->GetSwitchValueASCII(kAccountType);
+ if (!accounts_file_.empty()) {
+ // We've been passed in a file containing accounts information.
+ // In this case, we'll obtain the user-name and password information from
+ // the specified file, even if user-name and password have been specified
+ // on the command-line.
+ base::FilePath accounts_file_path(accounts_file_);
+ ASSERT_FALSE(account_type_.empty());
+ ASSERT_TRUE(base::PathExists(accounts_file_path));
+ SetUserNameAndPassword(accounts_file_path);
+ } else {
+ // No file for accounts specified. Read user-name and password from command
+ // line.
+ username_ = command_line->GetSwitchValueASCII(kUserName);
+ password_ = command_line->GetSwitchValueASCII(kPassword);
+ }
+
me2me_pin_ = command_line->GetSwitchValueASCII(kMe2MePin);
remote_host_name_ = command_line->GetSwitchValueASCII(kRemoteHostName);
extension_name_ = command_line->GetSwitchValueASCII(kExtensionName);
@@ -798,6 +815,30 @@ void RemoteDesktopBrowserTest::DismissHostVersionWarningIfVisible() {
ClickOnControl("host-needs-update-connect-button");
}
+void RemoteDesktopBrowserTest::SetUserNameAndPassword(
weitao 2014/10/08 23:19:16 I suggest that we don't store the accounts file pa
anandc 2014/10/09 00:15:25 Done.
+ const base::FilePath &accounts_file_path) {
+
+ // Read contents of accounts file.
+ std::string accounts_info;
+ ASSERT_TRUE(base::ReadFileToString(accounts_file_path, &accounts_info));
+
+ scoped_ptr<base::Value> root(
+ base::JSONReader::Read(accounts_info, base::JSON_ALLOW_TRAILING_COMMAS));
+ DCHECK(root.get() != NULL);
+ ASSERT_TRUE(root.get() && root->GetType() == base::Value::TYPE_DICTIONARY);
+
+ // Get the root dictionary from the input json file contents.
+ const base::DictionaryValue* root_dict =
+ static_cast<base::DictionaryValue*>(root.get());
weitao 2014/10/08 23:19:16 Please use GetAsDictionary. And instead of asserti
anandc 2014/10/09 00:15:25 Done.
+ // And now the dictionary for the specified account type.
+ const base::DictionaryValue* account_dict = NULL;
+ root_dict->GetDictionary(account_type_, &account_dict);
weitao 2014/10/08 23:19:16 assert the result of GetDictionary.
anandc 2014/10/09 00:15:24 Done.
+
+ ASSERT_TRUE(account_dict->GetString(kUserName, &username_));
+
+ ASSERT_TRUE(account_dict->GetString(kPassword, &password_));
+}
+
// static
bool RemoteDesktopBrowserTest::IsAuthenticatedInWindow(
content::WebContents* web_contents) {
« no previous file with comments | « chrome/test/remoting/remote_desktop_browsertest.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698