commit 0beeb12570a992daacd57fe0067869462a9d3e8a
Author: Radek Novacek <rnovacek(a)redhat.com>
Date: Tue Jul 1 10:57:21 2014 +0200
fix password test
Mock checking if it run as root
password/__init__.py | 6 +++++-
tests/test_password.py | 3 ++-
2 files changed, 7 insertions(+), 2 deletions(-)
---
diff --git a/password/__init__.py b/password/__init__.py
index 1c5e867..7e7cf98 100644
--- a/password/__init__.py
+++ b/password/__init__.py
@@ -85,12 +85,16 @@ class Password(object):
raise InvalidKeyFile(str(e))
@classmethod
+ def _can_write(cls):
+ return os.getuid() == 0
+
+ @classmethod
def _read_or_generate_key_iv(cls):
try:
return cls._read_key_iv()
except InvalidKeyFile:
pass
- if os.getuid() != 0:
+ if not cls._can_write():
raise UnwrittableKeyFile("Only root can write keyfile")
key = hexlify(cls._generate_key())
iv = hexlify(cls._generate_key())
diff --git a/tests/test_password.py b/tests/test_password.py
index 177b18e..7396e80 100644
--- a/tests/test_password.py
+++ b/tests/test_password.py
@@ -21,6 +21,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
import os
import tempfile
from binascii import hexlify, unhexlify
+from mock import MagicMock
from base import unittest
@@ -51,9 +52,9 @@ class TestPassword(unittest.TestCase):
self.addCleanup(os.unlink, filename)
Password.KEYFILE = filename
pwd = "Test password"
+ Password._can_write = MagicMock(retun_value=True)
encrypted = Password.encrypt(pwd)
self.assertEqual(pwd, Password.decrypt(encrypted))
- self.assertEqual(os)
def testPad(self):
self.assertEqual(hexlify(Password._pad(unhexlify("00010203040506070809"))),
"00010203040506070809060606060606")
Show replies by date