summaryrefslogtreecommitdiffstats
path: root/tests/other/test_curlDownload.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/other/test_curlDownload.py')
-rw-r--r--tests/other/test_curlDownload.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/other/test_curlDownload.py b/tests/other/test_curlDownload.py
new file mode 100644
index 000000000..17af1cdd4
--- /dev/null
+++ b/tests/other/test_curlDownload.py
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+
+from os import stat
+
+from unittest import TestCase
+
+from tests.helper.Stubs import Core
+from pyload.network.Bucket import Bucket
+from pyload.plugins.network.CurlRequest import CurlRequest
+from pyload.plugins.network.CurlDownload import CurlDownload
+
+class TestCurlRequest(TestCase):
+
+ cookieURL = "http://forum.pyload.org"
+
+ def setUp(self):
+ self.dl = CurlDownload(Bucket())
+
+ def tearDown(self):
+ self.dl.close()
+
+ def test_download(self):
+
+ assert self.dl.context is not None
+
+ self.dl.download("http://pyload.org/lib/tpl/pyload/images/pyload-logo-edited3.5-new-font-small.png", "/tmp/random.bin")
+
+ print self.dl.size, self.dl.arrived
+ assert self.dl.size == self.dl.arrived > 0
+ assert stat("/tmp/random.bin").st_size == self.dl.size
+
+ def test_cookies(self):
+
+ req = CurlRequest({})
+ req.load(self.cookieURL)
+
+ assert len(req.cj) > 0
+
+ dl = CurlDownload(Bucket(), req)
+
+ assert req.context is dl.context is not None
+
+ dl.download(self.cookieURL + "/cookies.php", "cookies.txt")
+ cookies = open("cookies.txt", "rb").read().splitlines()
+
+ self.assertEqual(len(cookies), len(dl.context))
+ for c in cookies:
+ k, v = c.strip().split(":")
+ self.assertIn(k, req.cj)
+
+
+ def test_attributes(self):
+ assert self.dl.size == 0
+ assert self.dl.speed == 0
+ assert self.dl.arrived == 0 \ No newline at end of file