[next] telepathy-salut: constants, servicetest: partially resync with Gabble 0.99.6

Simon McVittie smcv at kemper.freedesktop.org
Mon Jan 13 05:10:38 PST 2014


Module: telepathy-salut
Branch: next
Commit: 1f3757e2bfcf78760d85a0692c3c5d6f76027e35
URL:    http://cgit.freedesktop.org/telepathy/telepathy-salut/commit/?id=1f3757e2bfcf78760d85a0692c3c5d6f76027e35

Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date:   Wed Jan  8 13:03:36 2014 +0000

constants, servicetest: partially resync with Gabble 0.99.6

Gabble uses telepathy-glib for sidecars whereas Salut doesn't yet, so
I didn't delete the 'Future' line from wrap_connection().

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=50093
Reviewed-by: Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>

---

 tests/twisted/constants.py   |   43 ++++++++++++++++++++++++++++++++++--------
 tests/twisted/servicetest.py |   38 ++++++++++++++++++++++++++++++++-----
 2 files changed, 68 insertions(+), 13 deletions(-)

diff --git a/tests/twisted/constants.py b/tests/twisted/constants.py
index a9181ac..8b428fa 100644
--- a/tests/twisted/constants.py
+++ b/tests/twisted/constants.py
@@ -33,8 +33,6 @@ CM = PREFIX + ".ConnectionManager"
 HT_NONE = 0
 HT_CONTACT = 1
 HT_ROOM = 2
-HT_LIST = 3
-HT_GROUP = 4
 
 CHANNEL = PREFIX + ".Channel"
 
@@ -53,6 +51,7 @@ CHANNEL_IFACE_SUBJECT = CHANNEL + '.Interface.Subject1'
 CHANNEL_IFACE_FILE_TRANSFER_METADATA = CHANNEL + '.Interface.FileTransfer.Metadata1'
 
 CHANNEL_TYPE_CALL = CHANNEL + ".Type.Call1"
+CHANNEL_TYPE_CONTACT_LIST = CHANNEL + ".Type.ContactList1"
 CHANNEL_TYPE_CONTACT_SEARCH = CHANNEL + ".Type.ContactSearch1"
 CHANNEL_TYPE_TEXT = CHANNEL + ".Type.Text"
 CHANNEL_TYPE_STREAM_TUBE = CHANNEL + ".Type.StreamTube1"
@@ -73,6 +72,15 @@ INITIATOR_HANDLE = CHANNEL + '.InitiatorHandle'
 INITIATOR_ID = CHANNEL + '.InitiatorID'
 INTERFACES = CHANNEL + '.Interfaces'
 
+CALL_CONTENTS = CHANNEL_TYPE_CALL + '.Contents'
+CALL_CALL_STATE_DETAILS = CHANNEL_TYPE_CALL + '.CallStateDetails'
+CALL_CALL_STATE = CHANNEL_TYPE_CALL + '.CallState'
+CALL_CALL_FLAGS = CHANNEL_TYPE_CALL + '.CallFlags'
+CALL_CALL_STATE_REASON = CHANNEL_TYPE_CALL + '.CallStateReason'
+CALL_HARDWARE_STREAMING = CHANNEL_TYPE_CALL + '.HardwareStreaming'
+CALL_CALL_MEMBERS = CHANNEL_TYPE_CALL + '.CallMembers'
+CALL_MEMBER_IDENTIFIERS = CHANNEL_TYPE_CALL + '.MemberIdentifiers'
+CALL_INITIAL_TRANSPORT = CHANNEL_TYPE_CALL + '.InitialTransport'
 CALL_INITIAL_AUDIO = CHANNEL_TYPE_CALL + '.InitialAudio'
 CALL_INITIAL_AUDIO_NAME = CHANNEL_TYPE_CALL + '.InitialAudioName'
 CALL_INITIAL_VIDEO = CHANNEL_TYPE_CALL + '.InitialVideo'
@@ -83,7 +91,7 @@ CALL_CONTENT = PREFIX + '.Call1.Content'
 CALL_CONTENT_IFACE_MEDIA = CALL_CONTENT + '.Interface.Media'
 CALL_CONTENT_IFACE_DTMF = CALL_CONTENT + '.Interface.DTMF1'
 
-CALL_CONTENT_MEDIADESCRIPTION = CALL_CONTENT + '.MediaDescription'
+CALL_CONTENT_MEDIA_DESCRIPTION = CALL_CONTENT + '.MediaDescription'
 
 CALL_STREAM = PREFIX + '.Call1.Stream'
 CALL_STREAM_IFACE_MEDIA = CALL_STREAM + '.Interface.Media'
