[YoutubeDLCookieJar] Add test for keeping session cookies
authorSergey M․ <dstftw@gmail.com>
Sun, 9 Dec 2018 15:56:33 +0000 (22:56 +0700)
committerSergey M․ <dstftw@gmail.com>
Sun, 9 Dec 2018 15:57:00 +0000 (22:57 +0700)
test/test_YoutubeDLCookieJar.py [new file with mode: 0644]
test/testdata/cookies/session_cookies.txt [new file with mode: 0644]

diff --git a/test/test_YoutubeDLCookieJar.py b/test/test_YoutubeDLCookieJar.py
new file mode 100644 (file)
index 0000000..6a82435
--- /dev/null
@@ -0,0 +1,34 @@
+#!/usr/bin/env python
+# coding: utf-8
+
+from __future__ import unicode_literals
+
+import os
+import re
+import sys
+import tempfile
+import unittest
+sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
+
+from youtube_dl.utils import YoutubeDLCookieJar
+
+
+class 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)
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/test/testdata/cookies/session_cookies.txt b/test/testdata/cookies/session_cookies.txt
new file mode 100644 (file)
index 0000000..91e5c92
--- /dev/null
@@ -0,0 +1,6 @@
+# Netscape HTTP Cookie File
+# http://curl.haxx.se/rfc/cookie_spec.html
+# This is a generated file!  Do not edit.
+
+www.foobar.foobar      FALSE   /       TRUE    0       YoutubeDLExpires0       YoutubeDLExpires0Value
+www.foobar.foobar      FALSE   /       TRUE    0       YoutubeDLExpiresEmpty   YoutubeDLExpiresEmptyValue