summaryrefslogtreecommitdiff
path: root/tests/test_stanza_xep_0439.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_stanza_xep_0439.py')
-rw-r--r--tests/test_stanza_xep_0439.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/test_stanza_xep_0439.py b/tests/test_stanza_xep_0439.py
new file mode 100644
index 00000000..fbd3aa47
--- /dev/null
+++ b/tests/test_stanza_xep_0439.py
@@ -0,0 +1,57 @@
+import unittest
+from slixmpp import Message
+from slixmpp.test import SlixTest
+from slixmpp.plugins.xep_0439 import stanza
+
+
+class TestQuickResponse(SlixTest):
+
+ def setUp(self):
+ stanza.register_plugins()
+
+ def testResponse(self):
+ message = Message()
+ message['body'] = 'Reply 1 or 2?'
+ for (value, label) in [('1', 'Rep 1'), ('2', 'Rep 2')]:
+ rep = stanza.Response()
+ rep['value'] = value
+ rep['label'] = label
+ message.append(rep)
+
+ self.check(message, """
+<message>
+ <body>Reply 1 or 2?</body>
+ <response xmlns="urn:xmpp:tmp:quick-response" value="1" label="Rep 1" />
+ <response xmlns="urn:xmpp:tmp:quick-response" value="2" label="Rep 2" />
+</message>
+ """, use_values=False)
+
+ def testAction(self):
+ message = Message()
+ message['body'] = 'action 1 or 2?'
+ for (id_, label) in [('1', 'action 1'), ('2', 'action 2')]:
+ act = stanza.Action()
+ act['id'] = id_
+ act['label'] = label
+ message.append(act)
+
+ self.check(message, """
+<message>
+ <body>action 1 or 2?</body>
+ <action xmlns="urn:xmpp:tmp:quick-response" id="1" label="action 1" />
+ <action xmlns="urn:xmpp:tmp:quick-response" id="2" label="action 2" />
+</message>
+ """, use_values=False)
+
+ def testActionSelected(self):
+ message = Message()
+ message['action_selected']['id'] = 'act1'
+
+ self.check(message, """
+<message>
+ <action-selected xmlns="urn:xmpp:tmp:quick-response" id="act1" />
+</message>
+ """, use_values=False)
+
+
+suite = unittest.TestLoader().loadTestsFromTestCase(TestQuickResponse)