def test_local_uploader_upload_fails(self, mock): """Test LOCAL UPLOADER upload fails.""" u = LocalUploader() file = FileStorage(filename='test.jpg') res = u.upload_file(file, container='user_3') err_msg = ("Upload file should return False, \ as there is an exception") assert res is False, err_msg
def test_file_exists_for_real_file(self): """Test LOCAL UPLOADER file_exists returns True if the file exists""" u = LocalUploader() u.upload_folder = tempfile.mkdtemp() file = FileStorage(filename='test.jpg') container = 'mycontainer' u.upload_file(file, container=container) assert u.file_exists('test.jpg', container) is True
def test_local_uploader_upload_correct_file(self, mock): """Test LOCAL UPLOADER upload works.""" mock.save.return_value = None u = LocalUploader() file = FileStorage(filename='test.jpg') res = u.upload_file(file, container='user_3') err_msg = ("Upload file should return True, \ as this extension is allowed") assert res is True, err_msg
def test_local_uploader_upload_wrong_file(self, mock): """Test LOCAL UPLOADER upload works with wrong extension.""" mock.save.return_value = None u = LocalUploader() file = FileStorage(filename='test.txt') res = u.upload_file(file, container='user_3') err_msg = ("Upload file should return False, \ as this extension is not allowed") assert res is False, err_msg
def test_local_folder_is_created(self, mock): """Test LOCAL UPLOADER folder creation works.""" mock.save.return_value = True u = LocalUploader() u.upload_folder = tempfile.mkdtemp() file = FileStorage(filename='test.jpg') container = 'mycontainer' res = u.upload_file(file, container=container) path = os.path.join(u.upload_folder, container) err_msg = "This local path should exist: %s" % path assert os.path.isdir(path) is True, err_msg
def test_local_uploader_relative_directory_init(self): """Test LOCAL UPLOADER init works with relative path.""" new_upload_folder = 'uploads' new_config_uf = {'UPLOAD_FOLDER': new_upload_folder} with patch.dict(self.flask_app.config, new_config_uf): new_uploader = LocalUploader() new_uploader.init_app(self.flask_app) err_msg = "Upload folder should be absolute not relative" assert os.path.isabs(new_uploader.upload_folder) is True, err_msg err_msg = "Upload folder uploads should be existing" assert os.path.isdir(new_uploader.upload_folder) is True, err_msg
def test_wrong_local_uploader_relative_directory_init(self): """Test LOCAL UPLOADER init with wrong relative path.""" new_upload_folder = 'iamnotexisting' err_msg = "Uploadfolder ./iamnotexisting should not exist" assert os.path.isdir(new_upload_folder) is False, err_msg new_config_uf = {'UPLOAD_FOLDER': new_upload_folder} with patch.dict(self.flask_app.config, new_config_uf): new_uploader = LocalUploader() assert_raises(IOError, new_uploader.init_app, self.flask_app) # Should raise IOError err_msg = "wrong upload folder ./iamnotexisting should not exist" assert os.path.isdir(new_upload_folder) is False, err_msg
def setup_uploader(app): global uploader if app.config.get('UPLOAD_METHOD') == 'local': from pybossa.uploader.local import LocalUploader uploader = LocalUploader() uploader.init_app(app) if app.config.get('UPLOAD_METHOD') == 'rackspace': # pragma: no cover from pybossa.uploader.rackspace import RackspaceUploader uploader = RackspaceUploader() app.url_build_error_handlers.append(uploader.external_url_handler) uploader.init_app(app)
def test_local_uploader_init(self): """Test LOCAL UPLOADER init works.""" u = LocalUploader() u.init_app(self.flask_app) new_extensions = ['pdf', 'doe'] new_upload_folder = '/tmp/' new_config_ext = {'ALLOWED_EXTENSIONS': new_extensions} new_config_uf = {'UPLOAD_FOLDER': new_upload_folder} with patch.dict(self.flask_app.config, new_config_ext): with patch.dict(self.flask_app.config, new_config_uf): new_uploader = LocalUploader() new_uploader.init_app(self.flask_app) expected_extensions = set.union(u.allowed_extensions, new_extensions) err_msg = "The new uploader should support two extra extensions" assert expected_extensions == new_uploader.allowed_extensions, err_msg err_msg = "Upload folder by default is /tmp/" assert new_uploader.upload_folder == '/tmp/', err_msg
def setup_uploader(app): """Setup uploader.""" global uploader if app.config.get("UPLOAD_METHOD") == "local": from pybossa.uploader.local import LocalUploader uploader = LocalUploader() uploader.init_app(app) if app.config.get("UPLOAD_METHOD") == "rackspace": # pragma: no cover from pybossa.uploader.rackspace import RackspaceUploader uploader = RackspaceUploader() app.url_build_error_handlers.append(uploader.external_url_handler) uploader.init_app(app)
def setup_uploader(app): """Setup uploader.""" global uploader upload_method = app.config.get('UPLOAD_METHOD') if upload_method == 'local': from pybossa.uploader.local import LocalUploader uploader = LocalUploader() if upload_method == 'rackspace': # pragma: no cover from pybossa.uploader.rackspace import RackspaceUploader uploader = RackspaceUploader() app.url_build_error_handlers.append(uploader.external_url_handler) if upload_method == 'cloud': # pragma: no cover from pybossa.uploader.cloud_store import CloudStoreUploader uploader = CloudStoreUploader() app.url_build_error_handlers.append(uploader.external_url_handler) if upload_method == 'cloudproxy': #pragma: no cover from pybossa.uploader.cloud_proxy import CloudProxyUploader uploader = CloudProxyUploader() uploader.init_app(app)
def test_file_exists_for_missing_file(self): """Test LOCAL UPLOADER file_exists returns False if the file does not exist""" u = LocalUploader() container = 'mycontainer' assert u.file_exists('noexist.txt', container) is False
def test_local_folder_delete_fails(self, mock): """Test LOCAL UPLOADER delete fail works.""" u = LocalUploader() err_msg = "Delete should return False" assert u.delete_file('file', 'container') is False, err_msg