Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/python-nbxmpp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPhilipp Hörist <philipp@hoerist.com>2018-11-25 21:48:39 +0300
committerPhilipp Hörist <philipp@hoerist.com>2018-12-09 20:43:48 +0300
commitf2a203387891455c052d44f8b1ceae711773cb81 (patch)
tree414c49df7b5e0c7dc6390f98e72de36577af9dcb /test
parentc58e9751d779d09cb3460db03dd21a94553f6398 (diff)
Rewrite auth module from scratch
- Move NonBlockingBind to own module - Add SCRAM-SHA-256 and SCRAM-SHA-256-PLUS support - Remove DIGEST-MD5 and X-MESSENGER-OAUTH2 support
Diffstat (limited to 'test')
-rw-r--r--test/unit/test_sasl_scram.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/unit/test_sasl_scram.py b/test/unit/test_sasl_scram.py
new file mode 100644
index 0000000..78124eb
--- /dev/null
+++ b/test/unit/test_sasl_scram.py
@@ -0,0 +1,28 @@
+import unittest
+from unittest.mock import Mock
+
+from nbxmpp.auth import SCRAM_SHA_1
+
+
+class SCRAM(unittest.TestCase):
+ def setUp(self):
+ self.con = Mock()
+ self._method = SCRAM_SHA_1(self.con, None)
+ self._method._client_nonce = '4691d8f313ddb02d2eed511d5617a5c6f72efa671613c598'
+
+ self._username = 'philw'
+ self._password = 'testtest123'
+
+ self.auth = '<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1">eSwsbj1waGlsdyxyPTQ2OTFkOGYzMTNkZGIwMmQyZWVkNTExZDU2MTdhNWM2ZjcyZWZhNjcxNjEzYzU5OA==</auth>'
+ self.challenge = 'cj00NjkxZDhmMzEzZGRiMDJkMmVlZDUxMWQ1NjE3YTVjNmY3MmVmYTY3MTYxM2M1OThDaEJpZGEyb0NJeks5S25QdGsxSUZnPT0scz1iZFkrbkRjdUhuVGFtNzgyaG9neHNnPT0saT00MDk2'
+ self.response = '<response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">Yz1lU3dzLHI9NDY5MWQ4ZjMxM2RkYjAyZDJlZWQ1MTFkNTYxN2E1YzZmNzJlZmE2NzE2MTNjNTk4Q2hCaWRhMm9DSXpLOUtuUHRrMUlGZz09LHA9NUd5a09hWCtSWlllR3E2L2U3YTE2UDVBeFVrPQ==</response>'
+ self.success = 'dj1qMGtuNlVvT1FjTmJ0MGFlYnEwV1QzYWNkSW89'
+
+ def test_auth(self):
+ self._method.initiate(self._username, self._password)
+ self.assertEqual(self.auth, str(self.con.send.call_args[0][0]))
+
+ self._method.response(self.challenge)
+ self.assertEqual(self.response, str(self.con.send.call_args[0][0]))
+
+ self._method.success(self.success)