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

Unified Diff: chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api_unittest.cc

Issue 1693383003: ChromeOS cryptohome should be able to use gaia id as user identifier. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed unit tests. Created 4 years, 10 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: chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api_unittest.cc
diff --git a/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api_unittest.cc b/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api_unittest.cc
index f0694a06c989f73f6621f8b39088f02cc16ed066..97a58a1f046201ec50b9634e5f3f632a2e713158 100644
--- a/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api_unittest.cc
+++ b/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api_unittest.cc
@@ -20,6 +20,8 @@
#include "chrome/browser/ui/browser.h"
#include "chrome/common/pref_names.h"
#include "chrome/test/base/browser_with_test_window_test.h"
+#include "chrome/test/base/testing_browser_process.h"
+#include "chrome/test/base/testing_profile_manager.h"
#include "chromeos/attestation/attestation_constants.h"
#include "chromeos/attestation/mock_attestation_flow.h"
#include "chromeos/cryptohome/async_method_caller.h"
@@ -72,7 +74,7 @@ class FakeBoolDBusMethod {
void RegisterKeyCallbackTrue(
chromeos::attestation::AttestationKeyType key_type,
- const std::string& user_id,
+ const cryptohome::Identification& user_id,
const std::string& key_name,
const cryptohome::AsyncMethodCaller::Callback& callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
@@ -81,7 +83,7 @@ void RegisterKeyCallbackTrue(
void RegisterKeyCallbackFalse(
chromeos::attestation::AttestationKeyType key_type,
- const std::string& user_id,
+ const cryptohome::Identification& user_id,
const std::string& key_name,
const cryptohome::AsyncMethodCaller::Callback& callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
@@ -90,7 +92,7 @@ void RegisterKeyCallbackFalse(
void SignChallengeCallbackTrue(
chromeos::attestation::AttestationKeyType key_type,
- const std::string& user_id,
+ const cryptohome::Identification& user_id,
const std::string& key_name,
const std::string& domain,
const std::string& device_id,
@@ -103,7 +105,7 @@ void SignChallengeCallbackTrue(
void SignChallengeCallbackFalse(
chromeos::attestation::AttestationKeyType key_type,
- const std::string& user_id,
+ const cryptohome::Identification& user_id,
const std::string& key_name,
const std::string& domain,
const std::string& device_id,
@@ -116,7 +118,7 @@ void SignChallengeCallbackFalse(
void GetCertificateCallbackTrue(
chromeos::attestation::AttestationCertificateProfile certificate_profile,
- const std::string& user_id,
+ const AccountId& account_id,
const std::string& request_origin,
bool force_new_key,
const chromeos::attestation::AttestationFlow::CertificateCallback&
@@ -127,7 +129,7 @@ void GetCertificateCallbackTrue(
void GetCertificateCallbackFalse(
chromeos::attestation::AttestationCertificateProfile certificate_profile,
- const std::string& user_id,
+ const AccountId& account_id,
const std::string& request_origin,
bool force_new_key,
const chromeos::attestation::AttestationFlow::CertificateCallback&
@@ -141,6 +143,7 @@ class EPKChallengeKeyTestBase : public BrowserWithTestWindowTest {
EPKChallengeKeyTestBase()
: settings_helper_(false),
extension_(test_util::CreateEmptyExtension()),
+ profile_manager_(TestingBrowserProcess::GetGlobal()),
fake_user_manager_(new chromeos::FakeChromeUserManager),
user_manager_enabler_(fake_user_manager_) {
// Set up the default behavior of mocks.
@@ -169,6 +172,8 @@ class EPKChallengeKeyTestBase : public BrowserWithTestWindowTest {
}
void SetUp() override {
+ ASSERT_TRUE(profile_manager_.SetUp());
+
BrowserWithTestWindowTest::SetUp();
// Set the user preferences.
@@ -178,8 +183,19 @@ class EPKChallengeKeyTestBase : public BrowserWithTestWindowTest {
prefs_->Set(prefs::kAttestationExtensionWhitelist, whitelist);
SetAuthenticatedUser();
+ }
+
+ // This will be called by BrowserWithTestWindowTest::SetUp();
+ TestingProfile* CreateProfile() override {
fake_user_manager_->AddUserWithAffiliation(
AccountId::FromUserEmail(kUserEmail), true);
+ return profile_manager_.CreateTestingProfile(kUserEmail);
+ }
+
+ void DestroyProfile(TestingProfile* profile) override {
+ profile_manager_.DeleteTestingProfile(profile->GetProfileUserName());
+ // Profile itself will be destroyed later in
+ // ProfileManager::ProfileInfo::~ProfileInfo() .
}
// Derived classes can override this method to set the required authenticated
@@ -228,9 +244,11 @@ class EPKChallengeKeyTestBase : public BrowserWithTestWindowTest {
chromeos::ScopedCrosSettingsTestHelper settings_helper_;
scoped_refptr<extensions::Extension> extension_;
policy::StubEnterpriseInstallAttributes stub_install_attributes_;
- PrefService* prefs_;
+ TestingProfileManager profile_manager_;
+ // fake_user_manager_ is owned by user_manager_enabler_.
chromeos::FakeChromeUserManager* fake_user_manager_;
chromeos::ScopedUserManagerEnabler user_manager_enabler_;
+ PrefService* prefs_ = nullptr;
};
class EPKChallengeMachineKeyTest : public EPKChallengeKeyTestBase {
@@ -328,10 +346,11 @@ TEST_F(EPKChallengeMachineKeyTest, Success) {
_, _, _, _))
.Times(1);
// SignEnterpriseChallenge must be called exactly once.
- EXPECT_CALL(mock_async_method_caller_,
- TpmAttestationSignEnterpriseChallenge(
- chromeos::attestation::KEY_DEVICE, "", "attest-ent-machine",
- "google.com", "device_id", _, "challenge", _))
+ EXPECT_CALL(
+ mock_async_method_caller_,
+ TpmAttestationSignEnterpriseChallenge(
+ chromeos::attestation::KEY_DEVICE, cryptohome::Identification(),
+ "attest-ent-machine", "google.com", "device_id", _, "challenge", _))
.Times(1);
scoped_ptr<base::Value> value(
@@ -492,17 +511,19 @@ TEST_F(EPKChallengeUserKeyTest, Success) {
GetCertificate(chromeos::attestation::PROFILE_ENTERPRISE_USER_CERTIFICATE,
_, _, _, _))
.Times(1);
+ const cryptohome::Identification cryptohome_id(
+ AccountId::FromUserEmail(kUserEmail));
// SignEnterpriseChallenge must be called exactly once.
EXPECT_CALL(
mock_async_method_caller_,
TpmAttestationSignEnterpriseChallenge(
- chromeos::attestation::KEY_USER, kUserEmail, "attest-ent-user",
+ chromeos::attestation::KEY_USER, cryptohome_id, "attest-ent-user",
kUserEmail, "device_id", _, "challenge", _))
.Times(1);
// RegisterKey must be called exactly once.
EXPECT_CALL(mock_async_method_caller_,
TpmAttestationRegisterKey(chromeos::attestation::KEY_USER,
- kUserEmail, "attest-ent-user", _))
+ cryptohome_id, "attest-ent-user", _))
.Times(1);
scoped_ptr<base::Value> value(
@@ -537,8 +558,19 @@ class EPKChallengeMachineKeyUnmanagedUserTest
protected:
void SetAuthenticatedUser() override {
SigninManagerFactory::GetForProfile(browser()->profile())
- ->SetAuthenticatedAccountInfo("12345", "test@chromium.com");
+ ->SetAuthenticatedAccountInfo(account_id_.GetGaiaId(),
+ account_id_.GetUserEmail());
+ }
+
+ TestingProfile* CreateProfile() override {
+ fake_user_manager_->AddUser(account_id_);
+ TestingProfile* profile =
+ profile_manager_.CreateTestingProfile(account_id_.GetUserEmail());
+ return profile;
}
+
+ const AccountId account_id_ =
+ AccountId::FromUserEmailGaiaId("test@chromium.com", "12345");
};
TEST_F(EPKChallengeMachineKeyUnmanagedUserTest, UserNotManaged) {
@@ -550,8 +582,19 @@ class EPKChallengeUserKeyUnmanagedUserTest : public EPKChallengeUserKeyTest {
protected:
void SetAuthenticatedUser() override {
SigninManagerFactory::GetForProfile(browser()->profile())
- ->SetAuthenticatedAccountInfo("12345", "test@chromium.com");
+ ->SetAuthenticatedAccountInfo(account_id_.GetGaiaId(),
+ account_id_.GetUserEmail());
}
+
+ TestingProfile* CreateProfile() override {
+ fake_user_manager_->AddUser(account_id_);
+ TestingProfile* profile =
+ profile_manager_.CreateTestingProfile(account_id_.GetUserEmail());
+ return profile;
+ }
+
+ const AccountId account_id_ =
+ AccountId::FromUserEmailGaiaId("test@chromium.com", "12345");
};
TEST_F(EPKChallengeUserKeyUnmanagedUserTest, UserNotManaged) {

Powered by Google App Engine
This is Rietveld 408576698