summaryrefslogtreecommitdiff
path: root/tests/test_scrypt_py2x.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_scrypt_py2x.py')
-rw-r--r--tests/test_scrypt_py2x.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/test_scrypt_py2x.py b/tests/test_scrypt_py2x.py
new file mode 100644
index 0000000..811cf37
--- /dev/null
+++ b/tests/test_scrypt_py2x.py
@@ -0,0 +1,51 @@
+# -*- coding: utf-8 -*-
+
+from sys import version_info
+
+if ((version_info > (3, 2, 0, 'final', 0)) or
+ (version_info > (2, 7, 0, 'final', 0) and version_info < (3, 0, 0, 'final', 0))):
+ import unittest as testm
+else:
+ try:
+ import unittest2 as testm
+ except ImportError:
+ print("Please install unittest2 to run the test suite")
+ exit(-1)
+
+import scrypt
+
+
+@testm.skipIf(version_info > (3, 0, 0, 'final', 0), "Tests for Python 2 only")
+class TestScryptForPython2(testm.TestCase):
+
+ def setUp(self):
+ self.input = "message"
+ self.password = "password"
+ self.unicode_text = '\xe1\x93\x84\xe1\x93\x87\xe1\x95\x97\xe1\x92\xbb\xe1\x92\xa5\xe1\x90\x85\xe1\x91\xa6'.decode('utf-8')
+
+ def test_py2_encrypt_fails_on_unicode_input(self):
+ """Test Py2 encrypt raises TypeError when Unicode input passed"""
+ self.assertRaises(TypeError, lambda: scrypt.encrypt(self.unicode_text, self.password))
+
+ def test_py2_encrypt_fails_on_unicode_password(self):
+ """Test Py2 encrypt raises TypeError when Unicode password passed"""
+ self.assertRaises(TypeError, lambda: scrypt.encrypt(self.input, self.unicode_text))
+
+ def test_py2_encrypt_returns_string(self):
+ """Test Py2 encrypt returns str"""
+ e = scrypt.encrypt(self.input, self.password, 0.1)
+ self.assertTrue(isinstance(e, str))
+
+ def test_py2_decrypt_returns_string(self):
+ """Test Py2 decrypt returns str"""
+ s = scrypt.encrypt(self.input, self.password, 0.1)
+ m = scrypt.decrypt(s, self.password)
+ self.assertTrue(isinstance(m, str))
+
+ def test_py2_hash_returns_string(self):
+ """Test Py2 hash return str"""
+ h = scrypt.hash(self.input, self.password)
+ self.assertTrue(isinstance(h, str))
+
+if __name__ == "__main__":
+ testm.main()