From 82918442019cb3f4d2dd6dcf53aa6416909e95c8 Mon Sep 17 00:00:00 2001 From: Matthew Broadway Date: Wed, 2 Jun 2021 22:48:21 +0100 Subject: [PATCH] added python2 support to tests --- test/test_cookies.py | 70 ++++++++++++++++++++++++++------------------ 1 file changed, 41 insertions(+), 29 deletions(-) diff --git a/test/test_cookies.py b/test/test_cookies.py index c30683ef0..67a13b938 100644 --- a/test/test_cookies.py +++ b/test/test_cookies.py @@ -1,42 +1,54 @@ import unittest -from unittest import mock +from youtube_dl import cookies from youtube_dl.cookies import LinuxChromeCookieDecryptor, WindowsChromeCookieDecryptor, CRYPTO_AVAILABLE, \ MacChromeCookieDecryptor +class MonkeyPatch: + def __init__(self, module, name, temp_value): + self._module = module + self._name = name + self._temp_value = temp_value + self._backup_value = None + + def __enter__(self): + self._backup_value = getattr(self._module, self._name) + setattr(self._module, self._name, self._temp_value) + + def __exit__(self, exc_type, exc_val, exc_tb): + setattr(self._module, self._name, self._backup_value) + + @unittest.skipIf(not CRYPTO_AVAILABLE, 'cryptography library not available') class TestCookies(unittest.TestCase): - @mock.patch('youtube_dl.cookies._get_linux_keyring_password') - def test_chrome_cookie_decryptor_linux_v10(self, mock_get_keyring_password): - mock_get_keyring_password.return_value = '' - encrypted_value = b'v10\xccW%\xcd\xe6\xe6\x9fM" \xa7\xb0\xca\xe4\x07\xd6' - value = 'USD' - decryptor = LinuxChromeCookieDecryptor('Chrome') - assert decryptor.decrypt(encrypted_value) == value + def test_chrome_cookie_decryptor_linux_v10(self): + with MonkeyPatch(cookies, '_get_linux_keyring_password', lambda *args, **kwargs: ''): + encrypted_value = b'v10\xccW%\xcd\xe6\xe6\x9fM" \xa7\xb0\xca\xe4\x07\xd6' + value = 'USD' + decryptor = LinuxChromeCookieDecryptor('Chrome') + assert decryptor.decrypt(encrypted_value) == value - @mock.patch('youtube_dl.cookies._get_linux_keyring_password') - def test_chrome_cookie_decryptor_linux_v11(self, mock_get_keyring_password): - mock_get_keyring_password.return_value = '' - encrypted_value = b'v11#\x81\x10>`w\x8f)\xc0\xb2\xc1\r\xf4\x1al\xdd\x93\xfd\xf8\xf8N\xf2\xa9\x83\xf1\xe9o\x0elVQd' - value = 'tz=Europe.London' - decryptor = LinuxChromeCookieDecryptor('Chrome') - assert decryptor.decrypt(encrypted_value) == value + def test_chrome_cookie_decryptor_linux_v11(self): + with MonkeyPatch(cookies, '_get_linux_keyring_password', lambda *args, **kwargs: ''): + encrypted_value = b'v11#\x81\x10>`w\x8f)\xc0\xb2\xc1\r\xf4\x1al\xdd\x93\xfd\xf8\xf8N\xf2\xa9\x83\xf1\xe9o\x0elVQd' + value = 'tz=Europe.London' + decryptor = LinuxChromeCookieDecryptor('Chrome') + assert decryptor.decrypt(encrypted_value) == value - @mock.patch('youtube_dl.cookies._get_windows_v10_password') - def test_chrome_cookie_decryptor_windows_v10(self, mock_get_windows_v10_password): - mock_get_windows_v10_password.return_value = b'Y\xef\xad\xad\xeerp\xf0Y\xe6\x9b\x12\xc2