[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [bridgedb/master] Add unittests for the bridgedb.crypto module.
commit c834082c59abe6ae6d2e065e1a5afac2d399a612
Author: Isis Lovecruft <isis@xxxxxxxxxxxxxx>
Date: Tue Nov 19 03:53:56 2013 +0000
Add unittests for the bridgedb.crypto module.
---
lib/bridgedb/test/test_crypto.py | 57 ++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/lib/bridgedb/test/test_crypto.py b/lib/bridgedb/test/test_crypto.py
new file mode 100644
index 0000000..2e6894e
--- /dev/null
+++ b/lib/bridgedb/test/test_crypto.py
@@ -0,0 +1,57 @@
+# -*- coding: utf-8 -*-
+#
+# This file is part of BridgeDB, a Tor bridge distribution system.
+#
+# :authors: Isis Lovecruft 0xA3ADB67A2CDB8B35 <isis@xxxxxxxxxxxxxx>
+# please also see AUTHORS file
+# :copyright: (c) 2013, Isis Lovecruft
+# (c) 2007-2013, The Tor Project, Inc.
+# (c) 2007-2013, all entities within the AUTHORS file
+# :license: 3-Clause BSD, see LICENSE for licensing information
+
+"""Unittests for :mod:`bridgedb.crypto`."""
+
+from __future__ import print_function
+from __future__ import unicode_literals
+
+import os
+
+from twisted.trial import unittest
+from bridgedb import crypto
+
+
+SEKRIT_KEY = b'v\x16Xm\xfc\x1b}\x063\x85\xaa\xa5\xf9\xad\x18\xb2P\x93\xc6k\xf9'
+SEKRIT_KEY += b'\x8bI\xd9\xb8xw\xf5\xec\x1b\x7f\xa8'
+
+
+class CryptoTest(unittest.TestCase):
+
+ def test_getKey_nokey(self):
+ """Test retrieving the secret_key from an empty file."""
+ filename = os.path.join(os.getcwd(), 'sekrit')
+ key = crypto.getKey(filename)
+ self.failUnlessIsInstance(key, basestring,
+ "key isn't a string! type=%r" % type(key))
+
+ def test_getKey_tmpfile(self):
+ """Test retrieving the secret_key from a new tmpfile."""
+ filename = self.mktemp()
+ key = crypto.getKey(filename)
+ self.failUnlessIsInstance(key, basestring,
+ "key isn't a string! type=%r" % type(key))
+
+ def test_getKey_keyexists(self):
+ """Write the example key to a file and test reading it back."""
+ filename = self.mktemp()
+ with open(filename, 'wb') as fh:
+ fh.write(SEKRIT_KEY)
+ fh.flush()
+
+ key = crypto.getKey(filename)
+ self.failUnlessIsInstance(key, basestring,
+ "key isn't a string! type=%r" % type(key))
+ self.assertEqual(SEKRIT_KEY, key,
+ """The example key and the one read from file differ!
+ key (in hex): %s
+ SEKRIT_KEY (in hex): %s"""
+ % (key.encode('hex'), SEKRIT_KEY.encode('hex')))
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits