mirror of
https://github.com/correl/SleekXMPP.git
synced 2024-11-30 11:09:56 +00:00
Test publishing multiple items, and with options.
This commit is contained in:
parent
46f23f7348
commit
a1bbb719e1
1 changed files with 98 additions and 2 deletions
|
@ -471,11 +471,107 @@ class TestStreamPubsub(SleekTest):
|
||||||
|
|
||||||
def testPublishMulti(self):
|
def testPublishMulti(self):
|
||||||
"""Test publishing multiple items."""
|
"""Test publishing multiple items."""
|
||||||
pass
|
payload1 = AtomEntry()
|
||||||
|
payload1['title'] = 'Test 1'
|
||||||
|
|
||||||
|
payload2 = AtomEntry()
|
||||||
|
payload2['title'] = 'Test 2'
|
||||||
|
|
||||||
|
register_stanza_plugin(self.xmpp['xep_0060'].stanza.Item, AtomEntry)
|
||||||
|
|
||||||
|
t = threading.Thread(name='publish_single',
|
||||||
|
target=self.xmpp['xep_0060'].publish,
|
||||||
|
args=('pubsub.example.com', 'somenode'),
|
||||||
|
kwargs={'items': [('ID1', payload1),
|
||||||
|
('ID2', payload2)]})
|
||||||
|
t.start()
|
||||||
|
|
||||||
|
self.send("""
|
||||||
|
<iq type="set" id="1" to="pubsub.example.com">
|
||||||
|
<pubsub xmlns="http://jabber.org/protocol/pubsub">
|
||||||
|
<publish node="somenode">
|
||||||
|
<item id="ID1">
|
||||||
|
<entry xmlns="http://www.w3.org/2005/Atom">
|
||||||
|
<title>Test 1</title>
|
||||||
|
</entry>
|
||||||
|
</item>
|
||||||
|
<item id="ID2">
|
||||||
|
<entry xmlns="http://www.w3.org/2005/Atom">
|
||||||
|
<title>Test 2</title>
|
||||||
|
</entry>
|
||||||
|
</item>
|
||||||
|
</publish>
|
||||||
|
</pubsub>
|
||||||
|
</iq>
|
||||||
|
""", use_values=False)
|
||||||
|
|
||||||
|
self.recv("""
|
||||||
|
<iq type="result" id="1"
|
||||||
|
to="tester@localhost" from="pubsub.example.com" />
|
||||||
|
""")
|
||||||
|
|
||||||
|
t.join()
|
||||||
|
|
||||||
def testPublishMultiOptions(self):
|
def testPublishMultiOptions(self):
|
||||||
"""Test publishing multiple items, with options."""
|
"""Test publishing multiple items, with options."""
|
||||||
pass
|
payload1 = AtomEntry()
|
||||||
|
payload1['title'] = 'Test 1'
|
||||||
|
|
||||||
|
payload2 = AtomEntry()
|
||||||
|
payload2['title'] = 'Test 2'
|
||||||
|
|
||||||
|
register_stanza_plugin(self.xmpp['xep_0060'].stanza.Item, AtomEntry)
|
||||||
|
|
||||||
|
options = self.xmpp['xep_0004'].make_form()
|
||||||
|
options.add_field(var='FORM_TYPE', ftype='hidden',
|
||||||
|
value='http://jabber.org/protocol/pubsub#publish-options')
|
||||||
|
options.add_field(var='pubsub#access_model', ftype='text-single',
|
||||||
|
value='presence')
|
||||||
|
options['type'] = 'submit'
|
||||||
|
|
||||||
|
t = threading.Thread(name='publish_single',
|
||||||
|
target=self.xmpp['xep_0060'].publish,
|
||||||
|
args=('pubsub.example.com', 'somenode'),
|
||||||
|
kwargs={'items': [('ID1', payload1),
|
||||||
|
('ID2', payload2)],
|
||||||
|
'options': options})
|
||||||
|
t.start()
|
||||||
|
|
||||||
|
self.send("""
|
||||||
|
<iq type="set" id="1" to="pubsub.example.com">
|
||||||
|
<pubsub xmlns="http://jabber.org/protocol/pubsub">
|
||||||
|
<publish node="somenode">
|
||||||
|
<item id="ID1">
|
||||||
|
<entry xmlns="http://www.w3.org/2005/Atom">
|
||||||
|
<title>Test 1</title>
|
||||||
|
</entry>
|
||||||
|
</item>
|
||||||
|
<item id="ID2">
|
||||||
|
<entry xmlns="http://www.w3.org/2005/Atom">
|
||||||
|
<title>Test 2</title>
|
||||||
|
</entry>
|
||||||
|
</item>
|
||||||
|
</publish>
|
||||||
|
<publish-options>
|
||||||
|
<x xmlns="jabber:x:data" type="submit">
|
||||||
|
<field var="FORM_TYPE">
|
||||||
|
<value>http://jabber.org/protocol/pubsub#publish-options</value>
|
||||||
|
</field>
|
||||||
|
<field var="pubsub#access_model">
|
||||||
|
<value>presence</value>
|
||||||
|
</field>
|
||||||
|
</x>
|
||||||
|
</publish-options>
|
||||||
|
</pubsub>
|
||||||
|
</iq>
|
||||||
|
""", use_values=False)
|
||||||
|
|
||||||
|
self.recv("""
|
||||||
|
<iq type="result" id="1"
|
||||||
|
to="tester@localhost" from="pubsub.example.com" />
|
||||||
|
""")
|
||||||
|
|
||||||
|
t.join()
|
||||||
|
|
||||||
def testRetract(self):
|
def testRetract(self):
|
||||||
"""Test deleting an item."""
|
"""Test deleting an item."""
|
||||||
|
|
Loading…
Reference in a new issue