+//TEST_F(DBusConnectionTest, IsInitiallyDisconnected) {
+// ASSERT_FALSE(dbusConnection_->isConnected());
+//}
+//
+//TEST_F(DBusConnectionTest, ConnectAndDisconnectWork) {
+// ASSERT_TRUE(dbusConnection_->connect());
+// ASSERT_TRUE(dbusConnection_->isConnected());
+//
+// dbusConnection_->disconnect();
+// ASSERT_FALSE(dbusConnection_->isConnected());
+//}
+//
+//TEST_F(DBusConnectionTest, ConnectionStatusEventWorks) {
+// ASSERT_EQ(connectionStatusEventCount_, 0);
+//
+// auto connectionStatusSubscription = dbusConnection_->getConnectionStatusEvent().subscribe(std::bind(
+// &DBusConnectionTest::onConnectionStatusEvent,
+// this,
+// std::placeholders::_1));
+//
+// ASSERT_FALSE(dbusConnection_->isConnected());
+// ASSERT_EQ(connectionStatusEventCount_, 0);
+//
+// uint32_t expectedEventCount = 0;
+// while (expectedEventCount < 10) {
+// ASSERT_TRUE(dbusConnection_->connect());
+// ASSERT_TRUE(dbusConnection_->isConnected());
+// ASSERT_EQ(connectionStatusEventCount_, ++expectedEventCount);
+// ASSERT_EQ(connectionStatus_, common::api::AvailabilityStatus::AVAILABLE);
+//
+// dbusConnection_->disconnect();
+// ASSERT_FALSE(dbusConnection_->isConnected());
+// ASSERT_EQ(connectionStatusEventCount_, ++expectedEventCount);
+// ASSERT_EQ(connectionStatus_, common::api::AvailabilityStatus::NOT_AVAILABLE);
+// }
+//
+// dbusConnection_->getConnectionStatusEvent().unsubscribe(connectionStatusSubscription);
+// ASSERT_EQ(connectionStatusEventCount_, expectedEventCount);
+//
+// ASSERT_TRUE(dbusConnection_->connect());
+// ASSERT_TRUE(dbusConnection_->isConnected());
+// ASSERT_EQ(connectionStatusEventCount_, expectedEventCount);
+//
+// dbusConnection_->disconnect();
+// ASSERT_FALSE(dbusConnection_->isConnected());
+// ASSERT_EQ(connectionStatusEventCount_, expectedEventCount);
+//}
+//
+//TEST_F(DBusConnectionTest, SendingAsyncDBusMessagesWorks) {
+// const char* busName = "common.api.dbus.test.TestInterfaceHandler";
+// const char* objectPath = "/common/api/dbus/test/TestObject";
+// const char* interfaceName = "common.api.dbus.test.TestInterface";
+// const char* methodName = "TestMethod";
+//
+// auto interfaceHandlerDBusConnection = common::api::dbus::DBusConnection::getSessionBus();
+//
+// ASSERT_TRUE(interfaceHandlerDBusConnection->connect());
+// ASSERT_TRUE(interfaceHandlerDBusConnection->requestServiceNameAndBlock(busName));
+//
+// auto interfaceHandlerToken = interfaceHandlerDBusConnection->registerInterfaceHandler(
+// objectPath,
+// interfaceName,
+// std::bind(&DBusConnectionTest::onInterfaceHandlerDBusMessageReply,
+// this,
+// std::placeholders::_1,
+// interfaceHandlerDBusConnection));
+//
+//
+// ASSERT_TRUE(dbusConnection_->connect());
+//
+// for (uint32_t expectedDBusMessageCount = 1; expectedDBusMessageCount <= 10; expectedDBusMessageCount++) {
+// auto dbusMessageCall = common::api::dbus::DBusMessage::createMethodCall(
+// busName,
+// objectPath,
+// interfaceName,
+// methodName,
+// "si");
+// ASSERT_TRUE(dbusMessageCall);
+//
+// common::api::dbus::DBusOutputMessageStream dbusOutputMessageStream(dbusMessageCall);
+// dbusOutputMessageStream << "This is a test async call"
+// << expectedDBusMessageCount;
+// dbusOutputMessageStream.flush();
+//
+// dbusConnection_->sendDBusMessageWithReplyAsync(
+// dbusMessageCall,
+// std::bind(&DBusConnectionTest::onDBusMessageHandler, this, std::placeholders::_1));
+//
+// for (int i = 0; i < 10 && interfaceHandlerDBusMessageCount_ < expectedDBusMessageCount; i++)
+// interfaceHandlerDBusConnection->readWriteDispatch(100);
+//
+// ASSERT_EQ(interfaceHandlerDBusMessageCount_, expectedDBusMessageCount);
+// ASSERT_DBUSMESSAGE_EQ(dbusMessageCall, interfaceHandlerDBusMessage_);
+//
+// for (int i = 0; i < 10 && dbusMessageHandlerCount_ < expectedDBusMessageCount; i++)
+// dbusConnection_->readWriteDispatch(100);
+//
+// ASSERT_EQ(dbusMessageHandlerCount_, expectedDBusMessageCount);
+// ASSERT_DBUSMESSAGE_EQ(dbusMessageHandlerDBusMessage_, interfaceHandlerDBusMessageReply_);
+// }
+//
+// dbusConnection_->disconnect();
+//
+//
+// interfaceHandlerDBusConnection->unregisterInterfaceHandler(interfaceHandlerToken);
+//
+// ASSERT_TRUE(interfaceHandlerDBusConnection->releaseServiceName(busName));
+// interfaceHandlerDBusConnection->disconnect();
+//}
+
+
+void dispatch(::DBusConnection* libdbusConnection) {
+ dbus_bool_t success = TRUE;
+ while(success) {
+ success = dbus_connection_read_write_dispatch(libdbusConnection, 1);
+ }