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

Unified Diff: remoting/test/test_chromoting_client.cc

Issue 1237093004: Support for connecting to localhost on the chromoting test driver. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Refactored App Remoting and Chromoting code to share StartConnection method. Created 5 years, 5 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
Index: remoting/test/test_chromoting_client.cc
diff --git a/remoting/test/test_chromoting_client.cc b/remoting/test/test_chromoting_client.cc
index dbf4ecacc857efeba1d5cfd61d137b6bf691a82e..6d42c1b7274104d3879de19f245fa77b96789832 100644
--- a/remoting/test/test_chromoting_client.cc
+++ b/remoting/test/test_chromoting_client.cc
@@ -8,6 +8,7 @@
#include <vector>
#include "base/logging.h"
+#include "base/strings/string_split.h"
#include "base/thread_task_runner_handle.h"
#include "jingle/glue/thread_wrapper.h"
#include "net/base/request_priority.h"
@@ -30,10 +31,6 @@
#include "remoting/test/test_video_renderer.h"
namespace {
-
-const char kAppRemotingCapabilities[] =
- "rateLimitResizeRequests desktopShape sendInitialResolution googleDrive";
-
const char kXmppHostName[] = "talk.google.com";
const int kXmppPortNumber = 5222;
@@ -58,6 +55,14 @@ void FetchThirdPartyToken(
}
}
+void FetchSecret(
+ const std::string& client_secret,
+ bool pairing_supported,
joedow 2015/07/16 03:23:19 is pairing_supported needed? You bind true to it
tonychun 2015/07/16 23:12:08 Removed the unused parameter.
+ bool pairing_expected,
+ const remoting::protocol::SecretFetchedCallback& secret_fetched_callback) {
+ secret_fetched_callback.Run(client_secret);
+}
+
const char* ConnectionStateToFriendlyString(
remoting::protocol::ConnectionToHost::State state) {
switch (state) {
@@ -147,13 +152,7 @@ TestChromotingClient::~TestChromotingClient() {
}
void TestChromotingClient::StartConnection(
- const std::string& user_name,
- const std::string& access_token,
- const RemoteHostInfo& remote_host_info) {
- DCHECK(!user_name.empty());
- DCHECK(!access_token.empty());
- DCHECK(remote_host_info.IsReadyForConnection());
-
+ const ConnectionInfo& connection_info) {
// Required to establish a connection to the host.
jingle_glue::JingleThreadWrapper::EnsureForCurrentMessageLoop();
@@ -183,8 +182,8 @@ void TestChromotingClient::StartConnection(
xmpp_server_config.host = kXmppHostName;
xmpp_server_config.port = kXmppPortNumber;
xmpp_server_config.use_tls = true;
- xmpp_server_config.username = user_name;
- xmpp_server_config.auth_token = access_token;
+ xmpp_server_config.username = connection_info.user_name;
+ xmpp_server_config.auth_token = connection_info.access_token;
// Set up the signal strategy. This must outlive the client object.
signal_strategy_.reset(
@@ -205,26 +204,37 @@ void TestChromotingClient::StartConnection(
scoped_ptr<protocol::ThirdPartyClientAuthenticator::TokenFetcher>
token_fetcher(new TokenFetcherProxy(
- base::Bind(&FetchThirdPartyToken, remote_host_info.authorization_code,
- remote_host_info.shared_secret),
- "FAKE_HOST_PUBLIC_KEY"));
-
+ base::Bind(&FetchThirdPartyToken,
+ connection_info.authorization_code,
joedow 2015/07/16 03:23:19 indentation seems off here, either 4 spaces or lin
tonychun 2015/07/16 23:12:08 Done.
+ connection_info.shared_secret),
+ connection_info.public_key));
+
+ // Parse |auth_methods_str| for authentication methods.
joedow 2015/07/16 03:23:19 Why build this here? This feels like something th
tonychun 2015/07/16 23:12:08 Done.
+ std::vector<std::string> parts;
+ base::SplitString(connection_info.auth_methods_str, ',', &parts);
std::vector<protocol::AuthenticationMethod> auth_methods;
- auth_methods.push_back(protocol::AuthenticationMethod::ThirdParty());
+ for (std::string part : parts) {
+ protocol::AuthenticationMethod auth_method =
+ protocol::AuthenticationMethod::FromString(part);
+ if (auth_method.is_valid()) {
+ auth_methods.push_back(auth_method);
+ }
+ }
- // FetchSecretCallback is used for PIN based auth which we aren't using so we
- // can pass a null callback here.
protocol::FetchSecretCallback fetch_secret_callback;
+ if (!connection_info.pin.empty()) {
+ fetch_secret_callback = base::Bind(&FetchSecret, connection_info.pin, true);
+ }
scoped_ptr<protocol::Authenticator> authenticator(
new protocol::NegotiatingClientAuthenticator(
- std::string(), // client_pairing_id
- std::string(), // shared_secret
- std::string(), // authentication_tag
+ std::string(), // client_pairing_id
+ std::string(), // shared_secret
joedow 2015/07/16 03:23:19 you can pass the connection_info members for pairi
tonychun 2015/07/16 23:12:08 I've added a new member in ConnectionSetupInfo (ne
+ connection_info.host_id, // authentication_tag
fetch_secret_callback, token_fetcher.Pass(), auth_methods));
chromoting_client_->Start(signal_strategy_.get(), authenticator.Pass(),
- transport_factory.Pass(), remote_host_info.host_jid,
- kAppRemotingCapabilities);
+ transport_factory.Pass(), connection_info.host_jid,
+ connection_info.capabilities);
}
void TestChromotingClient::EndConnection() {

Powered by Google App Engine
This is Rietveld 408576698