summaryrefslogtreecommitdiff
path: root/tests/test_stanza_xep_0300.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_stanza_xep_0300.py')
-rw-r--r--tests/test_stanza_xep_0300.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/test_stanza_xep_0300.py b/tests/test_stanza_xep_0300.py
new file mode 100644
index 00000000..5ffd8e3b
--- /dev/null
+++ b/tests/test_stanza_xep_0300.py
@@ -0,0 +1,57 @@
+"""
+ Slixmpp: The Slick XMPP Library
+ Copyright (C) 2017 Emmanuel Gil Peyrot
+ This file is part of Slixmpp.
+
+ See the file LICENSE for copying permission.
+"""
+
+import unittest
+from slixmpp import Iq
+from slixmpp.test import SlixTest
+from slixmpp.plugins.xep_0300 import Hash
+from slixmpp.xmlstream import register_stanza_plugin
+
+
+class TestHash(SlixTest):
+
+ def setUp(self):
+ register_stanza_plugin(Iq, Hash)
+
+ def testSimpleElement(self):
+ """Test that the element is created correctly."""
+ iq = Iq()
+ iq['type'] = 'set'
+ iq['hash']['algo'] = 'sha-256'
+ iq['hash']['value'] = 'EQgS9n+h4fARf289cCQcGkKnsHcRqTwkd8xRbZBC+ds='
+
+ self.check(iq, """
+ <iq type="set">
+ <hash xmlns="urn:xmpp:hashes:2" algo="sha-256">EQgS9n+h4fARf289cCQcGkKnsHcRqTwkd8xRbZBC+ds=</hash>
+ </iq>
+ """)
+
+ def testInvalidAlgo(self):
+ """Test that invalid algos raise an exception."""
+ iq = Iq()
+ iq['type'] = 'set'
+ try:
+ iq['hash']['algo'] = 'coucou'
+ except ValueError:
+ pass
+ else:
+ raise self.failureException
+
+ #def testDisabledAlgo(self):
+ # """Test that disabled algos aren’t used."""
+ # iq = Iq()
+ # iq['type'] = 'set'
+ # try:
+ # iq['hash']['algo'] = 'sha-1'
+ # except ValueError:
+ # pass
+ # else:
+ # raise self.failureException
+
+
+suite = unittest.TestLoader().loadTestsFromTestCase(TestHash)