@@ -182,6 +190,8 @@ CONN_IFACE_CONTACTS = CONN + '.Interface.Contacts'
 CONN_IFACE_CONTACT_CAPS = CONN + '.Interface.ContactCapabilities1'
 CONN_IFACE_CONTACT_INFO = CONN + ".Interface.ContactInfo1"
 CONN_IFACE_PRESENCE = CONN + '.Interface.Presence1'
+CONN_IFACE_RENAMING = CONN + '.Interface.Renaming1'
+CONN_IFACE_SIDECARS1 = CONN + '.Interface.Sidecars1'
 CONN_IFACE_REQUESTS = CONN + '.Interface.Requests'
 CONN_IFACE_LOCATION = CONN + '.Interface.Location1'
 CONN_IFACE_GABBLE_DECLOAK = CONN + '.Interface.Gabble.Decloak'
@@ -194,12 +204,18 @@ CONN_IFACE_CONTACT_BLOCKING = CONN + '.Interface.ContactBlocking1'
 CONN_IFACE_ADDRESSING = CONN + '.Interface.Addressing1'
 CONN_IFACE_SERVICE_POINT = CONN + '.Interface.ServicePoint1'
 
-ATTR_CONTACT_ID = CONN + '/contact-id'
+ATTR_ALIAS = CONN_IFACE_ALIASING + '/alias'
+ATTR_AVATAR_TOKEN = CONN_IFACE_AVATARS + '/token'
+ATTR_CLIENT_TYPES = CONN_IFACE_CLIENT_TYPES + '/client-types'
 ATTR_CONTACT_CAPABILITIES = CONN_IFACE_CONTACT_CAPS + '/capabilities'
+ATTR_CONTACT_ID = CONN + '/contact-id'
+ATTR_CONTACT_ID = CONN + '/contact-id'
+ATTR_CONTACT_INFO = CONN_IFACE_CONTACT_INFO + '/info'
+ATTR_GROUPS = CONN_IFACE_CONTACT_GROUPS + '/groups'
+ATTR_LOCATION = CONN_IFACE_LOCATION + '/location'
 ATTR_PRESENCE = CONN_IFACE_PRESENCE + '/presence'
-ATTR_SUBSCRIBE = CONN_IFACE_CONTACT_LIST + '/subscribe'
 ATTR_PUBLISH = CONN_IFACE_CONTACT_LIST + '/publish'
-ATTR_GROUPS = CONN_IFACE_CONTACT_GROUPS + '/groups'
+ATTR_SUBSCRIBE = CONN_IFACE_CONTACT_LIST + '/subscribe'
 
 STREAM_HANDLER = PREFIX + '.Media.StreamHandler'
 
@@ -325,7 +341,7 @@ FT_DATE = CHANNEL_TYPE_FILE_TRANSFER + '.Date'
 FT_AVAILABLE_SOCKET_TYPES = CHANNEL_TYPE_FILE_TRANSFER + '.AvailableSocketTypes'
 FT_TRANSFERRED_BYTES = CHANNEL_TYPE_FILE_TRANSFER + '.TransferredBytes'
 FT_INITIAL_OFFSET = CHANNEL_TYPE_FILE_TRANSFER + '.InitialOffset'
-FT_FILE_COLLECTION = CHANNEL_TYPE_FILE_TRANSFER + '.FUTURE.FileCollection'
+FT_FILE_COLLECTION = CHANNEL_TYPE_FILE_TRANSFER + '.FileCollection'
 FT_URI = CHANNEL_TYPE_FILE_TRANSFER + '.URI'
 FT_SERVICE_NAME = CHANNEL_IFACE_FILE_TRANSFER_METADATA + '.ServiceName'
 FT_METADATA = CHANNEL_IFACE_FILE_TRANSFER_METADATA + '.Metadata'
@@ -458,6 +474,12 @@ MT_NOTICE = 2
 MT_AUTO_REPLY = 3
 MT_DELIVERY_REPORT = 4
 
+class MessageFlag(object):
+    TRUNCATED = 1
+    NON_TEXT_CONTENT = 2
+    SCROLLBACK = 4
+    RESCUED = 8
+
 class SendError(object):
     UNKNOWN = 0
     OFFLINE = 1
@@ -522,7 +544,7 @@ SUBJECT = CHANNEL_IFACE_ROOM + '.Subject'
 SUBJECT_PRESENT = 1
 SUBJECT_CAN_SET = 2
 
-DEBUG_IFACE = PREFIX + '.Debug'
+DEBUG_IFACE = PREFIX + '.Debug1'
 DEBUG_PATH = PATH_PREFIX + '/debug'
 
 SERVICE_POINT_TYPE_NONE = 0
@@ -551,12 +573,17 @@ CR = PREFIX + '.ChannelRequest'
 CDO = PREFIX + '.ChannelDispatchOperation'
 
 CD = PREFIX + '.ChannelDispatcher'
