Files
galaxy/test/unit/files/test_ftp.py
T

51 lines
1.4 KiB
Python

import os
import pytest
from fs.errors import RemoteConnectionError
from ._util import (
assert_realizes_contains,
configured_file_sources,
user_context_fixture,
)
SCRIPT_DIRECTORY = os.path.abspath(os.path.dirname(__file__))
FILE_SOURCES_CONF = os.path.join(SCRIPT_DIRECTORY, "ftp_file_sources_conf.yml")
def test_file_source_ftp_specific():
test_url = "ftp://ftp.gnu.org/README"
user_context = user_context_fixture()
file_sources = configured_file_sources(FILE_SOURCES_CONF)
file_source_pair = file_sources.get_file_source_path(test_url)
assert file_source_pair.path == test_url
assert file_source_pair.file_source.id == "test1"
try:
assert_realizes_contains(
file_sources,
test_url,
"This is ftp.gnu.org, the FTP server of the the GNU project.",
user_context=user_context,
)
except RemoteConnectionError:
pytest.skip("ftp.gnu.org not available")
def test_file_source_ftp_generic():
test_url = "ftp://ftp.slackware.com/welcome.msg"
user_context = user_context_fixture()
file_sources = configured_file_sources(FILE_SOURCES_CONF)
file_source_pair = file_sources.get_file_source_path(test_url)
assert file_source_pair.path == test_url
assert file_source_pair.file_source.id == "test2"
assert_realizes_contains(
file_sources,
test_url,
"Oregon State University",
user_context=user_context,
)