Index: chrome/browser/password_manager/kwallet_dbus_unittest.cc |
diff --git a/chrome/browser/password_manager/kwallet_dbus_unittest.cc b/chrome/browser/password_manager/kwallet_dbus_unittest.cc |
deleted file mode 100644 |
index 6619f79643f6f4ca7748473534998cddeb46e01e..0000000000000000000000000000000000000000 |
--- a/chrome/browser/password_manager/kwallet_dbus_unittest.cc |
+++ /dev/null |
@@ -1,696 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/password_manager/kwallet_dbus.h" |
- |
-#include <memory> |
-#include <string> |
- |
-#include "base/logging.h" |
-#include "base/nix/xdg_util.h" |
-#include "dbus/message.h" |
-#include "dbus/mock_bus.h" |
-#include "dbus/mock_object_proxy.h" |
-#include "dbus/object_path.h" |
-#include "dbus/object_proxy.h" |
-#include "testing/gmock/include/gmock/gmock.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace { |
- |
-using testing::_; |
-using testing::AllOf; |
-using testing::DoAll; |
-using testing::ElementsAreArray; |
-using testing::Invoke; |
-using testing::Return; |
-using testing::StrictMock; |
- |
-const char kKWalletInterface[] = "org.kde.KWallet"; |
-const char kKLauncherInterface[] = "org.kde.KLauncher"; |
- |
-dbus::Response* RespondBool(bool value) { |
- std::unique_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
- dbus::MessageWriter writer(response.get()); |
- writer.AppendBool(value); |
- return response.release(); |
-} |
- |
-dbus::Response* RespondString(const std::string& value) { |
- std::unique_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
- dbus::MessageWriter writer(response.get()); |
- writer.AppendString(value); |
- return response.release(); |
-} |
- |
-dbus::Response* RespondBytes(const std::vector<uint8_t>& bytes) { |
- std::unique_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
- dbus::MessageWriter writer(response.get()); |
- writer.AppendArrayOfBytes(bytes.data(), bytes.size()); |
- return response.release(); |
-} |
- |
-dbus::Response* RespondArrayOfStrings(const std::vector<std::string>& strings) { |
- std::unique_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
- dbus::MessageWriter writer(response.get()); |
- writer.AppendArrayOfStrings(strings); |
- return response.release(); |
-} |
- |
-dbus::Response* RespondInt32(int value) { |
- std::unique_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
- dbus::MessageWriter writer(response.get()); |
- writer.AppendInt32(value); |
- return response.release(); |
-} |
- |
-dbus::Response* RespondEmpty() { |
- return dbus::Response::CreateEmpty().release(); |
-} |
- |
-class KWalletDBusTest |
- : public testing::TestWithParam<base::nix::DesktopEnvironment> { |
- public: |
- KWalletDBusTest() : desktop_env_(GetParam()), kwallet_dbus_(desktop_env_) { |
- if (desktop_env_ == base::nix::DESKTOP_ENVIRONMENT_KDE5) { |
- dbus_service_name_ = "org.kde.kwalletd5"; |
- dbus_path_ = "/modules/kwalletd5"; |
- kwalletd_name_ = "kwalletd5"; |
- } else { |
- dbus_service_name_ = "org.kde.kwalletd"; |
- dbus_path_ = "/modules/kwalletd"; |
- kwalletd_name_ = "kwalletd"; |
- } |
- |
- dbus::Bus::Options options; |
- options.bus_type = dbus::Bus::SESSION; |
- mock_session_bus_ = new dbus::MockBus(options); |
- |
- mock_klauncher_proxy_ = new StrictMock<dbus::MockObjectProxy>( |
- mock_session_bus_.get(), "org.kde.klauncher", |
- dbus::ObjectPath("/KLauncher")); |
- mock_kwallet_proxy_ = new StrictMock<dbus::MockObjectProxy>( |
- mock_session_bus_.get(), dbus_service_name_, |
- dbus::ObjectPath(dbus_path_)); |
- |
- // The kwallet proxy is aquired once, when preparing |kwallet_dbus_| |
- EXPECT_CALL( |
- *mock_session_bus_.get(), |
- GetObjectProxy(dbus_service_name_, dbus::ObjectPath(dbus_path_))) |
- .WillOnce(Return(mock_kwallet_proxy_.get())); |
- |
- kwallet_dbus_.SetSessionBus(mock_session_bus_); |
- |
- testing::Mock::VerifyAndClearExpectations(mock_session_bus_.get()); |
- } |
- |
- protected: |
- const base::nix::DesktopEnvironment desktop_env_; |
- scoped_refptr<dbus::MockBus> mock_session_bus_; |
- scoped_refptr<dbus::MockObjectProxy> mock_klauncher_proxy_; |
- scoped_refptr<dbus::MockObjectProxy> mock_kwallet_proxy_; |
- KWalletDBus kwallet_dbus_; |
- |
- std::string dbus_service_name_; |
- std::string dbus_path_; |
- std::string kwalletd_name_; |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(KWalletDBusTest); |
-}; |
- |
-INSTANTIATE_TEST_CASE_P(, |
- KWalletDBusTest, |
- ::testing::Values(base::nix::DESKTOP_ENVIRONMENT_KDE4, |
- base::nix::DESKTOP_ENVIRONMENT_KDE5)); |
- |
-// Matches a method call to the specified dbus target. |
-MATCHER_P2(Calls, interface, member, "") { |
- return arg->GetMember() == member && arg->GetInterface() == interface; |
-} |
- |
-// Pops items from the dbus message and compares them to the expected values. |
-MATCHER_P3(ArgumentsAreIntStringString, int_1, str_2, str_3, "") { |
- dbus::MessageReader reader(arg); |
- |
- int i; |
- EXPECT_TRUE(reader.PopInt32(&i)); |
- if (int_1 != i) |
- return false; |
- |
- std::string str; |
- EXPECT_TRUE(reader.PopString(&str)); |
- if (str_2 != str) |
- return false; |
- |
- EXPECT_TRUE(reader.PopString(&str)); |
- if (str_3 != str) |
- return false; |
- |
- return true; |
-} |
- |
-// Pops items from the dbus message and compares them to the expected values. |
-MATCHER_P4(ArgumentsAreIntStringStringString, int_1, str_2, str_3, str_4, "") { |
- dbus::MessageReader reader(arg); |
- |
- int i; |
- EXPECT_TRUE(reader.PopInt32(&i)); |
- if (int_1 != i) |
- return false; |
- |
- std::string str; |
- EXPECT_TRUE(reader.PopString(&str)); |
- if (str_2 != str) |
- return false; |
- |
- EXPECT_TRUE(reader.PopString(&str)); |
- if (str_3 != str) |
- return false; |
- |
- EXPECT_TRUE(reader.PopString(&str)); |
- if (str_4 != str) |
- return false; |
- |
- return true; |
-} |
- |
-// Pops items from the dbus message and compares them to the expected values. |
-MATCHER_P5(ArgumentsAreIntStringStringBytesString, |
- int_1, |
- str_2, |
- str_3, |
- vec_4, |
- str_5, |
- "") { |
- dbus::MessageReader reader(arg); |
- |
- int i; |
- EXPECT_TRUE(reader.PopInt32(&i)); |
- if (int_1 != i) |
- return false; |
- |
- std::string str; |
- EXPECT_TRUE(reader.PopString(&str)); |
- if (str_2 != str) |
- return false; |
- |
- EXPECT_TRUE(reader.PopString(&str)); |
- if (str_3 != str) |
- return false; |
- |
- const uint8_t* bytes = nullptr; |
- size_t length = 0; |
- EXPECT_TRUE(reader.PopArrayOfBytes(&bytes, &length)); |
- std::vector<uint8_t> vec; |
- vec.assign(bytes, bytes + length); |
- if (vec_4 != vec) |
- return false; |
- |
- EXPECT_TRUE(reader.PopString(&str)); |
- if (str_5 != str) |
- return false; |
- |
- return true; |
-} |
- |
-// Pops items from the dbus message and compares them to the expected values. |
-MATCHER_P3(ArgumentsAreStringInt64String, str_1, int_2, str_3, "") { |
- dbus::MessageReader reader(arg); |
- |
- std::string str; |
- EXPECT_TRUE(reader.PopString(&str)); |
- if (str_1 != str) |
- return false; |
- |
- int64_t i; |
- EXPECT_TRUE(reader.PopInt64(&i)); |
- if (int_2 != i) |
- return false; |
- |
- EXPECT_TRUE(reader.PopString(&str)); |
- if (str_3 != str) |
- return false; |
- |
- return true; |
-} |
- |
-// Pops items from the dbus message and compares them to the expected values. |
-MATCHER_P5(ArgumentsAreStringStringsStringsStringBool, |
- str_1, |
- vec_2, |
- vec_3, |
- str_4, |
- bool_5, |
- "") { |
- dbus::MessageReader reader(arg); |
- |
- std::string str; |
- EXPECT_TRUE(reader.PopString(&str)); |
- if (str_1 != str) |
- return false; |
- |
- std::vector<std::string> strings; |
- EXPECT_TRUE(reader.PopArrayOfStrings(&strings)); |
- if (vec_2 != strings) |
- return false; |
- |
- EXPECT_TRUE(reader.PopArrayOfStrings(&strings)); |
- if (vec_3 != strings) |
- return false; |
- |
- EXPECT_TRUE(reader.PopString(&str)); |
- if (str_4 != str) |
- return false; |
- |
- bool b; |
- EXPECT_TRUE(reader.PopBool(&b)); |
- if (bool_5 != b) |
- return false; |
- |
- return true; |
-} |
- |
-TEST_P(KWalletDBusTest, StartWalletd) { |
- // The receiver of the message takes ownership of the response object. |
- dbus::Response* response_success = RespondEmpty(); |
- dbus::MessageWriter writer(response_success); |
- writer.AppendInt32(0); // return code |
- writer.AppendString("dbus_name"); |
- writer.AppendString(std::string()); // error message |
- writer.AppendInt32(100); // pid |
- |
- EXPECT_CALL( |
- *mock_session_bus_.get(), |
- GetObjectProxy("org.kde.klauncher", dbus::ObjectPath("/KLauncher"))) |
- .WillOnce(Return(mock_klauncher_proxy_.get())); |
- |
- EXPECT_CALL( |
- *mock_klauncher_proxy_.get(), |
- MockCallMethodAndBlock( |
- AllOf(Calls(kKLauncherInterface, "start_service_by_desktop_name"), |
- ArgumentsAreStringStringsStringsStringBool( |
- kwalletd_name_, std::vector<std::string>(), |
- std::vector<std::string>(), std::string(), false)), |
- _)) |
- .WillOnce(Return(response_success)); |
- |
- EXPECT_TRUE(kwallet_dbus_.StartKWalletd()); |
-} |
- |
-TEST_P(KWalletDBusTest, StartWalletdErrorRead) { |
- EXPECT_CALL( |
- *mock_session_bus_.get(), |
- GetObjectProxy("org.kde.klauncher", dbus::ObjectPath("/KLauncher"))) |
- .WillOnce(Return(mock_klauncher_proxy_.get())); |
- |
- EXPECT_CALL( |
- *mock_klauncher_proxy_.get(), |
- MockCallMethodAndBlock( |
- Calls(kKLauncherInterface, "start_service_by_desktop_name"), _)) |
- .WillOnce(Return(RespondEmpty())); |
- |
- EXPECT_FALSE(kwallet_dbus_.StartKWalletd()); |
-} |
- |
-TEST_P(KWalletDBusTest, StartWalletdErrorContact) { |
- EXPECT_CALL( |
- *mock_session_bus_.get(), |
- GetObjectProxy("org.kde.klauncher", dbus::ObjectPath("/KLauncher"))) |
- .WillRepeatedly(Return(mock_klauncher_proxy_.get())); |
- |
- EXPECT_CALL( |
- *mock_klauncher_proxy_.get(), |
- MockCallMethodAndBlock( |
- Calls(kKLauncherInterface, "start_service_by_desktop_name"), _)) |
- .WillOnce(Return(nullptr)); |
- |
- EXPECT_FALSE(kwallet_dbus_.StartKWalletd()); |
-} |
- |
-TEST_P(KWalletDBusTest, IsEnabledTrue) { |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "isEnabled"), _)) |
- .WillOnce(Return(RespondBool(true))); |
- |
- bool is_enabled = false; |
- EXPECT_EQ(KWalletDBus::Error::SUCCESS, kwallet_dbus_.IsEnabled(&is_enabled)); |
- EXPECT_TRUE(is_enabled); |
-} |
- |
-TEST_P(KWalletDBusTest, IsEnabledFalse) { |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "isEnabled"), _)) |
- .WillOnce(Return(RespondBool(false))); |
- |
- bool is_enabled = true; |
- EXPECT_EQ(KWalletDBus::Error::SUCCESS, kwallet_dbus_.IsEnabled(&is_enabled)); |
- EXPECT_FALSE(is_enabled); |
-} |
- |
-TEST_P(KWalletDBusTest, IsEnabledErrorRead) { |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "isEnabled"), _)) |
- .WillOnce(Return(RespondEmpty())); |
- |
- bool is_enabled = true; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_READ, |
- kwallet_dbus_.IsEnabled(&is_enabled)); |
-} |
- |
-TEST_P(KWalletDBusTest, IsEnabledErrorContact) { |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "isEnabled"), _)) |
- .WillOnce(Return(nullptr)); |
- |
- bool is_enabled = true; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_CONTACT, |
- kwallet_dbus_.IsEnabled(&is_enabled)); |
-} |
- |
-TEST_P(KWalletDBusTest, NetworkWallet) { |
- EXPECT_CALL( |
- *mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "networkWallet"), _)) |
- .WillOnce(Return(RespondString("mock_wallet"))); |
- |
- std::string wallet; |
- EXPECT_EQ(KWalletDBus::Error::SUCCESS, kwallet_dbus_.NetworkWallet(&wallet)); |
- EXPECT_EQ("mock_wallet", wallet); |
-} |
- |
-TEST_P(KWalletDBusTest, NetworkWalletErrorRead) { |
- EXPECT_CALL( |
- *mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "networkWallet"), _)) |
- .WillOnce(Return(RespondEmpty())); |
- |
- std::string wallet; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_READ, |
- kwallet_dbus_.NetworkWallet(&wallet)); |
-} |
- |
-TEST_P(KWalletDBusTest, NetworkWalletErrorContact) { |
- EXPECT_CALL( |
- *mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "networkWallet"), _)) |
- .WillOnce(Return(nullptr)); |
- |
- std::string wallet; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_CONTACT, |
- kwallet_dbus_.NetworkWallet(&wallet)); |
-} |
- |
-TEST_P(KWalletDBusTest, Open) { |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock( |
- AllOf(Calls(kKWalletInterface, "open"), |
- ArgumentsAreStringInt64String("wallet", 0, "app")), |
- _)) |
- .WillOnce(Return(RespondInt32(1234))); |
- |
- int ret; |
- EXPECT_EQ(KWalletDBus::Error::SUCCESS, |
- kwallet_dbus_.Open("wallet", "app", &ret)); |
- EXPECT_EQ(1234, ret); |
-} |
- |
-TEST_P(KWalletDBusTest, OpenErrorRead) { |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "open"), _)) |
- .WillOnce(Return(RespondEmpty())); |
- |
- int ret; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_READ, |
- kwallet_dbus_.Open("wallet", "app", &ret)); |
-} |
- |
-TEST_P(KWalletDBusTest, OpenErrorContact) { |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "open"), _)) |
- .WillOnce(Return(nullptr)); |
- |
- int ret; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_CONTACT, |
- kwallet_dbus_.Open("wallet", "app", &ret)); |
-} |
- |
-TEST_P(KWalletDBusTest, HasEntry) { |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(AllOf(Calls(kKWalletInterface, "hasEntry"), |
- ArgumentsAreIntStringStringString( |
- 123, "folder", "realm", "app")), |
- _)) |
- .WillOnce(Return(RespondBool(true))); |
- |
- bool has_entry = false; |
- EXPECT_EQ(KWalletDBus::Error::SUCCESS, |
- kwallet_dbus_.HasEntry(123, "folder", "realm", "app", &has_entry)); |
- EXPECT_TRUE(has_entry); |
-} |
- |
-TEST_P(KWalletDBusTest, HasEntryErrorRead) { |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "hasEntry"), _)) |
- .WillOnce(Return(RespondEmpty())); |
- |
- bool has_entry = false; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_READ, |
- kwallet_dbus_.HasEntry(123, "folder", "realm", "app", &has_entry)); |
-} |
- |
-TEST_P(KWalletDBusTest, HasEntryErrorContact) { |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "hasEntry"), _)) |
- .WillOnce(Return(nullptr)); |
- |
- bool has_entry = false; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_CONTACT, |
- kwallet_dbus_.HasEntry(123, "folder", "realm", "app", &has_entry)); |
-} |
- |
-TEST_P(KWalletDBusTest, ReadEntry) { |
- const std::vector<uint8_t> bytes_expected = {1, 2, 1, 2}; |
- EXPECT_CALL( |
- *mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(AllOf(Calls(kKWalletInterface, "readEntry"), |
- ArgumentsAreIntStringStringString( |
- 123, "folder", "realm", "app")), |
- _)) |
- .WillOnce(Return(RespondBytes(bytes_expected))); |
- |
- std::vector<uint8_t> bytes; |
- EXPECT_EQ(KWalletDBus::Error::SUCCESS, |
- kwallet_dbus_.ReadEntry(123, "folder", "realm", "app", &bytes)); |
- EXPECT_EQ(bytes_expected, bytes); |
-} |
- |
-TEST_P(KWalletDBusTest, ReadEntryErrorRead) { |
- std::vector<uint8_t> bytes_expected = {1, 2, 1, 2}; |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "readEntry"), _)) |
- .WillOnce(Return(RespondEmpty())); |
- |
- std::vector<uint8_t> bytes; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_READ, |
- kwallet_dbus_.ReadEntry(123, "folder", "realm", "app", &bytes)); |
-} |
- |
-TEST_P(KWalletDBusTest, ReadEntryErrorContact) { |
- std::vector<uint8_t> bytes_expected = {1, 2, 1, 2}; |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "readEntry"), _)) |
- .WillOnce(Return(nullptr)); |
- |
- std::vector<uint8_t> bytes; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_CONTACT, |
- kwallet_dbus_.ReadEntry(123, "folder", "realm", "app", &bytes)); |
-} |
- |
-TEST_P(KWalletDBusTest, EntryList) { |
- std::vector<std::string> strings_expected = {"one", "two"}; |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock( |
- AllOf(Calls(kKWalletInterface, "entryList"), |
- ArgumentsAreIntStringString(123, "folder", "app")), |
- _)) |
- .WillOnce(Return(RespondArrayOfStrings(strings_expected))); |
- |
- std::vector<std::string> strings; |
- EXPECT_EQ(KWalletDBus::Error::SUCCESS, |
- kwallet_dbus_.EntryList(123, "folder", "app", &strings)); |
- EXPECT_EQ(strings_expected, strings); |
-} |
- |
-TEST_P(KWalletDBusTest, EntryListErrorRead) { |
- std::vector<std::string> strings_expected = {"one", "two"}; |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "entryList"), _)) |
- .WillOnce(Return(RespondEmpty())); |
- |
- std::vector<std::string> strings; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_READ, |
- kwallet_dbus_.EntryList(123, "folder", "app", &strings)); |
-} |
- |
-TEST_P(KWalletDBusTest, EntryListErrorContact) { |
- std::vector<std::string> strings_expected = {"one", "two"}; |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "entryList"), _)) |
- .WillOnce(Return(nullptr)); |
- |
- std::vector<std::string> strings; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_CONTACT, |
- kwallet_dbus_.EntryList(123, "folder", "app", &strings)); |
-} |
- |
-TEST_P(KWalletDBusTest, RemoveEntry) { |
- EXPECT_CALL( |
- *mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(AllOf(Calls(kKWalletInterface, "removeEntry"), |
- ArgumentsAreIntStringStringString( |
- 123, "folder", "realm", "app")), |
- _)) |
- .WillOnce(Return(RespondInt32(0))); |
- |
- int ret; |
- EXPECT_EQ(KWalletDBus::Error::SUCCESS, |
- kwallet_dbus_.RemoveEntry(123, "folder", "realm", "app", &ret)); |
- EXPECT_EQ(0, ret); |
-} |
- |
-TEST_P(KWalletDBusTest, RemoveEntryErrorRead) { |
- EXPECT_CALL( |
- *mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "removeEntry"), _)) |
- .WillOnce(Return(RespondEmpty())); |
- |
- int ret; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_READ, |
- kwallet_dbus_.RemoveEntry(123, "folder", "realm", "app", &ret)); |
-} |
- |
-TEST_P(KWalletDBusTest, RemoveEntryErrorContact) { |
- EXPECT_CALL( |
- *mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "removeEntry"), _)) |
- .WillOnce(Return(nullptr)); |
- |
- int ret; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_CONTACT, |
- kwallet_dbus_.RemoveEntry(123, "folder", "realm", "app", &ret)); |
-} |
- |
-TEST_P(KWalletDBusTest, WriteEntry) { |
- std::vector<uint8_t> bytes = {1, 2, 3, 1}; |
- EXPECT_CALL( |
- *mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(AllOf(Calls(kKWalletInterface, "writeEntry"), |
- ArgumentsAreIntStringStringBytesString( |
- 123, "folder", "realm", bytes, "app")), |
- _)) |
- .WillOnce(Return(RespondInt32(0))); |
- |
- int ret; |
- EXPECT_EQ(KWalletDBus::Error::SUCCESS, |
- kwallet_dbus_.WriteEntry(123, "folder", "realm", "app", |
- bytes.data(), bytes.size(), &ret)); |
- EXPECT_EQ(0, ret); |
-} |
- |
-TEST_P(KWalletDBusTest, WriteEntryErrorRead) { |
- std::vector<uint8_t> bytes = {1, 2, 3, 1}; |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "writeEntry"), _)) |
- .WillOnce(Return(RespondEmpty())); |
- |
- int ret; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_READ, |
- kwallet_dbus_.WriteEntry(123, "folder", "realm", "app", |
- bytes.data(), bytes.size(), &ret)); |
-} |
- |
-TEST_P(KWalletDBusTest, WriteEntryErrorContact) { |
- std::vector<uint8_t> bytes = {1, 2, 3, 1}; |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "writeEntry"), _)) |
- .WillOnce(Return(nullptr)); |
- |
- int ret; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_CONTACT, |
- kwallet_dbus_.WriteEntry(123, "folder", "realm", "app", |
- bytes.data(), bytes.size(), &ret)); |
-} |
- |
-TEST_P(KWalletDBusTest, HasFolder) { |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock( |
- AllOf(Calls(kKWalletInterface, "hasFolder"), |
- ArgumentsAreIntStringString(123, "wallet", "app")), |
- _)) |
- .WillOnce(Return(RespondBool(true))); |
- |
- bool has_folder = false; |
- EXPECT_EQ(KWalletDBus::Error::SUCCESS, |
- kwallet_dbus_.HasFolder(123, "wallet", "app", &has_folder)); |
- EXPECT_EQ(true, has_folder); |
-} |
- |
-TEST_P(KWalletDBusTest, HasFolderErrorRead) { |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "hasFolder"), _)) |
- .WillOnce(Return(RespondEmpty())); |
- |
- bool has_folder = false; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_READ, |
- kwallet_dbus_.HasFolder(123, "wallet", "app", &has_folder)); |
-} |
- |
-TEST_P(KWalletDBusTest, HasFolderErrorContact) { |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "hasFolder"), _)) |
- .WillOnce(Return(nullptr)); |
- |
- bool has_folder = false; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_CONTACT, |
- kwallet_dbus_.HasFolder(123, "wallet", "app", &has_folder)); |
-} |
- |
-TEST_P(KWalletDBusTest, CreateFolder) { |
- EXPECT_CALL(*mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock( |
- AllOf(Calls(kKWalletInterface, "createFolder"), |
- ArgumentsAreIntStringString(123, "folder", "app")), |
- _)) |
- .WillOnce(Return(RespondBool(true))); |
- |
- bool created_folder = false; |
- EXPECT_EQ(KWalletDBus::Error::SUCCESS, |
- kwallet_dbus_.CreateFolder(123, "folder", "app", &created_folder)); |
- EXPECT_EQ(true, created_folder); |
-} |
- |
-TEST_P(KWalletDBusTest, CreateFolderErrorRead) { |
- EXPECT_CALL( |
- *mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "createFolder"), _)) |
- .WillOnce(Return(RespondEmpty())); |
- |
- bool created_folder = false; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_READ, |
- kwallet_dbus_.CreateFolder(123, "folder", "app", &created_folder)); |
-} |
- |
-TEST_P(KWalletDBusTest, CreateFolderErrorContact) { |
- EXPECT_CALL( |
- *mock_kwallet_proxy_.get(), |
- MockCallMethodAndBlock(Calls(kKWalletInterface, "createFolder"), _)) |
- .WillOnce(Return(nullptr)); |
- |
- bool created_folder = false; |
- EXPECT_EQ(KWalletDBus::Error::CANNOT_CONTACT, |
- kwallet_dbus_.CreateFolder(123, "folder", "app", &created_folder)); |
-} |
- |
-} // namespace |