# Path: resources/lib/PhoneBooks/pyicloud/vendorlibs/keyring/tests/test_backend.py
# class BackendBasicTests(object):
#     """Test for the keyring's basic functions. password_set and password_get
#     """
# 
#     def setUp(self):
#         self.keyring = self.init_keyring()
#         self.credentials_created = set()
# 
#     def tearDown(self):
#         for item in self.credentials_created:
#             self.keyring.delete_password(*item)
# 
#     def set_password(self, service, username, password):
#         # set the password and save the result so the test runner can clean
#         #  up after if necessary.
#         self.keyring.set_password(service, username, password)
#         self.credentials_created.add((service, username))
# 
#     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)
#         self.assertEqual(keyring.get_password(service, username), password)
# 
#         # for the empty password
#         self.set_password(service, username, "")
#         self.assertEqual(keyring.get_password(service, username), "")
# 
#     def test_password_set_get(self):
#         password = random_string(20)
#         username = random_string(20)
#         service = random_string(20)
#         self.check_set_get(service, username, password)
# 
#     def test_difficult_chars(self):
#         password = random_string(20, DIFFICULT_CHARS)
#         username = random_string(20, DIFFICULT_CHARS)
#         service = random_string(20, DIFFICULT_CHARS)
#         self.check_set_get(service, username, password)
# 
#     def test_delete_present(self):
#         password = random_string(20, DIFFICULT_CHARS)
#         username = random_string(20, DIFFICULT_CHARS)
#         service = random_string(20, DIFFICULT_CHARS)
#         self.keyring.set_password(service, username, password)
#         self.keyring.delete_password(service, username)
#         self.assertIsNone(self.keyring.get_password(service, username))
# 
#     def test_delete_not_present(self):
#         username = random_string(20, DIFFICULT_CHARS)
#         service = random_string(20, DIFFICULT_CHARS)
#         self.assertRaises(errors.PasswordDeleteError,
#             self.keyring.delete_password, service, username)
# 
#     def test_delete_one_in_group(self):
#         username1 = random_string(20, DIFFICULT_CHARS)
#         username2 = random_string(20, DIFFICULT_CHARS)
#         password  = random_string(20, DIFFICULT_CHARS)
#         service   = random_string(20, DIFFICULT_CHARS)
#         self.keyring.set_password(service, username1, password)
#         self.set_password(service, username2, password)
#         self.keyring.delete_password(service, username1)
#         self.assertEqual(self.keyring.get_password(
#            service, username2), password)
# 
#     def test_unicode_chars(self):
#         password = random_string(20, UNICODE_CHARS)
#         username = random_string(20, UNICODE_CHARS)
#         service = random_string(20, UNICODE_CHARS)
#         self.check_set_get(service, username, password)
# 
#     def test_unicode_and_ascii_chars(self):
#         source = (random_string(10, UNICODE_CHARS) + random_string(10) +
#                  random_string(10, DIFFICULT_CHARS))
#         password = random_string(20, source)
#         username = random_string(20, source)
#         service = random_string(20, source)
#         self.check_set_get(service, username, password)
# 
#     def test_different_user(self):
#         """
#         Issue #47 reports that WinVault isn't storing passwords for
#         multiple users. This test exercises that test for each of the
#         backends.
#         """
# 
#         keyring = self.keyring
#         self.set_password('service1', 'user1', 'password1')
#         self.set_password('service1', 'user2', 'password2')
#         self.assertEqual(keyring.get_password('service1', 'user1'),
#             'password1')
#         self.assertEqual(keyring.get_password('service1', 'user2'),
#             'password2')
#         self.set_password('service2', 'user3', 'password3')
#         self.assertEqual(keyring.get_password('service1', 'user1'),
#             'password1')


import sys
import unittest
import keyring.backends.Windows
from ..test_backend import BackendBasicTests
from __future__ import print_function



def is_winvault_supported():
    try:
        __import__('win32cred')
        has_pywin32 = True
    except ImportError:
        has_pywin32 = False
    return (
        sys.platform in ['win32'] and sys.getwindowsversion().major >= 6
        and has_pywin32
    )


@unittest.skipUnless(is_winvault_supported(),
                     "Need WinVault")
class WinVaultKeyringTestCase(BackendBasicTests, unittest.TestCase):
    def tearDown(self):
        # clean up any credentials created
        for cred in self.credentials_created:

