#! /usr/bin/env python
# -*- coding: utf-8 -*-
# vi:ts=4:et
# Note: this test is meant to be run from pycurl project root.
import pycurl
import unittest
from . import util
from . import procmgr, localhost
setup_module, teardown_module = procmgr.vsftpd_setup()
class FtpTest(unittest.TestCase):
def setUp(self):
self.curl = util.DefaultCurl()
def tearDown(self):
self.curl.close()
def test_get_ftp(self):
self.curl.setopt(pycurl.URL, 'ftp://%s:8321' % localhost)
sio = util.BytesIO()
self.curl.setopt(pycurl.WRITEFUNCTION, sio.write)
self.curl.perform()
result = sio.getvalue().decode()
assert 'README.rst' in result
assert 'INSTALL.rst' in result
# XXX this test needs to be fixed
def test_quote(self):
self.curl.setopt(pycurl.URL, 'ftp://%s:8321' % localhost)
sio = util.BytesIO()
self.curl.setopt(pycurl.WRITEFUNCTION, sio.write)
self.curl.setopt(pycurl.QUOTE, ['CWD tests'])
self.curl.perform()
result = sio.getvalue().decode()
assert 'README.rst' not in result
assert 'ftp_test.py' in result
def test_epsv(self):
self.curl.setopt(pycurl.URL, 'ftp://%s:8321' % localhost)
sio = util.BytesIO()
self.curl.setopt(pycurl.WRITEFUNCTION, sio.write)
self.curl.setopt(pycurl.FTP_USE_EPSV, 1)
self.curl.perform()
result = sio.getvalue().decode()
assert 'README.rst' in result
assert 'INSTALL.rst' in result