57 lines
1.4 KiB
Python
57 lines
1.4 KiB
Python
|
import unittest
|
||
|
from slixmpp import Iq
|
||
|
from slixmpp.test import SlixTest
|
||
|
import slixmpp.plugins.xep_0191 as xep_0191
|
||
|
import slixmpp.plugins.xep_0377 as xep_0377
|
||
|
from slixmpp.xmlstream import register_stanza_plugin
|
||
|
|
||
|
|
||
|
class TestSpamReporting(SlixTest):
|
||
|
|
||
|
def setUp(self):
|
||
|
register_stanza_plugin(Iq, xep_0191.Block)
|
||
|
register_stanza_plugin(
|
||
|
xep_0191.Block,
|
||
|
xep_0377.Report,
|
||
|
)
|
||
|
register_stanza_plugin(
|
||
|
xep_0377.Report,
|
||
|
xep_0377.Text,
|
||
|
)
|
||
|
|
||
|
def testCreateReport(self):
|
||
|
report = """
|
||
|
<iq type="set">
|
||
|
<block xmlns="urn:xmpp:blocking">
|
||
|
<report xmlns="urn:xmpp:reporting:0">
|
||
|
<spam/>
|
||
|
</report>
|
||
|
</block>
|
||
|
</iq>
|
||
|
"""
|
||
|
|
||
|
iq = self.Iq()
|
||
|
iq['type'] = 'set'
|
||
|
iq['block']['report']['spam'] = True
|
||
|
|
||
|
self.check(iq, report)
|
||
|
|
||
|
def testEnforceOnlyOneSubElement(self):
|
||
|
report = """
|
||
|
<iq type="set">
|
||
|
<block xmlns="urn:xmpp:blocking">
|
||
|
<report xmlns="urn:xmpp:reporting:0">
|
||
|
<abuse/>
|
||
|
</report>
|
||
|
</block>
|
||
|
</iq>
|
||
|
"""
|
||
|
|
||
|
iq = self.Iq()
|
||
|
iq['type'] = 'set'
|
||
|
iq['block']['report']['spam'] = True
|
||
|
iq['block']['report']['abuse'] = True
|
||
|
self.check(iq, report)
|
||
|
|
||
|
suite = unittest.TestLoader().loadTestsFromTestCase(TestSpamReporting)
|