+CD_IFACE_MESSAGES1 = PREFIX + '.ChannelDispatcher.Interface.Messages1'
 CD_IFACE_OP_LIST = PREFIX + '.ChannelDispatcher.Interface.OperationList1'
 CD_PATH = PATH_PREFIX + '/ChannelDispatcher'
 
 MC = PREFIX + '.MissionControl6'
 MC_PATH = PATH_PREFIX + '/MissionControl6'
+DTMF_CURRENTLY_SENDING_TONES = CHANNEL_IFACE_DTMF + '.CurrentlySendingTones'
+DTMF_INITIAL_TONES = CHANNEL_IFACE_DTMF + '.InitialTones'
+DTMF_DEFERRED_TONES = CHANNEL_IFACE_DTMF + '.DeferredTones'
 
+TESTS = PREFIX + ".Tests"
 TESTDOT = PREFIX + ".Test."
 TESTSLASH = PATH_PREFIX + "/Test/"
 
diff --git a/tests/twisted/servicetest.py b/tests/twisted/servicetest.py
index 8a813f5..8d07116 100644
--- a/tests/twisted/servicetest.py
+++ b/tests/twisted/servicetest.py
@@ -197,7 +197,14 @@ class BaseEventQueue:
         t = time.time()
 
         while True:
-            event = self.wait([pattern.subqueue])
+            try:
+                event = self.wait([pattern.subqueue])
+            except TimeoutError:
+                self.log('timeout')
+                self.log('still expecting:')
+                self.log(' - %r' % pattern)
+                raise
+
             self._check_forbidden(event)
 
             if pattern.match(event):
@@ -575,8 +582,7 @@ def sync_dbus(bus, q, proxy):
     # dbus-glib and thence the application, which means that Ping()ing the
     # application doesn't ensure that it's processed all D-Bus messages prior
     # to our ping.
-    call_async(q, dbus.Interface(proxy, 'org.freedesktop.Telepathy.Tests'),
-        'DummySyncDBus')
+    call_async(q, dbus.Interface(proxy, cs.TESTS), 'DummySyncDBus')
     q.expect('dbus-error', method='DummySyncDBus')
 
 class ProxyWrapper:
@@ -632,14 +638,33 @@ def wrap_connection(conn):
          ('MailNotification', cs.CONN_IFACE_MAIL_NOTIFICATION),
          ('ContactList', cs.CONN_IFACE_CONTACT_LIST),
          ('ContactGroups', cs.CONN_IFACE_CONTACT_GROUPS),
+         ('ContactBlocking', cs.CONN_IFACE_CONTACT_BLOCKING),
          ('PowerSaving', cs.CONN_IFACE_POWER_SAVING),
          ('Addressing', cs.CONN_IFACE_ADDRESSING),
+         ('ClientTypes', cs.CONN_IFACE_CLIENT_TYPES),
+         ('Renaming', cs.CONN_IFACE_RENAMING),
+         ('Sidecars1', cs.CONN_IFACE_SIDECARS1),
         ]))
 
+class ChannelWrapper(ProxyWrapper):
+    def send_msg_sync(self, txt):
+        message = [
+                { 'message-type': cs.MT_NORMAL, },
+                { 'content-type': 'text/plain',
+                  'content': txt
+                }]
+        self.Text.SendMessage(message, 0)
+
 def wrap_channel(chan, type_, extra=None):
     interfaces = {
         type_: tp_name_prefix + '.Channel.Type.' + type_,
+        'Channel': cs.CHANNEL,
         'Group': cs.CHANNEL_IFACE_GROUP,
+        'Hold': cs.CHANNEL_IFACE_HOLD,
+        'RoomConfig1': cs.CHANNEL_IFACE_ROOM_CONFIG,
+        'ChatState': cs.CHANNEL_IFACE_CHAT_STATE,
+        'Destroyable': cs.CHANNEL_IFACE_DESTROYABLE,
+        'Password': cs.CHANNEL_IFACE_PASSWORD,
         }
 
     if extra:
@@ -647,11 +672,14 @@ def wrap_channel(chan, type_, extra=None):
             (name, tp_name_prefix + '.Channel.Interface.' + name)
             for name in extra]))
 
-    return ProxyWrapper(chan, tp_name_prefix + '.Channel', interfaces)
+    return ChannelWrapper(chan, tp_name_prefix + '.Channel', interfaces)
 
 
 def wrap_content(chan, extra=None):
-    interfaces = { }
+    interfaces = {
+        'DTMF': cs.CALL_CONTENT_IFACE_DTMF,
+        'Media': cs.CALL_CONTENT_IFACE_MEDIA,
+        }
 
     if extra:
         interfaces.update(dict([



More information about the telepathy-commits mailing list