Chromium Code Reviews| 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; |