| Index: chromeos/dbus/modem_messaging_client_unittest.cc
|
| diff --git a/chromeos/dbus/gsm_sms_client_unittest.cc b/chromeos/dbus/modem_messaging_client_unittest.cc
|
| similarity index 55%
|
| copy from chromeos/dbus/gsm_sms_client_unittest.cc
|
| copy to chromeos/dbus/modem_messaging_client_unittest.cc
|
| index 6cbd5fddc184636e68dc01d033b3ab9bc249406e..8f5a026b6dd7c6e2abe635168029a2faa7be9eb3 100644
|
| --- a/chromeos/dbus/gsm_sms_client_unittest.cc
|
| +++ b/chromeos/dbus/modem_messaging_client_unittest.cc
|
| @@ -2,7 +2,7 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "chromeos/dbus/gsm_sms_client.h"
|
| +#include "chromeos/dbus/modem_messaging_client.h"
|
|
|
| #include "base/bind.h"
|
| #include "base/message_loop.h"
|
| @@ -27,7 +27,7 @@ namespace {
|
| // A mock SmsReceivedHandler.
|
| class MockSmsReceivedHandler {
|
| public:
|
| - MOCK_METHOD2(Run, void(uint32 index, bool complete));
|
| + MOCK_METHOD2(Run, void(const dbus::ObjectPath &sms, bool complete));
|
| };
|
|
|
| // A mock DeleteCallback.
|
| @@ -36,16 +36,10 @@ class MockDeleteCallback {
|
| MOCK_METHOD0(Run, void());
|
| };
|
|
|
| -// A mock GetCallback.
|
| -class MockGetCallback {
|
| - public:
|
| - MOCK_METHOD1(Run, void(const base::DictionaryValue& sms));
|
| -};
|
| -
|
| // A mock ListCallback.
|
| class MockListCallback {
|
| public:
|
| - MOCK_METHOD1(Run, void(const base::ListValue& result));
|
| + MOCK_METHOD1(Run, void(const std::vector<dbus::ObjectPath>& result));
|
| };
|
|
|
| // D-Bus service name used by test.
|
| @@ -63,11 +57,10 @@ const char kExampleText[] = "Hello.";
|
|
|
| } // namespace
|
|
|
| -class GsmSMSClientTest : public testing::Test {
|
| +class ModemMessagingClientTest : public testing::Test {
|
| public:
|
| - GsmSMSClientTest() : expected_index_(0),
|
| - response_(NULL),
|
| - expected_result_(NULL) {}
|
| + ModemMessagingClientTest() : response_(NULL),
|
| + expected_result_(NULL) {}
|
|
|
| virtual void SetUp() OVERRIDE {
|
| // Create a mock bus.
|
| @@ -83,9 +76,10 @@ class GsmSMSClientTest : public testing::Test {
|
| // Set an expectation so mock_proxy's ConnectToSignal() will use
|
| // OnConnectToSignal() to run the callback.
|
| EXPECT_CALL(*mock_proxy_, ConnectToSignal(
|
| - modemmanager::kModemManagerSMSInterface,
|
| - modemmanager::kSMSReceivedSignal, _, _))
|
| - .WillRepeatedly(Invoke(this, &GsmSMSClientTest::OnConnectToSignal));
|
| + modemmanager::kModemManager1MessagingInterface,
|
| + modemmanager::kSMSAddedSignal, _, _))
|
| + .WillRepeatedly(
|
| + Invoke(this, &ModemMessagingClientTest::OnConnectToSignal));
|
|
|
| // Set an expectation so mock_bus's GetObjectProxy() for the given
|
| // service name and the object path will return mock_proxy_.
|
| @@ -97,8 +91,8 @@ class GsmSMSClientTest : public testing::Test {
|
| EXPECT_CALL(*mock_bus_, ShutdownAndBlock()).WillOnce(Return());
|
|
|
| // Create a client with the mock bus.
|
| - client_.reset(GsmSMSClient::Create(REAL_DBUS_CLIENT_IMPLEMENTATION,
|
| - mock_bus_));
|
| + client_.reset(ModemMessagingClient::Create(REAL_DBUS_CLIENT_IMPLEMENTATION,
|
| + mock_bus_));
|
| }
|
|
|
| virtual void TearDown() OVERRIDE {
|
| @@ -109,29 +103,13 @@ class GsmSMSClientTest : public testing::Test {
|
| void OnDelete(dbus::MethodCall* method_call,
|
| int timeout_ms,
|
| const dbus::ObjectProxy::ResponseCallback& callback) {
|
| - EXPECT_EQ(modemmanager::kModemManagerSMSInterface,
|
| + EXPECT_EQ(modemmanager::kModemManager1MessagingInterface,
|
| method_call->GetInterface());
|
| EXPECT_EQ(modemmanager::kSMSDeleteFunction, method_call->GetMember());
|
| - uint32 index = 0;
|
| - dbus::MessageReader reader(method_call);
|
| - EXPECT_TRUE(reader.PopUint32(&index));
|
| - EXPECT_EQ(expected_index_, index);
|
| - EXPECT_FALSE(reader.HasMoreData());
|
| -
|
| - message_loop_.PostTask(FROM_HERE, base::Bind(callback, response_));
|
| - }
|
| -
|
| - // Handles Get method call.
|
| - void OnGet(dbus::MethodCall* method_call,
|
| - int timeout_ms,
|
| - const dbus::ObjectProxy::ResponseCallback& callback) {
|
| - EXPECT_EQ(modemmanager::kModemManagerSMSInterface,
|
| - method_call->GetInterface());
|
| - EXPECT_EQ(modemmanager::kSMSGetFunction, method_call->GetMember());
|
| - uint32 index = 0;
|
| + dbus::ObjectPath sms_path;
|
| dbus::MessageReader reader(method_call);
|
| - EXPECT_TRUE(reader.PopUint32(&index));
|
| - EXPECT_EQ(expected_index_, index);
|
| + EXPECT_TRUE(reader.PopObjectPath(&sms_path));
|
| + EXPECT_EQ(expected_sms_path_, sms_path);
|
| EXPECT_FALSE(reader.HasMoreData());
|
|
|
| message_loop_.PostTask(FROM_HERE, base::Bind(callback, response_));
|
| @@ -141,7 +119,7 @@ class GsmSMSClientTest : public testing::Test {
|
| void OnList(dbus::MethodCall* method_call,
|
| int timeout_ms,
|
| const dbus::ObjectProxy::ResponseCallback& callback) {
|
| - EXPECT_EQ(modemmanager::kModemManagerSMSInterface,
|
| + EXPECT_EQ(modemmanager::kModemManager1MessagingInterface,
|
| method_call->GetInterface());
|
| EXPECT_EQ(modemmanager::kSMSListFunction, method_call->GetMember());
|
| dbus::MessageReader reader(method_call);
|
| @@ -150,14 +128,14 @@ class GsmSMSClientTest : public testing::Test {
|
| message_loop_.PostTask(FROM_HERE, base::Bind(callback, response_));
|
| }
|
|
|
| - // Checks the results of Get and List.
|
| - void CheckResult(const base::Value& result) {
|
| - EXPECT_TRUE(result.Equals(expected_result_));
|
| + // Checks the results of List.
|
| + void CheckResult(const std::vector<dbus::ObjectPath>& result) {
|
| + EXPECT_EQ(result, *expected_result_);
|
| }
|
|
|
| protected:
|
| // The client to be tested.
|
| - scoped_ptr<GsmSMSClient> client_;
|
| + scoped_ptr<ModemMessagingClient> client_;
|
| // A message loop to emulate asynchronous behavior.
|
| MessageLoop message_loop_;
|
| // The mock bus.
|
| @@ -166,12 +144,12 @@ class GsmSMSClientTest : public testing::Test {
|
| scoped_refptr<dbus::MockObjectProxy> mock_proxy_;
|
| // The SmsReceived signal handler given by the tested client.
|
| dbus::ObjectProxy::SignalCallback sms_received_callback_;
|
| - // Expected argument for Delete and Get methods.
|
| - uint32 expected_index_;
|
| + // Expected argument for Delete method.
|
| + dbus::ObjectPath expected_sms_path_;
|
| // Response returned by mock methods.
|
| dbus::Response* response_;
|
| - // Expected result of Get and List methods.
|
| - base::Value* expected_result_;
|
| + // Expected result of List method.
|
| + std::vector<dbus::ObjectPath>* expected_result_;
|
|
|
| private:
|
| // Used to implement the mock proxy.
|
| @@ -189,12 +167,12 @@ class GsmSMSClientTest : public testing::Test {
|
| }
|
| };
|
|
|
| -TEST_F(GsmSMSClientTest, SmsReceived) {
|
| +TEST_F(ModemMessagingClientTest, SmsReceived) {
|
| // Set expectations.
|
| - const uint32 kIndex = 42;
|
| + const dbus::ObjectPath kSmsPath("/SMS/0");
|
| const bool kComplete = true;
|
| MockSmsReceivedHandler handler;
|
| - EXPECT_CALL(handler, Run(kIndex, kComplete)).Times(1);
|
| + EXPECT_CALL(handler, Run(kSmsPath, kComplete)).Times(1);
|
| // Set handler.
|
| client_->SetSmsReceivedHandler(kServiceName, dbus::ObjectPath(kObjectPath),
|
| base::Bind(&MockSmsReceivedHandler::Run,
|
| @@ -204,10 +182,10 @@ TEST_F(GsmSMSClientTest, SmsReceived) {
|
| message_loop_.RunAllPending();
|
|
|
| // Send signal.
|
| - dbus::Signal signal(modemmanager::kModemManagerSMSInterface,
|
| - modemmanager::kSMSReceivedSignal);
|
| + dbus::Signal signal(modemmanager::kModemManager1MessagingInterface,
|
| + modemmanager::kSMSAddedSignal);
|
| dbus::MessageWriter writer(&signal);
|
| - writer.AppendUint32(kIndex);
|
| + writer.AppendObjectPath(kSmsPath);
|
| writer.AppendBool(kComplete);
|
| ASSERT_FALSE(sms_received_callback_.is_null());
|
| sms_received_callback_.Run(&signal);
|
| @@ -217,19 +195,19 @@ TEST_F(GsmSMSClientTest, SmsReceived) {
|
| sms_received_callback_.Run(&signal);
|
| }
|
|
|
| -TEST_F(GsmSMSClientTest, Delete) {
|
| +TEST_F(ModemMessagingClientTest, Delete) {
|
| // Set expectations.
|
| - const uint32 kIndex = 42;
|
| - expected_index_ = kIndex;
|
| + const dbus::ObjectPath kSmsPath("/SMS/0");
|
| + expected_sms_path_ = kSmsPath;
|
| EXPECT_CALL(*mock_proxy_, CallMethod(_, _, _))
|
| - .WillOnce(Invoke(this, &GsmSMSClientTest::OnDelete));
|
| + .WillOnce(Invoke(this, &ModemMessagingClientTest::OnDelete));
|
| MockDeleteCallback callback;
|
| EXPECT_CALL(callback, Run()).Times(1);
|
| // Create response.
|
| scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
|
| response_ = response.get();
|
| // Call Delete.
|
| - client_->Delete(kServiceName, dbus::ObjectPath(kObjectPath), kIndex,
|
| + client_->Delete(kServiceName, dbus::ObjectPath(kObjectPath), kSmsPath,
|
| base::Bind(&MockDeleteCallback::Run,
|
| base::Unretained(&callback)));
|
|
|
| @@ -237,82 +215,28 @@ TEST_F(GsmSMSClientTest, Delete) {
|
| message_loop_.RunAllPending();
|
| }
|
|
|
| -TEST_F(GsmSMSClientTest, Get) {
|
| +TEST_F(ModemMessagingClientTest, List) {
|
| // Set expectations.
|
| - const uint32 kIndex = 42;
|
| - expected_index_ = kIndex;
|
| EXPECT_CALL(*mock_proxy_, CallMethod(_, _, _))
|
| - .WillOnce(Invoke(this, &GsmSMSClientTest::OnGet));
|
| - MockGetCallback callback;
|
| - EXPECT_CALL(callback, Run(_))
|
| - .WillOnce(Invoke(this, &GsmSMSClientTest::CheckResult));
|
| - // Create response.
|
| - scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
|
| - dbus::MessageWriter writer(response.get());
|
| - dbus::MessageWriter array_writer(NULL);
|
| - writer.OpenArray("{sv}", &array_writer);
|
| - dbus::MessageWriter entry_writer(NULL);
|
| - array_writer.OpenDictEntry(&entry_writer);
|
| - entry_writer.AppendString(kNumberKey);
|
| - entry_writer.AppendVariantOfString(kExampleNumber);
|
| - array_writer.CloseContainer(&entry_writer);
|
| - array_writer.OpenDictEntry(&entry_writer);
|
| - entry_writer.AppendString(kTextKey);
|
| - entry_writer.AppendVariantOfString(kExampleText);
|
| - array_writer.CloseContainer(&entry_writer);
|
| - writer.CloseContainer(&array_writer);
|
| - response_ = response.get();
|
| - // Create expected result.
|
| - base::DictionaryValue expected_result;
|
| - expected_result.SetWithoutPathExpansion(
|
| - kNumberKey, base::Value::CreateStringValue(kExampleNumber));
|
| - expected_result.SetWithoutPathExpansion(
|
| - kTextKey, base::Value::CreateStringValue(kExampleText));
|
| - expected_result_ = &expected_result;
|
| - // Call Delete.
|
| - client_->Get(kServiceName, dbus::ObjectPath(kObjectPath), kIndex,
|
| - base::Bind(&MockGetCallback::Run, base::Unretained(&callback)));
|
| -
|
| - // Run the message loop.
|
| - message_loop_.RunAllPending();
|
| -}
|
| -
|
| -TEST_F(GsmSMSClientTest, List) {
|
| - // Set expectations.
|
| - EXPECT_CALL(*mock_proxy_, CallMethod(_, _, _))
|
| - .WillOnce(Invoke(this, &GsmSMSClientTest::OnList));
|
| + .WillOnce(Invoke(this, &ModemMessagingClientTest::OnList));
|
| MockListCallback callback;
|
| EXPECT_CALL(callback, Run(_))
|
| - .WillOnce(Invoke(this, &GsmSMSClientTest::CheckResult));
|
| + .WillOnce(Invoke(this, &ModemMessagingClientTest::CheckResult));
|
| // Create response.
|
| scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
|
| + dbus::ObjectPath path1("/SMS/1");
|
| + dbus::ObjectPath path2("/SMS/2");
|
| + std::vector<dbus::ObjectPath> expected_result;
|
| + expected_result.push_back(path1);
|
| + expected_result.push_back(path2);
|
| +
|
| dbus::MessageWriter writer(response.get());
|
| - dbus::MessageWriter array_writer(NULL);
|
| - writer.OpenArray("a{sv}", &array_writer);
|
| - dbus::MessageWriter sub_array_writer(NULL);
|
| - array_writer.OpenArray("{sv}", &sub_array_writer);
|
| - dbus::MessageWriter entry_writer(NULL);
|
| - sub_array_writer.OpenDictEntry(&entry_writer);
|
| - entry_writer.AppendString(kNumberKey);
|
| - entry_writer.AppendVariantOfString(kExampleNumber);
|
| - sub_array_writer.CloseContainer(&entry_writer);
|
| - sub_array_writer.OpenDictEntry(&entry_writer);
|
| - entry_writer.AppendString(kTextKey);
|
| - entry_writer.AppendVariantOfString(kExampleText);
|
| - sub_array_writer.CloseContainer(&entry_writer);
|
| - array_writer.CloseContainer(&sub_array_writer);
|
| - writer.CloseContainer(&array_writer);
|
| + writer.AppendArrayOfObjectPaths(expected_result);
|
| response_ = response.get();
|
| - // Create expected result.
|
| - base::ListValue expected_result;
|
| - base::DictionaryValue* sms = new base::DictionaryValue;
|
| - sms->SetWithoutPathExpansion(
|
| - kNumberKey, base::Value::CreateStringValue(kExampleNumber));
|
| - sms->SetWithoutPathExpansion(
|
| - kTextKey, base::Value::CreateStringValue(kExampleText));
|
| - expected_result.Append(sms);
|
| +
|
| + // Save expected result.
|
| expected_result_ = &expected_result;
|
| - // Call Delete.
|
| + // Call List.
|
| client_->List(kServiceName, dbus::ObjectPath(kObjectPath),
|
| base::Bind(&MockListCallback::Run,
|
| base::Unretained(&callback)));
|
|
|