[telepathy-qt4/master] client-handler test: Added test to HandleChannels.

Andre Moreira Magalhaes (andrunko) andre.magalhaes at collabora.co.uk
Tue May 5 11:44:41 PDT 2009


---
 tests/dbus/client-handler.cpp |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/tests/dbus/client-handler.cpp b/tests/dbus/client-handler.cpp
index 4f5cc57..66f3bfe 100644
--- a/tests/dbus/client-handler.cpp
+++ b/tests/dbus/client-handler.cpp
@@ -168,6 +168,7 @@ public:
         mHandleChannelsUserActionTime = userActionTime;
         mHandleChannelsHandlerInfo = handlerInfo;
         mHandledChannels.append(channels);
+        emit handleChannelsFinished();
         operation->setFinished();
     }
 
@@ -203,6 +204,7 @@ Q_SIGNALS:
     void requestAdded(const Tp::ChannelRequestPtr &request);
     void requestRemoved(const Tp::ChannelRequestPtr &request,
             const QString &errorName, const QString &errorMessage);
+    void handleChannelsFinished();
 };
 
 class TestClientHandler : public Test
@@ -225,6 +227,7 @@ private Q_SLOTS:
 
     void testRegister();
     void testRequests();
+    void testHandleChannels();
 
     void cleanup();
     void cleanupTestCase();
@@ -248,6 +251,7 @@ private:
     SharedPtr<MyHandler> mHandler;
     QString mHandlerBusName;
     QString mHandlerPath;
+    uint mUserActionTime;
 };
 
 void TestClientHandler::expectRequestChange()
@@ -344,9 +348,9 @@ void TestClientHandler::initTestCase()
     mChannelRequestBusName = "org.freedesktop.Telepathy.ChannelDispatcher";
     mChannelRequestPath = "/org/freedesktop/Telepathy/ChannelRequest/Request1";
     QObject *request = new QObject(this);
-    uint userActionTime = QDateTime::currentDateTime().toTime_t();
+    mUserActionTime = QDateTime::currentDateTime().toTime_t();
     new ChannelRequestAdaptor(QDBusObjectPath(mAccount->objectPath()),
-            userActionTime,
+            mUserActionTime,
             QString(),
             QualifiedPropertyValueMapList(),
             QStringList(),
@@ -417,6 +421,34 @@ void TestClientHandler::testRequests()
              QString("Not available"));
 }
 
+void TestClientHandler::testHandleChannels()
+{
+    QDBusConnection bus = mClientRegistrar->dbusConnection();
+    ClientHandlerInterface *handlerIface = new ClientHandlerInterface(bus,
+            mHandlerBusName, mHandlerPath, this);
+
+    connect(mHandler.data(),
+            SIGNAL(handleChannelsFinished()),
+            SLOT(expectRequestChange()));
+    ChannelDetailsList channelDetailsList;
+    ChannelDetails channelDetails = { QDBusObjectPath(mTextChanPath), QVariantMap() };
+    channelDetailsList.append(channelDetails);
+    handlerIface->HandleChannels(QDBusObjectPath(mAccount->objectPath()),
+            QDBusObjectPath(mConn->objectPath()),
+            channelDetailsList,
+            ObjectPathList() << QDBusObjectPath(mChannelRequestPath),
+            mUserActionTime,
+            QVariantMap());
+    if (!mHandler->mHandleChannelsAccount) {
+        QCOMPARE(mLoop->exec(), 0);
+    }
+
+    QCOMPARE(mHandler->mHandleChannelsAccount->objectPath(), mAccount->objectPath());
+    QCOMPARE(mHandler->mHandleChannelsConnection->objectPath(), mConn->objectPath());
+    QCOMPARE(mHandler->mHandleChannelsChannels.first()->objectPath(), mTextChanPath);
+    QCOMPARE(mHandler->mHandleChannelsRequestsSatisfied.first()->objectPath(), mChannelRequestPath);
+    QCOMPARE(mHandler->mHandleChannelsUserActionTime.toTime_t(), mUserActionTime);
+}
 void TestClientHandler::cleanup()
 {
     cleanupImpl();
-- 
1.5.6.5




More information about the telepathy-commits mailing list