Index: chrome/browser/password_manager/native_backend_gnome_x_unittest.cc |
diff --git a/chrome/browser/password_manager/native_backend_gnome_x_unittest.cc b/chrome/browser/password_manager/native_backend_gnome_x_unittest.cc |
index eb0e44d45e6b043e4a31059697acc347c3979898..d47b964fbf9569773db49e8ff2cad29973804031 100644 |
--- a/chrome/browser/password_manager/native_backend_gnome_x_unittest.cc |
+++ b/chrome/browser/password_manager/native_backend_gnome_x_unittest.cc |
@@ -257,23 +257,7 @@ const gchar* mock_gnome_keyring_result_to_message(GnomeKeyringResult res) { |
return "mock keyring simulating failure"; |
} |
-// Inherit to get access to protected fields. |
-class MockGnomeKeyringLoader : public GnomeKeyringLoader { |
- public: |
- static bool LoadMockGnomeKeyring() { |
-#define GNOME_KEYRING_ASSIGN_POINTER(name) \ |
- gnome_keyring_##name = &mock_gnome_keyring_##name; |
- GNOME_KEYRING_FOR_EACH_FUNC(GNOME_KEYRING_ASSIGN_POINTER) |
-#undef GNOME_KEYRING_ASSIGN_POINTER |
- keyring_loaded = true; |
- // Reset the state of the mock library. |
- mock_keyring_items.clear(); |
- mock_keyring_reject_local_ids = false; |
- return true; |
- } |
-}; |
- |
-} // anonymous namespace |
+} // namespace |
class NativeBackendGnomeTest : public testing::Test { |
protected: |
@@ -285,8 +269,6 @@ class NativeBackendGnomeTest : public testing::Test { |
virtual void SetUp() { |
ASSERT_TRUE(db_thread_.Start()); |
- MockGnomeKeyringLoader::LoadMockGnomeKeyring(); |
- |
form_google_.origin = GURL("http://www.google.com/"); |
form_google_.action = GURL("http://www.google.com/login"); |
form_google_.username_element = UTF8ToUTF16("user"); |
@@ -312,6 +294,20 @@ class NativeBackendGnomeTest : public testing::Test { |
db_thread_.Stop(); |
} |
+ static void SetUpMockKeyring(NativeBackendGnome* backend) { |
+ LibGnomeKeyringLoader* loader = backend->libgnome_keyring_loader(); |
+ loader->gnome_keyring_is_available = &mock_gnome_keyring_is_available; |
+ loader->gnome_keyring_store_password = &mock_gnome_keyring_store_password; |
+ loader->gnome_keyring_delete_password = &mock_gnome_keyring_delete_password; |
+ loader->gnome_keyring_find_itemsv = &mock_gnome_keyring_find_itemsv; |
+ loader->gnome_keyring_result_to_message = |
+ &mock_gnome_keyring_result_to_message; |
+ |
+ // Reset the state of the mock library. |
+ mock_keyring_items.clear(); |
+ mock_keyring_reject_local_ids = false; |
+ } |
+ |
void RunBothThreads() { |
// First we post a message to the DB thread that will run after all other |
// messages that have been posted to the DB thread (we don't expect more |
@@ -394,7 +390,8 @@ TEST_F(NativeBackendGnomeTest, BasicAddLogin) { |
profile_.GetPrefs()->SetBoolean(prefs::kPasswordsUseLocalProfileId, true); |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
Mike Mammarella
2012/12/06 04:29:56
I think on the bots gnome_keyring_is_available() m
Paweł Hajdan Jr.
2012/12/06 18:33:12
Ah, you're right. Updated.
Mike Mammarella
2012/12/06 20:37:31
Heh, that's a pretty cheezy way to fix it, just al
|
+ SetUpMockKeyring(&backend); |
BrowserThread::PostTask( |
BrowserThread::DB, FROM_HERE, |
@@ -413,7 +410,8 @@ TEST_F(NativeBackendGnomeTest, BasicListLogins) { |
profile_.GetPrefs()->SetBoolean(prefs::kPasswordsUseLocalProfileId, true); |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
BrowserThread::PostTask( |
BrowserThread::DB, FROM_HERE, |
@@ -443,7 +441,8 @@ TEST_F(NativeBackendGnomeTest, BasicRemoveLogin) { |
profile_.GetPrefs()->SetBoolean(prefs::kPasswordsUseLocalProfileId, true); |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
BrowserThread::PostTask( |
BrowserThread::DB, FROM_HERE, |
@@ -471,7 +470,8 @@ TEST_F(NativeBackendGnomeTest, RemoveNonexistentLogin) { |
profile_.GetPrefs()->SetBoolean(prefs::kPasswordsUseLocalProfileId, true); |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
// First add an unrelated login. |
BrowserThread::PostTask( |
@@ -515,7 +515,8 @@ TEST_F(NativeBackendGnomeTest, AddDuplicateLogin) { |
profile_.GetPrefs()->SetBoolean(prefs::kPasswordsUseLocalProfileId, true); |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
BrowserThread::PostTask( |
BrowserThread::DB, FROM_HERE, |
@@ -538,7 +539,8 @@ TEST_F(NativeBackendGnomeTest, ListLoginsAppends) { |
profile_.GetPrefs()->SetBoolean(prefs::kPasswordsUseLocalProfileId, true); |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
BrowserThread::PostTask( |
BrowserThread::DB, FROM_HERE, |
@@ -577,7 +579,8 @@ TEST_F(NativeBackendGnomeTest, DISABLED_MigrateOneLogin) { |
{ |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
BrowserThread::PostTask(BrowserThread::DB, FROM_HERE, |
base::Bind(base::IgnoreResult(&NativeBackendGnome::AddLogin), |
@@ -607,7 +610,8 @@ TEST_F(NativeBackendGnomeTest, DISABLED_MigrateOneLogin) { |
{ |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
// This should not trigger migration because there will be no results. |
std::vector<PasswordForm*> form_list; |
@@ -634,7 +638,8 @@ TEST_F(NativeBackendGnomeTest, DISABLED_MigrateOneLogin) { |
{ |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
// Trigger the migration by looking something up. |
std::vector<PasswordForm*> form_list; |
@@ -668,7 +673,8 @@ TEST_F(NativeBackendGnomeTest, DISABLED_MigrateToMultipleProfiles) { |
{ |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
BrowserThread::PostTask( |
BrowserThread::DB, FROM_HERE, |
@@ -687,7 +693,8 @@ TEST_F(NativeBackendGnomeTest, DISABLED_MigrateToMultipleProfiles) { |
{ |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
// Trigger the migration by looking something up. |
std::vector<PasswordForm*> form_list; |
@@ -720,7 +727,8 @@ TEST_F(NativeBackendGnomeTest, DISABLED_MigrateToMultipleProfiles) { |
{ |
NativeBackendGnome backend(24, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
// Trigger the migration by looking something up. |
std::vector<PasswordForm*> form_list; |
@@ -752,7 +760,8 @@ TEST_F(NativeBackendGnomeTest, DISABLED_NoMigrationWithPrefSet) { |
{ |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
BrowserThread::PostTask( |
BrowserThread::DB, FROM_HERE, |
@@ -772,7 +781,8 @@ TEST_F(NativeBackendGnomeTest, DISABLED_NoMigrationWithPrefSet) { |
{ |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
// Trigger the migration by adding a new login. |
BrowserThread::PostTask( |
@@ -810,7 +820,8 @@ TEST_F(NativeBackendGnomeTest, DISABLED_DeleteMigratedPasswordIsIsolated) { |
{ |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
BrowserThread::PostTask( |
BrowserThread::DB, FROM_HERE, |
@@ -829,7 +840,8 @@ TEST_F(NativeBackendGnomeTest, DISABLED_DeleteMigratedPasswordIsIsolated) { |
{ |
NativeBackendGnome backend(42, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
// Trigger the migration by looking something up. |
std::vector<PasswordForm*> form_list; |
@@ -862,7 +874,8 @@ TEST_F(NativeBackendGnomeTest, DISABLED_DeleteMigratedPasswordIsIsolated) { |
{ |
NativeBackendGnome backend(24, profile_.GetPrefs()); |
- backend.Init(); |
+ ASSERT_TRUE(backend.Init()); |
+ SetUpMockKeyring(&backend); |
// Trigger the migration by looking something up. |
std::vector<PasswordForm*> form_list; |