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

Unified Diff: chrome/browser/password_manager/native_backend_gnome_x_unittest.cc

Issue 11437025: Linux: add library loader for GNOME keyring. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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/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;

Powered by Google App Engine
This is Rietveld 408576698