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

Unified Diff: remoting/test/app_remoting_test_driver_environment.cc

Issue 1008043003: Adding Test Fixture for initial test cases for the App Remoting Test Driver. Also includes the pub… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressing 2nd round of feedback Created 5 years, 9 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/app_remoting_test_driver_environment.cc
diff --git a/remoting/test/app_remoting_test_driver_environment.cc b/remoting/test/app_remoting_test_driver_environment.cc
index 874e46aea294e68e44fb6eae1638f0e7bc87c477..490a50f5bfee76ab26c653fdff21003a447266de 100644
--- a/remoting/test/app_remoting_test_driver_environment.cc
+++ b/remoting/test/app_remoting_test_driver_environment.cc
@@ -4,11 +4,16 @@
#include "remoting/test/app_remoting_test_driver_environment.h"
+#include <map>
+#include <string>
+#include <vector>
+
#include "base/bind.h"
#include "base/callback_forward.h"
#include "base/logging.h"
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
+#include "base/strings/stringprintf.h"
#include "remoting/test/access_token_fetcher.h"
#include "remoting/test/refresh_token_store.h"
#include "remoting/test/remote_host_info.h"
@@ -28,6 +33,9 @@ AppRemotingTestDriverEnvironment::AppRemotingTestDriverEnvironment(
test_remote_host_info_fetcher_(nullptr) {
DCHECK(!user_name_.empty());
DCHECK(service_environment < kUnknownEnvironment);
+
+ PopulateApplicationNames();
+ PopulateApplicationDetailsMap();
}
AppRemotingTestDriverEnvironment::~AppRemotingTestDriverEnvironment() {
@@ -99,11 +107,9 @@ bool AppRemotingTestDriverEnvironment::GetRemoteHostInfoForApplicationId(
base::RunLoop run_loop;
- RemoteHostInfoCallback remote_host_info_fetch_callback =
- base::Bind(&AppRemotingTestDriverEnvironment::OnRemoteHostInfoRetrieved,
- base::Unretained(this),
- run_loop.QuitClosure(),
- remote_host_info);
+ RemoteHostInfoCallback remote_host_info_fetch_callback = base::Bind(
+ &AppRemotingTestDriverEnvironment::OnRemoteHostInfoRetrieved,
+ base::Unretained(this), run_loop.QuitClosure(), remote_host_info);
// If a unit test has set |test_remote_host_info_fetcher_| then we should use
// it below. Note that we do not want to destroy the test object at the end
@@ -117,9 +123,7 @@ bool AppRemotingTestDriverEnvironment::GetRemoteHostInfoForApplicationId(
}
remote_host_info_fetcher->RetrieveRemoteHostInfo(
- application_id,
- access_token_,
- service_environment_,
+ application_id, access_token_, service_environment_,
remote_host_info_fetch_callback);
run_loop.Run();
@@ -127,6 +131,50 @@ bool AppRemotingTestDriverEnvironment::GetRemoteHostInfoForApplicationId(
return remote_host_info->IsReadyForConnection();
}
+void AppRemotingTestDriverEnvironment::ShowHostAvailability() {
+ const char kHostAvailabilityFormatString[] = "%-25s%-35s%-10s";
+ std::vector<std::string>::const_iterator it = application_names_.begin();
+
+ LOG(INFO) << base::StringPrintf(kHostAvailabilityFormatString,
+ "Application Name", "Application ID",
+ "Status");
+
+ while (it != application_names_.end()) {
+ std::string application_name = *it;
+
+ const RemoteApplicationDetails& application_details = GetDetailsFromAppName(
+ application_name);
+
+ RemoteHostInfo remote_host_info;
+ GetRemoteHostInfoForApplicationId(application_details.application_id,
+ &remote_host_info);
+
+ std::string status;
+ RemoteHostStatus remote_host_status = remote_host_info.remote_host_status;
+ if (remote_host_status == kRemoteHostStatusReady) {
+ status = "Ready :)";
+ } else if (remote_host_status == kRemoteHostStatusPending) {
+ status = "Pending :|";
+ } else {
+ status = "Unknown :(";
+ }
+
+ LOG(INFO) << base::StringPrintf(
+ kHostAvailabilityFormatString, application_name.c_str(),
+ application_details.application_id.c_str(), status.c_str());
+
+ ++it;
+ }
+}
+
+const RemoteApplicationDetails&
+AppRemotingTestDriverEnvironment::GetDetailsFromAppName(
+ const std::string& application_name) {
+ DCHECK_GT(application_details_map_.count(application_name), 0UL);
+
+ return application_details_map_.at(application_name);
+}
+
void AppRemotingTestDriverEnvironment::SetAccessTokenFetcherForTest(
AccessTokenFetcher* access_token_fetcher) {
DCHECK(access_token_fetcher);
@@ -164,8 +212,7 @@ bool AppRemotingTestDriverEnvironment::RetrieveAccessToken(
AccessTokenCallback access_token_callback =
base::Bind(&AppRemotingTestDriverEnvironment::OnAccessTokenRetrieved,
- base::Unretained(this),
- run_loop.QuitClosure());
+ base::Unretained(this), run_loop.QuitClosure());
// If a unit test has set |test_access_token_fetcher_| then we should use it
// below. Note that we do not want to destroy the test object at the end of
@@ -180,15 +227,13 @@ bool AppRemotingTestDriverEnvironment::RetrieveAccessToken(
if (!auth_code.empty()) {
// If the user passed in an authcode, then use it to retrieve an
// updated access/refresh token.
- access_token_fetcher->GetAccessTokenFromAuthCode(
- auth_code,
- access_token_callback);
+ access_token_fetcher->GetAccessTokenFromAuthCode(auth_code,
+ access_token_callback);
} else {
DCHECK(!refresh_token_.empty());
- access_token_fetcher->GetAccessTokenFromRefreshToken(
- refresh_token_,
- access_token_callback);
+ access_token_fetcher->GetAccessTokenFromRefreshToken(refresh_token_,
+ access_token_callback);
}
run_loop.Run();
@@ -243,9 +288,7 @@ void AppRemotingTestDriverEnvironment::OnRemoteHostInfoRetrieved(
const RemoteHostInfo& retrieved_remote_host_info) {
DCHECK(remote_host_info);
- if (retrieved_remote_host_info.IsReadyForConnection()) {
- *remote_host_info = retrieved_remote_host_info;
- }
+ *remote_host_info = retrieved_remote_host_info;
done_closure.Run();
}

Powered by Google App Engine
This is Rietveld 408576698