]>
jfr.im git - yt-dlp.git/blob - test/test_YoutubeDLCookieJar.py
8 sys
.path
.insert(0, os
.path
.dirname(os
.path
.dirname(os
.path
.abspath(__file__
))))
10 from yt_dlp
.utils
import YoutubeDLCookieJar
13 class TestYoutubeDLCookieJar(unittest
.TestCase
):
14 def test_keep_session_cookies(self
):
15 cookiejar
= YoutubeDLCookieJar('./test/testdata/cookies/session_cookies.txt')
16 cookiejar
.load(ignore_discard
=True, ignore_expires
=True)
17 tf
= tempfile
.NamedTemporaryFile(delete
=False)
19 cookiejar
.save(filename
=tf
.name
, ignore_discard
=True, ignore_expires
=True)
20 temp
= tf
.read().decode()
21 self
.assertTrue(re
.search(
22 r
'www\.foobar\.foobar\s+FALSE\s+/\s+TRUE\s+0\s+YoutubeDLExpiresEmpty\s+YoutubeDLExpiresEmptyValue', temp
))
23 self
.assertTrue(re
.search(
24 r
'www\.foobar\.foobar\s+FALSE\s+/\s+TRUE\s+0\s+YoutubeDLExpires0\s+YoutubeDLExpires0Value', temp
))
29 def test_strip_httponly_prefix(self
):
30 cookiejar
= YoutubeDLCookieJar('./test/testdata/cookies/httponly_cookies.txt')
31 cookiejar
.load(ignore_discard
=True, ignore_expires
=True)
33 def assert_cookie_has_value(key
):
34 self
.assertEqual(cookiejar
._cookies
['www.foobar.foobar']['/'][key
].value
, key
+ '_VALUE')
36 assert_cookie_has_value('HTTPONLY_COOKIE')
37 assert_cookie_has_value('JS_ACCESSIBLE_COOKIE')
39 def test_malformed_cookies(self
):
40 cookiejar
= YoutubeDLCookieJar('./test/testdata/cookies/malformed_cookies.txt')
41 cookiejar
.load(ignore_discard
=True, ignore_expires
=True)
42 # Cookies should be empty since all malformed cookie file entries
44 self
.assertFalse(cookiejar
._cookies
)
47 if __name__
== '__main__':