diff options
Diffstat (limited to 'cras/src/tests/bt_profile_unittest.cc')
-rw-r--r-- | cras/src/tests/bt_profile_unittest.cc | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/cras/src/tests/bt_profile_unittest.cc b/cras/src/tests/bt_profile_unittest.cc deleted file mode 100644 index 0758b448..00000000 --- a/cras/src/tests/bt_profile_unittest.cc +++ /dev/null @@ -1,182 +0,0 @@ -/* Copyright (c) 2013 The Chromium OS 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 <dbus/dbus.h> -#include <gtest/gtest.h> -#include <stdio.h> -#include <sys/socket.h> - -#include "dbus_test.h" - -extern "C" { -#include "cras_bt_constants.h" -#include "cras_bt_profile.h" -} - -namespace { - -static struct cras_bt_profile fake_profile; -static struct cras_bt_transport* fake_transport; -static int profile_release_called; -static struct cras_bt_profile* profile_release_arg_value; -static int profile_new_connection_called; -static struct cras_bt_transport* profile_new_connection_arg_value; -static int profile_request_disconnection_called; -static struct cras_bt_transport* profile_request_disconnection_arg_value; -static int profile_cancel_called; -static struct cras_bt_profile* profile_cancel_arg_value; -static int cras_bt_transport_get_called; -static const char* cras_bt_transport_get_arg_value; - -void fake_profile_release(struct cras_bt_profile* profile); -void fake_profile_new_connection(struct cras_bt_profile* profile, - struct cras_bt_transport* transport); -void fake_profile_request_disconnection(struct cras_bt_profile* profile, - struct cras_bt_transport* transport); -void fake_profile_cancel(struct cras_bt_profile* profile); - -class BtProfileTestSuite : public DBusTest { - virtual void SetUp() { - DBusTest::SetUp(); - - profile_release_called = 0; - profile_new_connection_called = 0; - profile_request_disconnection_called = 0; - profile_cancel_called = 0; - - fake_profile.name = "fake"; - fake_profile.object_path = "/fake"; - fake_profile.uuid = "0"; - fake_profile.version = 0; - fake_profile.role = NULL; - fake_profile.features = 0; - fake_profile.release = fake_profile_release; - fake_profile.new_connection = fake_profile_new_connection; - fake_profile.request_disconnection = fake_profile_request_disconnection; - fake_profile.cancel = fake_profile_cancel; - - fake_transport = reinterpret_cast<struct cras_bt_transport*>(0x321); - cras_bt_transport_get_called = 0; - } -}; - -TEST_F(BtProfileTestSuite, RegisterProfile) { - struct cras_bt_profile* profile; - - ExpectMethodCall(PROFILE_MANAGER_OBJ_PATH, BLUEZ_PROFILE_MGMT_INTERFACE, - "RegisterProfile") - .WithObjectPath("/fake") - .SendReply(); - - cras_bt_add_profile(conn_, &fake_profile); - cras_bt_register_profiles(conn_); - - WaitForMatches(); - profile = cras_bt_profile_get("/fake"); - - EXPECT_TRUE(profile == &fake_profile); -} - -TEST_F(BtProfileTestSuite, ResetProfile) { - cras_bt_add_profile(conn_, &fake_profile); - cras_bt_profile_reset(); - - ASSERT_EQ(1, profile_release_called); -} - -TEST_F(BtProfileTestSuite, HandleMessage) { - ExpectMethodCall(PROFILE_MANAGER_OBJ_PATH, BLUEZ_PROFILE_MGMT_INTERFACE, - "RegisterProfile") - .WithObjectPath("/fake") - .SendReply(); - - cras_bt_add_profile(conn_, &fake_profile); - cras_bt_register_profiles(conn_); - - WaitForMatches(); - - /* Use stdin as mock fd */ - CreateMessageCall("/fake", "org.bluez.Profile1", "NewConnection") - .WithString("device") - .WithUnixFd(0) - .Send(); - - WaitForMatches(); - ASSERT_EQ(1, profile_new_connection_called); - ASSERT_STREQ("device", cras_bt_transport_get_arg_value); - ASSERT_EQ(1, cras_bt_transport_get_called); - ASSERT_EQ(fake_transport, profile_new_connection_arg_value); - - CreateMessageCall("/fake", "org.bluez.Profile1", "RequestDisconnection") - .WithString("device") - .Send(); - WaitForMatches(); - ASSERT_EQ(2, cras_bt_transport_get_called); - ASSERT_EQ(1, profile_request_disconnection_called); - ASSERT_EQ(fake_transport, profile_request_disconnection_arg_value); - - CreateMessageCall("/fake", "org.bluez.Profile1", "Release").Send(); - WaitForMatches(); - ASSERT_EQ(1, profile_release_called); - ASSERT_EQ(&fake_profile, profile_release_arg_value); - - CreateMessageCall("/fake", "org.bluez.Profile1", "Cancel").Send(); - WaitForMatches(); - ASSERT_EQ(1, profile_cancel_called); - ASSERT_EQ(&fake_profile, profile_cancel_arg_value); -} - -void fake_profile_release(struct cras_bt_profile* profile) { - profile_release_arg_value = profile; - profile_release_called++; -} - -void fake_profile_new_connection(struct cras_bt_profile* profile, - struct cras_bt_transport* transport) { - profile_new_connection_arg_value = transport; - profile_new_connection_called++; -} - -void fake_profile_request_disconnection(struct cras_bt_profile* profile, - struct cras_bt_transport* transport) { - profile_request_disconnection_arg_value = transport; - profile_request_disconnection_called++; -} - -void fake_profile_cancel(struct cras_bt_profile* profile) { - profile_cancel_arg_value = profile; - profile_cancel_called++; -} - -} // namespace - -extern "C" { -dbus_bool_t append_key_value(DBusMessageIter* iter, - const char* key, - int type, - const char* type_string, - void* value) { - return TRUE; -} - -struct cras_bt_transport* cras_bt_transport_get(const char* object_path) { - cras_bt_transport_get_called++; - cras_bt_transport_get_arg_value = object_path; - return fake_transport; -} - -void cras_bt_transport_destroy(struct cras_bt_transport* transport) {} - -struct cras_bt_transport* cras_bt_transport_create(DBusConnection* conn, - const char* object_path) { - return fake_transport; -} - -} // extern "C" - -int main(int argc, char** argv) { - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} |