/usr/lib/python2.7/dist-packages/keyring/tests/backends/test_multi.py is in python-keyring 7.3-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | import unittest
from keyring.backend import KeyringBackend
from keyring.backends import multi
import keyring.errors
class MultipartKeyringWrapperTestCase(unittest.TestCase):
"""Test the wrapper that breaks passwords into smaller chunks"""
class MockKeyring(KeyringBackend):
priority = 1
def __init__(self):
self.passwords = {}
def get_password(self, service, username):
return self.passwords.get(service+username)
def set_password(self, service, username, password):
self.passwords[service+username] = password
def delete_password(self, service, username):
try:
del self.passwords[service+username]
except KeyError:
raise keyring.errors.PasswordDeleteError('not found')
def testViablePassThru(self):
kr = multi.MultipartKeyringWrapper(self.MockKeyring())
self.assertTrue(kr.viable)
def testMissingPassword(self):
wrapped_kr = self.MockKeyring()
kr = multi.MultipartKeyringWrapper(wrapped_kr)
self.assertIsNone(kr.get_password('s1', 'u1'))
def testSmallPasswordSetInSinglePart(self):
wrapped_kr = self.MockKeyring()
kr = multi.MultipartKeyringWrapper(wrapped_kr)
kr.set_password('s1', 'u1', 'p1')
self.assertEquals(wrapped_kr.passwords, {'s1u1':'p1'})
# should be able to read it back
self.assertEquals(kr.get_password('s1', 'u1'), 'p1')
def testLargePasswordSetInMultipleParts(self):
wrapped_kr = self.MockKeyring()
kr = multi.MultipartKeyringWrapper(wrapped_kr,
max_password_size=2)
kr.set_password('s2', 'u2', '0123456')
self.assertEquals(wrapped_kr.passwords, {'s2u2':'01',
's2u2{{part_1}}':'23',
's2u2{{part_2}}':'45',
"s2u2{{part_3}}":'6'})
# should be able to read it back
self.assertEquals(kr.get_password('s2', 'u2'), '0123456')
|