OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
python3
/
dist-packages
/
keyring
/
tests
/
backends
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/09/2024 06:58:01 AM
rwxr-xr-x
📄
__init__.py
0 bytes
01/07/2018 08:43:04 PM
rw-r--r--
📁
__pycache__
-
05/09/2024 06:58:02 AM
rwxr-xr-x
📄
test_OS_X.py
397 bytes
01/07/2018 08:43:04 PM
rw-r--r--
📄
test_SecretService.py
997 bytes
01/07/2018 08:43:04 PM
rw-r--r--
📄
test_Windows.py
904 bytes
01/07/2018 08:43:04 PM
rw-r--r--
📄
test_kwallet.py
2.96 KB
01/07/2018 08:43:04 PM
rw-r--r--
Editing: test_kwallet.py
Close
import unittest from keyring.backends import kwallet from ..test_backend import BackendBasicTests @unittest.skipUnless(kwallet.DBusKeyring.viable, "KWallet5 unavailable") class DBusKWalletTestCase(BackendBasicTests, unittest.TestCase): # Remove '@' from service name as this is not supported in service names # '@' will cause troubles during migration of kwallet entries DIFFICULT_CHARS = BackendBasicTests.DIFFICULT_CHARS.replace('@', '') def init_keyring(self): return kwallet.DBusKeyring() def tearDown(self): for item in self.credentials_created: # Suppress errors, as only one pre/post migration item will be # present try: self.keyring.delete_password(*item) except BaseException: pass # TODO Remove empty folders created during tests def set_password(self, service, username, password, old_format=False): # set the password and save the result so the test runner can clean # up after if necessary. self.credentials_created.add((service, username)) if old_format: username = username + '@' + service service = 'Python' super( DBusKWalletTestCase, self).set_password( service, username, password) def check_set_get(self, service, username, password): keyring = self.keyring # for the non-existent password self.assertEqual(keyring.get_password(service, username), None) # common usage self.set_password(service, username, password, True) # re-init keyring to force migration self.keyring = keyring = self.init_keyring() ret_password = keyring.get_password(service, username) self.assertEqual( ret_password, password, "Incorrect password for username: '%s' on service: '%s'. '%s' != '%s'" % (service, username, ret_password, password)) # for the empty password self.set_password(service, username, "", True) # re-init keyring to force migration self.keyring = keyring = self.init_keyring() ret_password = keyring.get_password(service, username) self.assertEqual( ret_password, "", "Incorrect password for username: '%s' on service: '%s'. '%s' != '%s'" % (service, username, ret_password, "")) ret_password = keyring.get_password('Python', username + '@' + service) self.assertEqual( ret_password, None, "Not 'None' password returned for username: '%s' on service: '%s'. '%s' != '%s'. Passwords from old folder should be deleted during migration." % (service, username, ret_password, None)) @unittest.skipUnless(kwallet.DBusKeyringKWallet4.viable, "KWallet4 unavailable") class DBusKWallet4TestCase(DBusKWalletTestCase): def init_keyring(self): return kwallet.DBusKeyringKWallet4()