summaryrefslogtreecommitdiffstats
path: root/chromeos/dbus
diff options
context:
space:
mode:
authorharuki@chromium.org <haruki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-10 07:53:45 +0000
committerharuki@chromium.org <haruki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-10 07:53:45 +0000
commit8aabea71d282178ff7c1477edc6eec9805b25c53 (patch)
tree2032e8c72b5790fffa2963fa8bc741c0025cf4f1 /chromeos/dbus
parentc1c2a9ce468e448dfe6f6d1b54064f6cc93765ea (diff)
downloadchromium_src-8aabea71d282178ff7c1477edc6eec9805b25c53.zip
chromium_src-8aabea71d282178ff7c1477edc6eec9805b25c53.tar.gz
chromium_src-8aabea71d282178ff7c1477edc6eec9805b25c53.tar.bz2
Use MockDBusThreadManagerWithoutGMock for DeviceLocalAccountTest
Moving necessary fake behaviors to FakeCryptohomeClient. BUG=239333 TEST=trybots R=satorux@chromium.org Review URL: https://codereview.chromium.org/15014016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199421 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/dbus')
-rw-r--r--chromeos/dbus/fake_cryptohome_client.cc29
-rw-r--r--chromeos/dbus/fake_cryptohome_client.h4
2 files changed, 33 insertions, 0 deletions
diff --git a/chromeos/dbus/fake_cryptohome_client.cc b/chromeos/dbus/fake_cryptohome_client.cc
index 9c2383c..59262b0 100644
--- a/chromeos/dbus/fake_cryptohome_client.cc
+++ b/chromeos/dbus/fake_cryptohome_client.cc
@@ -6,6 +6,7 @@
#include "base/bind.h"
#include "base/message_loop.h"
+#include "third_party/cros_system_api/dbus/service_constants.h"
namespace chromeos {
@@ -84,6 +85,16 @@ bool FakeCryptohomeClient::InstallAttributesGet(const std::string& name,
void FakeCryptohomeClient::AsyncMount(const std::string& username,
const std::string& key, int flags,
const AsyncMethodCallback& callback) {
+ DCHECK(!callback.is_null());
+ DCHECK(!handler_.is_null());
+
+ MessageLoop::current()->PostTask(FROM_HERE,
+ base::Bind(callback, 1 /* async_id */));
+ MessageLoop::current()->PostTask(FROM_HERE,
+ base::Bind(handler_,
+ 1, // async_id
+ true, // return_status
+ cryptohome::MOUNT_ERROR_NONE));
}
void FakeCryptohomeClient::AsyncMountGuest(
@@ -123,6 +134,8 @@ bool FakeCryptohomeClient::InstallAttributesFinalize(bool* successful) {
void FakeCryptohomeClient::SetAsyncCallStatusHandlers(
const AsyncCallStatusHandler& handler,
const AsyncCallStatusWithDataHandler& data_handler) {
+ handler_ = handler;
+ data_handler_ = data_handler;
}
bool FakeCryptohomeClient::CallTpmIsEnabledAndBlock(bool* enabled) {
@@ -186,6 +199,8 @@ void FakeCryptohomeClient::AsyncTpmAttestationCreateEnrollRequest(
}
void FakeCryptohomeClient::ResetAsyncCallStatusHandlers() {
+ handler_.Reset();
+ data_handler_.Reset();
}
void FakeCryptohomeClient::TpmAttestationDoesKeyExist(
@@ -212,6 +227,20 @@ void FakeCryptohomeClient::TpmAttestationSetKeyPayload(
void FakeCryptohomeClient::GetSanitizedUsername(
const std::string& username,
const StringDBusMethodCallback& callback) {
+ DCHECK(!callback.is_null());
+ DCHECK(!handler_.is_null());
+
+ MessageLoop::current()->PostTask(
+ FROM_HERE,
+ base::Bind(callback,
+ chromeos::DBUS_METHOD_CALL_SUCCESS,
+ username));
+ MessageLoop::current()->PostTask(
+ FROM_HERE,
+ base::Bind(data_handler_,
+ 1, // async_id
+ true, // return_status
+ username));
}
void FakeCryptohomeClient::TpmAttestationSignEnterpriseChallenge(
diff --git a/chromeos/dbus/fake_cryptohome_client.h b/chromeos/dbus/fake_cryptohome_client.h
index 1fed647..62cdb8b 100644
--- a/chromeos/dbus/fake_cryptohome_client.h
+++ b/chromeos/dbus/fake_cryptohome_client.h
@@ -135,7 +135,11 @@ class FakeCryptohomeClient : public CryptohomeClient {
}
private:
+ AsyncCallStatusHandler handler_;
+ AsyncCallStatusWithDataHandler data_handler_;
+
bool unmount_result_;
+
DISALLOW_COPY_AND_ASSIGN(FakeCryptohomeClient);
};