| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | #!/usr/bin/env python# coding: utf-8from __future__ import unicode_literalsimport osimport reimport sysimport tempfileimport unittestsys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))from youtube_dl.utils import YoutubeDLCookieJarclass TestYoutubeDLCookieJar(unittest.TestCase):    def test_keep_session_cookies(self):        cookiejar = YoutubeDLCookieJar('./test/testdata/cookies/session_cookies.txt')        cookiejar.load(ignore_discard=True, ignore_expires=True)        tf = tempfile.NamedTemporaryFile(delete=False)        try:            cookiejar.save(filename=tf.name, ignore_discard=True, ignore_expires=True)            temp = tf.read().decode('utf-8')            self.assertTrue(re.search(                r'www\.foobar\.foobar\s+FALSE\s+/\s+TRUE\s+0\s+YoutubeDLExpiresEmpty\s+YoutubeDLExpiresEmptyValue', temp))            self.assertTrue(re.search(                r'www\.foobar\.foobar\s+FALSE\s+/\s+TRUE\s+0\s+YoutubeDLExpires0\s+YoutubeDLExpires0Value', temp))        finally:            tf.close()            os.remove(tf.name)    def test_strip_httponly_prefix(self):        cookiejar = YoutubeDLCookieJar('./test/testdata/cookies/httponly_cookies.txt')        cookiejar.load(ignore_discard=True, ignore_expires=True)        def assert_cookie_has_value(key):            self.assertEqual(cookiejar._cookies['www.foobar.foobar']['/'][key].value, key + '_VALUE')        assert_cookie_has_value('HTTPONLY_COOKIE')        assert_cookie_has_value('JS_ACCESSIBLE_COOKIE')    def test_malformed_cookies(self):        cookiejar = YoutubeDLCookieJar('./test/testdata/cookies/malformed_cookies.txt')        cookiejar.load(ignore_discard=True, ignore_expires=True)        # Cookies should be empty since all malformed cookie file entries        # will be ignored        self.assertFalse(cookiejar._cookies)if __name__ == '__main__':    unittest.main()
 |