# Path: resources/lib/PhoneBooks/pyicloud/vendorlibs/keyring/tests/test_backend.py
# class BackendBasicTests(object):
#     """Test for the keyring's basic functions. password_set and password_get
#     """
# 
#     def setUp(self):
#         self.keyring = self.init_keyring()
#         self.credentials_created = set()
# 
#     def tearDown(self):
#         for item in self.credentials_created:
#             self.keyring.delete_password(*item)
# 
#     def set_password(self, service, username, password):
#         # set the password and save the result so the test runner can clean
#         #  up after if necessary.
#         self.keyring.set_password(service, username, password)
#         self.credentials_created.add((service, username))
# 
#     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)
#         self.assertEqual(keyring.get_password(service, username), password)
# 
#         # for the empty password
#         self.set_password(service, username, "")
#         self.assertEqual(keyring.get_password(service, username), "")
# 
#     def test_password_set_get(self):
#         password = random_string(20)
#         username = random_string(20)
#         service = random_string(20)
#         self.check_set_get(service, username, password)
# 
#     def test_difficult_chars(self):
#         password = random_string(20, DIFFICULT_CHARS)
#         username = random_string(20, DIFFICULT_CHARS)
#         service = random_string(20, DIFFICULT_CHARS)
#         self.check_set_get(service, username, password)
# 
#     def test_delete_present(self):
#         password = random_string(20, DIFFICULT_CHARS)
#         username = random_string(20, DIFFICULT_CHARS)
#         service = random_string(20, DIFFICULT_CHARS)
#         self.keyring.set_password(service, username, password)
#         self.keyring.delete_password(service, username)
#         self.assertIsNone(self.keyring.get_password(service, username))
# 
#     def test_delete_not_present(self):
#         username = random_string(20, DIFFICULT_CHARS)
#         service = random_string(20, DIFFICULT_CHARS)
#         self.assertRaises(errors.PasswordDeleteError,
#             self.keyring.delete_password, service, username)
# 
#     def test_delete_one_in_group(self):
#         username1 = random_string(20, DIFFICULT_CHARS)
#         username2 = random_string(20, DIFFICULT_CHARS)
#         password  = random_string(20, DIFFICULT_CHARS)
#         service   = random_string(20, DIFFICULT_CHARS)
#         self.keyring.set_password(service, username1, password)
#         self.set_password(service, username2, password)
#         self.keyring.delete_password(service, username1)
#         self.assertEqual(self.keyring.get_password(
#            service, username2), password)
# 
#     def test_unicode_chars(self):
#         password = random_string(20, UNICODE_CHARS)
#         username = random_string(20, UNICODE_CHARS)
#         service = random_string(20, UNICODE_CHARS)
#         self.check_set_get(service, username, password)
# 
#     def test_unicode_and_ascii_chars(self):
#         source = (random_string(10, UNICODE_CHARS) + random_string(10) +
#                  random_string(10, DIFFICULT_CHARS))
#         password = random_string(20, source)
#         username = random_string(20, source)
#         service = random_string(20, source)
#         self.check_set_get(service, username, password)
# 
#     def test_different_user(self):
#         """
#         Issue #47 reports that WinVault isn't storing passwords for
#         multiple users. This test exercises that test for each of the
#         backends.
#         """
# 
#         keyring = self.keyring
#         self.set_password('service1', 'user1', 'password1')
#         self.set_password('service1', 'user2', 'password2')
#         self.assertEqual(keyring.get_password('service1', 'user1'),
#             'password1')
#         self.assertEqual(keyring.get_password('service1', 'user2'),
#             'password2')
#         self.set_password('service2', 'user3', 'password3')
#         self.assertEqual(keyring.get_password('service1', 'user1'),
#             'password1')


# Path: resources/lib/PhoneBooks/pyicloud/vendorlibs/keyring/tests/backends/test_Windows.py
import sys
import unittest
import keyring.backends.Windows
from ..test_backend import BackendBasicTests

from __future__ import print_function



def is_winvault_supported():
    try:
        __import__('win32cred')
        has_pywin32 = True
    except ImportError:
        has_pywin32 = False
    return (
        sys.platform in ['win32'] and sys.getwindowsversion().major >= 6
        and has_pywin32
    )


@unittest.skipUnless(is_winvault_supported(),
                     "Need WinVault")
class WinVaultKeyringTestCase(BackendBasicTests, unittest.TestCase):
    def tearDown(self):
        # clean up any credentials created
        for cred in self.credentials_created:

            try: