telepathy-rakia: Add test for remote addition of m=

Olivier Crête tester at kemper.freedesktop.org
Tue May 8 10:03:03 PDT 2012


Module: telepathy-rakia
Branch: master
Commit: 35af7caa265fba5000025163425a6f1f0186a896
URL:    http://cgit.freedesktop.org/telepathy/telepathy-rakia/commit/?id=35af7caa265fba5000025163425a6f1f0186a896

Author: Olivier Crête <olivier.crete at collabora.com>
Date:   Thu Mar 15 22:02:26 2012 -0400

Add test for remote addition of m=

---

 tests/twisted/voip/add-remove-content.py |   50 ++++++++++++++++++++++++++++-
 tests/twisted/voip/calltest.py           |    2 +-
 2 files changed, 49 insertions(+), 3 deletions(-)

diff --git a/tests/twisted/voip/add-remove-content.py b/tests/twisted/voip/add-remove-content.py
index d72102e..21f9088 100644
--- a/tests/twisted/voip/add-remove-content.py
+++ b/tests/twisted/voip/add-remove-content.py
@@ -147,14 +147,61 @@ class AddRemoveContent(calltest.CallTest):
 
         self.q.expect('sip-ack', cseq=ack_cseq)
 
+    def remote_add(self):
+        self.add_to_medias('audio')
+
+        self.context.reinvite(self.medias)
+
+        ca = self.q.expect('dbus-signal', signal='ContentAdded')
+
+        content = self.add_content(ca.args[0], incoming=True)
+
+        self.add_candidates(content.stream)
+
+        content.stream.Media.CompleteReceivingStateChange(
+            cs.CALL_STREAM_FLOW_STATE_STARTED)
+
+        o = self.q.expect_many(
+            EventPattern('sip-response', code=200),
+            EventPattern('dbus-signal', signal='ReceivingStateChanged',
+                         args=[cs.CALL_STREAM_FLOW_STATE_STARTED],
+                         path=content.stream.__dbus_object_path__))
+
+        acc = o[0]
+        self.context.check_call_sdp(acc.sip_message.body, self.medias)
+        self.context.ack(acc.sip_message)
+
+        return content
+       
+
+    def remote_remove(self, index):
+        self.medias[index] = (None, None)
+
+        self.context.reinvite(self.medias)
+
+        ca = self.q.expect('dbus-signal', signal='ContentRemoved')
+
+        o = self.q.expect_many(
+            EventPattern('sip-response', code=200))
+
+
+        acc = o[0]
+        self.context.check_call_sdp(acc.sip_message.body, self.medias)
+        self.context.ack(acc.sip_message)       
+
 
     def during_call(self):
         self.add_content_succesful()
         self.add_content_succesful()
         self.add_content_rejected()
         self.add_content_succesful()
-        self.remove_content_successful(0)
+        self.remove_content_successful(1)
         self.add_content_succesful()
+        self.remote_add()
+        self.remote_remove(-1)
+        self.add_content_succesful()
+        self.remote_remove(-3)
+
 
         return calltest.CallTest.during_call(self)
 
@@ -163,4 +210,3 @@ class AddRemoveContent(calltest.CallTest):
 
 if __name__ == '__main__':
     calltest.run(klass=AddRemoveContent)
-    
diff --git a/tests/twisted/voip/calltest.py b/tests/twisted/voip/calltest.py
index e24ff55..9af078c 100644
--- a/tests/twisted/voip/calltest.py
+++ b/tests/twisted/voip/calltest.py
@@ -151,7 +151,7 @@ class CallTest:
         else:
             assert False
 
-    def add_content(self, content_path, initial, incoming = None):
+    def add_content(self, content_path, initial = False, incoming = None):
 
         if initial:
             incoming = self.incoming



More information about the telepathy-commits mailing list