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

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

Issue 1685103003: Copy challenge*Key methods to enterprise.platformKeys. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed nits; now use ArrayBuffer 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_private/enterprise_platform_keys_private_api_unittest.cc b/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api_unittest.cc
similarity index 55%
copy from chrome/browser/extensions/api/enterprise_platform_keys_private/enterprise_platform_keys_private_api_unittest.cc
copy to chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api_unittest.cc
index 5219c167014e0bb8737eb9a89303788bba690a09..f0694a06c989f73f6621f8b39088f02cc16ed066 100644
--- a/chrome/browser/extensions/api/enterprise_platform_keys_private/enterprise_platform_keys_private_api_unittest.cc
+++ b/chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api_unittest.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/extensions/api/enterprise_platform_keys_private/enterprise_platform_keys_private_api.h"
+#include "chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.h"
#include <string>
@@ -58,13 +58,11 @@ const char kUserEmail[] = "test@google.com";
class FakeBoolDBusMethod {
public:
FakeBoolDBusMethod(chromeos::DBusMethodCallStatus status, bool value)
- : status_(status),
- value_(value) {}
+ : status_(status), value_(value) {}
- void operator() (const chromeos::BoolDBusMethodCallback& callback) {
+ void operator()(const chromeos::BoolDBusMethodCallback& callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE,
- base::Bind(callback, status_, value_));
+ FROM_HERE, base::Bind(callback, status_, value_));
}
private:
@@ -78,8 +76,7 @@ void RegisterKeyCallbackTrue(
const std::string& key_name,
const cryptohome::AsyncMethodCaller::Callback& callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE,
- base::Bind(callback, true, cryptohome::MOUNT_ERROR_NONE));
+ FROM_HERE, base::Bind(callback, true, cryptohome::MOUNT_ERROR_NONE));
}
void RegisterKeyCallbackFalse(
@@ -88,8 +85,7 @@ void RegisterKeyCallbackFalse(
const std::string& key_name,
const cryptohome::AsyncMethodCaller::Callback& callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE,
- base::Bind(callback, false, cryptohome::MOUNT_ERROR_NONE));
+ FROM_HERE, base::Bind(callback, false, cryptohome::MOUNT_ERROR_NONE));
}
void SignChallengeCallbackTrue(
@@ -102,8 +98,7 @@ void SignChallengeCallbackTrue(
const std::string& challenge,
const cryptohome::AsyncMethodCaller::DataCallback& callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE,
- base::Bind(callback, true, "response"));
+ FROM_HERE, base::Bind(callback, true, "response"));
}
void SignChallengeCallbackFalse(
@@ -116,8 +111,7 @@ void SignChallengeCallbackFalse(
const std::string& challenge,
const cryptohome::AsyncMethodCaller::DataCallback& callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE,
- base::Bind(callback, false, ""));
+ FROM_HERE, base::Bind(callback, false, ""));
}
void GetCertificateCallbackTrue(
@@ -128,8 +122,7 @@ void GetCertificateCallbackTrue(
const chromeos::attestation::AttestationFlow::CertificateCallback&
callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE,
- base::Bind(callback, true, "certificate"));
+ FROM_HERE, base::Bind(callback, true, "certificate"));
}
void GetCertificateCallbackFalse(
@@ -140,23 +133,23 @@ void GetCertificateCallbackFalse(
const chromeos::attestation::AttestationFlow::CertificateCallback&
callback) {
base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE,
- base::Bind(callback, false, ""));
+ FROM_HERE, base::Bind(callback, false, ""));
}
-class EPKPChallengeKeyTestBase : public BrowserWithTestWindowTest {
+class EPKChallengeKeyTestBase : public BrowserWithTestWindowTest {
protected:
- EPKPChallengeKeyTestBase()
- : settings_helper_(false), extension_(test_util::CreateEmptyExtension()),
+ EPKChallengeKeyTestBase()
+ : settings_helper_(false),
+ extension_(test_util::CreateEmptyExtension()),
fake_user_manager_(new chromeos::FakeChromeUserManager),
- user_manager_enabler_(fake_user_manager_){
+ user_manager_enabler_(fake_user_manager_) {
// Set up the default behavior of mocks.
ON_CALL(mock_cryptohome_client_, TpmAttestationDoesKeyExist(_, _, _, _))
- .WillByDefault(WithArgs<3>(Invoke(FakeBoolDBusMethod(
- chromeos::DBUS_METHOD_CALL_SUCCESS, false))));
+ .WillByDefault(WithArgs<3>(Invoke(
+ FakeBoolDBusMethod(chromeos::DBUS_METHOD_CALL_SUCCESS, false))));
ON_CALL(mock_cryptohome_client_, TpmAttestationIsPrepared(_))
- .WillByDefault(Invoke(FakeBoolDBusMethod(
- chromeos::DBUS_METHOD_CALL_SUCCESS, true)));
+ .WillByDefault(Invoke(
+ FakeBoolDBusMethod(chromeos::DBUS_METHOD_CALL_SUCCESS, true)));
ON_CALL(mock_async_method_caller_, TpmAttestationRegisterKey(_, _, _, _))
.WillByDefault(Invoke(RegisterKeyCallbackTrue));
ON_CALL(mock_async_method_caller_,
@@ -192,8 +185,41 @@ class EPKPChallengeKeyTestBase : public BrowserWithTestWindowTest {
// Derived classes can override this method to set the required authenticated
// user in the SigninManager class.
virtual void SetAuthenticatedUser() {
- SigninManagerFactory::GetForProfile(browser()->profile())->
- SetAuthenticatedAccountInfo("12345", kUserEmail);
+ SigninManagerFactory::GetForProfile(browser()->profile())
+ ->SetAuthenticatedAccountInfo("12345", kUserEmail);
+ }
+
+ // Like extension_function_test_utils::RunFunctionAndReturnError but with an
+ // explicit ListValue.
+ std::string RunFunctionAndReturnError(UIThreadExtensionFunction* function,
+ scoped_ptr<base::ListValue> args,
+ Browser* browser) {
+ scoped_refptr<ExtensionFunction> function_owner(function);
+ // Without a callback the function will not generate a result.
+ function->set_has_callback(true);
+ utils::RunFunction(function, std::move(args), browser, utils::NONE);
+ EXPECT_FALSE(function->GetResultList()) << "Did not expect a result";
+ return function->GetError();
+ }
+
+ // Like extension_function_test_utils::RunFunctionAndReturnSingleResult but
+ // with an explicit ListValue.
+ base::Value* RunFunctionAndReturnSingleResult(
+ UIThreadExtensionFunction* function,
+ scoped_ptr<base::ListValue> args,
+ Browser* browser) {
+ scoped_refptr<ExtensionFunction> function_owner(function);
+ // Without a callback the function will not generate a result.
+ function->set_has_callback(true);
+ utils::RunFunction(function, std::move(args), browser, utils::NONE);
+ EXPECT_TRUE(function->GetError().empty()) << "Unexpected error: "
+ << function->GetError();
+ const base::Value* single_result = NULL;
+ if (function->GetResultList() != NULL &&
+ function->GetResultList()->Get(0, &single_result)) {
+ return single_result->DeepCopy();
+ }
+ return NULL;
}
NiceMock<chromeos::MockCryptohomeClient> mock_cryptohome_client_;
@@ -207,97 +233,94 @@ class EPKPChallengeKeyTestBase : public BrowserWithTestWindowTest {
chromeos::ScopedUserManagerEnabler user_manager_enabler_;
};
-class EPKPChallengeMachineKeyTest : public EPKPChallengeKeyTestBase {
+class EPKChallengeMachineKeyTest : public EPKChallengeKeyTestBase {
protected:
- static const char kArgs[];
-
- EPKPChallengeMachineKeyTest()
- : func_(new EPKPChallengeMachineKey(&mock_cryptohome_client_,
- &mock_async_method_caller_,
- &mock_attestation_flow_,
- &stub_install_attributes_)) {
+ EPKChallengeMachineKeyTest()
+ : impl_(&mock_cryptohome_client_,
+ &mock_async_method_caller_,
+ &mock_attestation_flow_,
+ &stub_install_attributes_),
+ func_(new EnterprisePlatformKeysChallengeMachineKeyFunction(&impl_)) {
func_->set_extension(extension_.get());
}
// Returns an error string for the given code.
std::string GetCertificateError(int error_code) {
return base::StringPrintf(
- EPKPChallengeMachineKey::kGetCertificateFailedError,
- error_code);
+ EPKPChallengeMachineKey::kGetCertificateFailedError, error_code);
}
- scoped_refptr<EPKPChallengeMachineKey> func_;
-};
-
-// Base 64 encoding of 'challenge'.
-const char EPKPChallengeMachineKeyTest::kArgs[] = "[\"Y2hhbGxlbmdl\"]";
+ scoped_ptr<base::ListValue> CreateArgs() {
+ scoped_ptr<base::ListValue> args(new base::ListValue);
+ args->Append(base::BinaryValue::CreateWithCopiedBuffer("challenge", 9));
+ return args;
+ }
-TEST_F(EPKPChallengeMachineKeyTest, ChallengeBadBase64) {
- EXPECT_EQ(EPKPChallengeKeyBase::kChallengeBadBase64Error,
- utils::RunFunctionAndReturnError(
- func_.get(), "[\"****\"]", browser()));
-}
+ EPKPChallengeMachineKey impl_;
+ scoped_refptr<EnterprisePlatformKeysChallengeMachineKeyFunction> func_;
+ base::ListValue args_;
+};
-TEST_F(EPKPChallengeMachineKeyTest, NonEnterpriseDevice) {
+TEST_F(EPKChallengeMachineKeyTest, NonEnterpriseDevice) {
stub_install_attributes_.SetRegistrationUser("");
EXPECT_EQ(EPKPChallengeMachineKey::kNonEnterpriseDeviceError,
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeMachineKeyTest, ExtensionNotWhitelisted) {
+TEST_F(EPKChallengeMachineKeyTest, ExtensionNotWhitelisted) {
base::ListValue empty_whitelist;
prefs_->Set(prefs::kAttestationExtensionWhitelist, empty_whitelist);
EXPECT_EQ(EPKPChallengeKeyBase::kExtensionNotWhitelistedError,
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeMachineKeyTest, DevicePolicyDisabled) {
+TEST_F(EPKChallengeMachineKeyTest, DevicePolicyDisabled) {
settings_helper_.SetBoolean(chromeos::kDeviceAttestationEnabled, false);
EXPECT_EQ(EPKPChallengeKeyBase::kDevicePolicyDisabledError,
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeMachineKeyTest, DoesKeyExistDbusFailed) {
+TEST_F(EPKChallengeMachineKeyTest, DoesKeyExistDbusFailed) {
EXPECT_CALL(mock_cryptohome_client_, TpmAttestationDoesKeyExist(_, _, _, _))
- .WillRepeatedly(WithArgs<3>(Invoke(FakeBoolDBusMethod(
- chromeos::DBUS_METHOD_CALL_FAILURE, false))));
+ .WillRepeatedly(WithArgs<3>(Invoke(
+ FakeBoolDBusMethod(chromeos::DBUS_METHOD_CALL_FAILURE, false))));
EXPECT_EQ(GetCertificateError(kDBusError),
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeMachineKeyTest, GetCertificateFailed) {
+TEST_F(EPKChallengeMachineKeyTest, GetCertificateFailed) {
EXPECT_CALL(mock_attestation_flow_, GetCertificate(_, _, _, _, _))
.WillRepeatedly(Invoke(GetCertificateCallbackFalse));
EXPECT_EQ(GetCertificateError(kGetCertificateFailed),
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeMachineKeyTest, SignChallengeFailed) {
+TEST_F(EPKChallengeMachineKeyTest, SignChallengeFailed) {
EXPECT_CALL(mock_async_method_caller_,
TpmAttestationSignEnterpriseChallenge(_, _, _, _, _, _, _, _))
.WillRepeatedly(Invoke(SignChallengeCallbackFalse));
EXPECT_EQ(EPKPChallengeKeyBase::kSignChallengeFailedError,
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeMachineKeyTest, KeyExists) {
+TEST_F(EPKChallengeMachineKeyTest, KeyExists) {
EXPECT_CALL(mock_cryptohome_client_, TpmAttestationDoesKeyExist(_, _, _, _))
- .WillRepeatedly(WithArgs<3>(Invoke(FakeBoolDBusMethod(
- chromeos::DBUS_METHOD_CALL_SUCCESS, true))));
+ .WillRepeatedly(WithArgs<3>(Invoke(
+ FakeBoolDBusMethod(chromeos::DBUS_METHOD_CALL_SUCCESS, true))));
// GetCertificate must not be called if the key exists.
- EXPECT_CALL(mock_attestation_flow_, GetCertificate(_, _, _, _, _))
- .Times(0);
+ EXPECT_CALL(mock_attestation_flow_, GetCertificate(_, _, _, _, _)).Times(0);
- EXPECT_TRUE(utils::RunFunction(func_.get(), kArgs, browser(), utils::NONE));
+ EXPECT_TRUE(
+ utils::RunFunction(func_.get(), CreateArgs(), browser(), utils::NONE));
}
-TEST_F(EPKPChallengeMachineKeyTest, Success) {
+TEST_F(EPKChallengeMachineKeyTest, Success) {
// GetCertificate must be called exactly once.
EXPECT_CALL(mock_attestation_flow_,
GetCertificate(
@@ -311,46 +334,46 @@ TEST_F(EPKPChallengeMachineKeyTest, Success) {
"google.com", "device_id", _, "challenge", _))
.Times(1);
- scoped_ptr<base::Value> value(utils::RunFunctionAndReturnSingleResult(
- func_.get(), kArgs, browser(), utils::NONE));
+ scoped_ptr<base::Value> value(
+ RunFunctionAndReturnSingleResult(func_.get(), CreateArgs(), browser()));
- std::string response;
- value->GetAsString(&response);
- EXPECT_EQ("cmVzcG9uc2U=" /* Base64 encoding of 'response' */, response);
+ const base::BinaryValue* response;
+ ASSERT_TRUE(value->GetAsBinary(&response));
+ EXPECT_EQ("response",
+ std::string(response->GetBuffer(), response->GetSize()));
}
-TEST_F(EPKPChallengeMachineKeyTest, AttestationNotPrepared) {
+TEST_F(EPKChallengeMachineKeyTest, AttestationNotPrepared) {
EXPECT_CALL(mock_cryptohome_client_, TpmAttestationIsPrepared(_))
- .WillRepeatedly(Invoke(FakeBoolDBusMethod(
- chromeos::DBUS_METHOD_CALL_SUCCESS, false)));
+ .WillRepeatedly(Invoke(
+ FakeBoolDBusMethod(chromeos::DBUS_METHOD_CALL_SUCCESS, false)));
EXPECT_EQ(GetCertificateError(kResetRequired),
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeMachineKeyTest, AttestationPreparedDbusFailed) {
+TEST_F(EPKChallengeMachineKeyTest, AttestationPreparedDbusFailed) {
EXPECT_CALL(mock_cryptohome_client_, TpmAttestationIsPrepared(_))
- .WillRepeatedly(Invoke(FakeBoolDBusMethod(
- chromeos::DBUS_METHOD_CALL_FAILURE, true)));
+ .WillRepeatedly(
+ Invoke(FakeBoolDBusMethod(chromeos::DBUS_METHOD_CALL_FAILURE, true)));
EXPECT_EQ(GetCertificateError(kDBusError),
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-class EPKPChallengeUserKeyTest : public EPKPChallengeKeyTestBase {
+class EPKChallengeUserKeyTest : public EPKChallengeKeyTestBase {
protected:
- static const char kArgs[];
-
- EPKPChallengeUserKeyTest() :
- func_(new EPKPChallengeUserKey(&mock_cryptohome_client_,
- &mock_async_method_caller_,
- &mock_attestation_flow_,
- &stub_install_attributes_)) {
+ EPKChallengeUserKeyTest()
+ : impl_(&mock_cryptohome_client_,
+ &mock_async_method_caller_,
+ &mock_attestation_flow_,
+ &stub_install_attributes_),
+ func_(new EnterprisePlatformKeysChallengeUserKeyFunction(&impl_)) {
func_->set_extension(extension_.get());
}
void SetUp() override {
- EPKPChallengeKeyTestBase::SetUp();
+ EPKChallengeKeyTestBase::SetUp();
// Set the user preferences.
prefs_->SetBoolean(prefs::kAttestationEnabled, true);
@@ -362,173 +385,178 @@ class EPKPChallengeUserKeyTest : public EPKPChallengeKeyTestBase {
error_code);
}
- scoped_refptr<EPKPChallengeUserKey> func_;
-};
+ scoped_ptr<base::ListValue> CreateArgs() { return CreateArgsInternal(true); }
-// Base 64 encoding of 'challenge'
-const char EPKPChallengeUserKeyTest::kArgs[] = "[\"Y2hhbGxlbmdl\", true]";
+ scoped_ptr<base::ListValue> CreateArgsNoRegister() {
+ return CreateArgsInternal(false);
+ }
-TEST_F(EPKPChallengeUserKeyTest, ChallengeBadBase64) {
- EXPECT_EQ(EPKPChallengeKeyBase::kChallengeBadBase64Error,
- utils::RunFunctionAndReturnError(
- func_.get(), "[\"****\", true]", browser()));
-}
+ scoped_ptr<base::ListValue> CreateArgsInternal(bool register_key) {
+ scoped_ptr<base::ListValue> args(new base::ListValue);
+ args->Append(base::BinaryValue::CreateWithCopiedBuffer("challenge", 9));
+ args->Append(new base::FundamentalValue(register_key));
+ return args;
+ }
-TEST_F(EPKPChallengeUserKeyTest, UserPolicyDisabled) {
+ EPKPChallengeUserKey impl_;
+ scoped_refptr<EnterprisePlatformKeysChallengeUserKeyFunction> func_;
+};
+
+TEST_F(EPKChallengeUserKeyTest, UserPolicyDisabled) {
prefs_->SetBoolean(prefs::kAttestationEnabled, false);
EXPECT_EQ(EPKPChallengeUserKey::kUserPolicyDisabledError,
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeUserKeyTest, ExtensionNotWhitelisted) {
+TEST_F(EPKChallengeUserKeyTest, ExtensionNotWhitelisted) {
base::ListValue empty_whitelist;
prefs_->Set(prefs::kAttestationExtensionWhitelist, empty_whitelist);
EXPECT_EQ(EPKPChallengeKeyBase::kExtensionNotWhitelistedError,
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeUserKeyTest, DevicePolicyDisabled) {
+TEST_F(EPKChallengeUserKeyTest, DevicePolicyDisabled) {
settings_helper_.SetBoolean(chromeos::kDeviceAttestationEnabled, false);
EXPECT_EQ(EPKPChallengeKeyBase::kDevicePolicyDisabledError,
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeUserKeyTest, DoesKeyExistDbusFailed) {
+TEST_F(EPKChallengeUserKeyTest, DoesKeyExistDbusFailed) {
EXPECT_CALL(mock_cryptohome_client_, TpmAttestationDoesKeyExist(_, _, _, _))
- .WillRepeatedly(WithArgs<3>(Invoke(FakeBoolDBusMethod(
- chromeos::DBUS_METHOD_CALL_FAILURE, false))));
+ .WillRepeatedly(WithArgs<3>(Invoke(
+ FakeBoolDBusMethod(chromeos::DBUS_METHOD_CALL_FAILURE, false))));
EXPECT_EQ(GetCertificateError(kDBusError),
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeUserKeyTest, GetCertificateFailed) {
+TEST_F(EPKChallengeUserKeyTest, GetCertificateFailed) {
EXPECT_CALL(mock_attestation_flow_, GetCertificate(_, _, _, _, _))
.WillRepeatedly(Invoke(GetCertificateCallbackFalse));
EXPECT_EQ(GetCertificateError(kGetCertificateFailed),
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeUserKeyTest, SignChallengeFailed) {
+TEST_F(EPKChallengeUserKeyTest, SignChallengeFailed) {
EXPECT_CALL(mock_async_method_caller_,
TpmAttestationSignEnterpriseChallenge(_, _, _, _, _, _, _, _))
.WillRepeatedly(Invoke(SignChallengeCallbackFalse));
EXPECT_EQ(EPKPChallengeKeyBase::kSignChallengeFailedError,
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeUserKeyTest, KeyRegistrationFailed) {
+TEST_F(EPKChallengeUserKeyTest, KeyRegistrationFailed) {
EXPECT_CALL(mock_async_method_caller_, TpmAttestationRegisterKey(_, _, _, _))
.WillRepeatedly(Invoke(RegisterKeyCallbackFalse));
EXPECT_EQ(EPKPChallengeUserKey::kKeyRegistrationFailedError,
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeUserKeyTest, KeyExists) {
+TEST_F(EPKChallengeUserKeyTest, KeyExists) {
EXPECT_CALL(mock_cryptohome_client_, TpmAttestationDoesKeyExist(_, _, _, _))
- .WillRepeatedly(WithArgs<3>(Invoke(FakeBoolDBusMethod(
- chromeos::DBUS_METHOD_CALL_SUCCESS, true))));
+ .WillRepeatedly(WithArgs<3>(Invoke(
+ FakeBoolDBusMethod(chromeos::DBUS_METHOD_CALL_SUCCESS, true))));
// GetCertificate must not be called if the key exists.
- EXPECT_CALL(mock_attestation_flow_, GetCertificate(_, _, _, _, _))
- .Times(0);
+ EXPECT_CALL(mock_attestation_flow_, GetCertificate(_, _, _, _, _)).Times(0);
- EXPECT_TRUE(utils::RunFunction(func_.get(), kArgs, browser(), utils::NONE));
+ EXPECT_TRUE(
+ utils::RunFunction(func_.get(), CreateArgs(), browser(), utils::NONE));
}
-TEST_F(EPKPChallengeUserKeyTest, KeyNotRegistered) {
+TEST_F(EPKChallengeUserKeyTest, KeyNotRegistered) {
EXPECT_CALL(mock_async_method_caller_, TpmAttestationRegisterKey(_, _, _, _))
.Times(0);
- EXPECT_TRUE(utils::RunFunction(
- func_.get(), "[\"Y2hhbGxlbmdl\", false]", browser(), utils::NONE));
+ EXPECT_TRUE(utils::RunFunction(func_.get(), CreateArgsNoRegister(), browser(),
+ utils::NONE));
}
-TEST_F(EPKPChallengeUserKeyTest, PersonalDevice) {
+TEST_F(EPKChallengeUserKeyTest, PersonalDevice) {
stub_install_attributes_.SetRegistrationUser("");
// Currently personal devices are not supported.
EXPECT_EQ(GetCertificateError(kUserRejected),
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeUserKeyTest, Success) {
+TEST_F(EPKChallengeUserKeyTest, Success) {
// GetCertificate must be called exactly once.
- EXPECT_CALL(mock_attestation_flow_,
- GetCertificate(
- chromeos::attestation::PROFILE_ENTERPRISE_USER_CERTIFICATE,
- _, _, _, _))
+ EXPECT_CALL(
+ mock_attestation_flow_,
+ GetCertificate(chromeos::attestation::PROFILE_ENTERPRISE_USER_CERTIFICATE,
+ _, _, _, _))
.Times(1);
// SignEnterpriseChallenge must be called exactly once.
- EXPECT_CALL(mock_async_method_caller_,
- TpmAttestationSignEnterpriseChallenge(
- chromeos::attestation::KEY_USER, kUserEmail,
- "attest-ent-user", kUserEmail, "device_id", _,
- "challenge", _))
+ EXPECT_CALL(
+ mock_async_method_caller_,
+ TpmAttestationSignEnterpriseChallenge(
+ chromeos::attestation::KEY_USER, kUserEmail, "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", _))
+ kUserEmail, "attest-ent-user", _))
.Times(1);
- scoped_ptr<base::Value> value(utils::RunFunctionAndReturnSingleResult(
- func_.get(), kArgs, browser(), utils::NONE));
+ scoped_ptr<base::Value> value(
+ RunFunctionAndReturnSingleResult(func_.get(), CreateArgs(), browser()));
- std::string response;
- value->GetAsString(&response);
- EXPECT_EQ("cmVzcG9uc2U=" /* Base64 encoding of 'response' */, response);
+ const base::BinaryValue* response;
+ ASSERT_TRUE(value->GetAsBinary(&response));
+ EXPECT_EQ("response",
+ std::string(response->GetBuffer(), response->GetSize()));
}
-TEST_F(EPKPChallengeUserKeyTest, AttestationNotPrepared) {
+TEST_F(EPKChallengeUserKeyTest, AttestationNotPrepared) {
EXPECT_CALL(mock_cryptohome_client_, TpmAttestationIsPrepared(_))
- .WillRepeatedly(Invoke(FakeBoolDBusMethod(
- chromeos::DBUS_METHOD_CALL_SUCCESS, false)));
+ .WillRepeatedly(Invoke(
+ FakeBoolDBusMethod(chromeos::DBUS_METHOD_CALL_SUCCESS, false)));
EXPECT_EQ(GetCertificateError(kResetRequired),
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-TEST_F(EPKPChallengeUserKeyTest, AttestationPreparedDbusFailed) {
+TEST_F(EPKChallengeUserKeyTest, AttestationPreparedDbusFailed) {
EXPECT_CALL(mock_cryptohome_client_, TpmAttestationIsPrepared(_))
- .WillRepeatedly(Invoke(FakeBoolDBusMethod(
- chromeos::DBUS_METHOD_CALL_FAILURE, true)));
+ .WillRepeatedly(
+ Invoke(FakeBoolDBusMethod(chromeos::DBUS_METHOD_CALL_FAILURE, true)));
EXPECT_EQ(GetCertificateError(kDBusError),
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-class EPKPChallengeMachineKeyUnmanagedUserTest
- : public EPKPChallengeMachineKeyTest {
+class EPKChallengeMachineKeyUnmanagedUserTest
+ : public EPKChallengeMachineKeyTest {
protected:
void SetAuthenticatedUser() override {
- SigninManagerFactory::GetForProfile(browser()->profile())->
- SetAuthenticatedAccountInfo("12345", "test@chromium.com");
+ SigninManagerFactory::GetForProfile(browser()->profile())
+ ->SetAuthenticatedAccountInfo("12345", "test@chromium.com");
}
};
-TEST_F(EPKPChallengeMachineKeyUnmanagedUserTest, UserNotManaged) {
+TEST_F(EPKChallengeMachineKeyUnmanagedUserTest, UserNotManaged) {
EXPECT_EQ(EPKPChallengeKeyBase::kUserNotManaged,
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
-class EPKPChallengeUserKeyUnmanagedUserTest : public EPKPChallengeUserKeyTest {
+class EPKChallengeUserKeyUnmanagedUserTest : public EPKChallengeUserKeyTest {
protected:
void SetAuthenticatedUser() override {
- SigninManagerFactory::GetForProfile(browser()->profile())->
- SetAuthenticatedAccountInfo("12345", "test@chromium.com");
+ SigninManagerFactory::GetForProfile(browser()->profile())
+ ->SetAuthenticatedAccountInfo("12345", "test@chromium.com");
}
};
-TEST_F(EPKPChallengeUserKeyUnmanagedUserTest, UserNotManaged) {
+TEST_F(EPKChallengeUserKeyUnmanagedUserTest, UserNotManaged) {
EXPECT_EQ(EPKPChallengeKeyBase::kUserNotManaged,
- utils::RunFunctionAndReturnError(func_.get(), kArgs, browser()));
+ RunFunctionAndReturnError(func_.get(), CreateArgs(), browser()));
}
} // namespace

Powered by Google App Engine
This is Rietveld 408576698