diff --git a/setup.cfg b/setup.cfg index 8428235..643f2fd 100644 --- a/setup.cfg +++ b/setup.cfg @@ -30,3 +30,4 @@ pywin32 = asyncssh[pywin32] [options.entry_points] fsspec.specs = ssh = sshfs.spec:SSHFileSystem + sftp = sshfs.spec:SSHFileSystem diff --git a/tests/test_sshfs.py b/tests/test_sshfs.py index 051a619..663f778 100644 --- a/tests/test_sshfs.py +++ b/tests/test_sshfs.py @@ -4,10 +4,10 @@ import tempfile import warnings from concurrent import futures -from datetime import datetime, timedelta from pathlib import Path import fsspec +import pkg_resources import pytest from asyncssh.sftp import SFTPFailure @@ -73,28 +73,30 @@ def strip_keys(info): def test_fsspec_registration(ssh_server): - fs = fsspec.filesystem( - "ssh", - host=ssh_server.host, - port=ssh_server.port, - username="user", - client_keys=[USERS["user"]], - ) - assert isinstance(fs, SSHFileSystem) + for ep in pkg_resources.iter_entry_points(group="fsspec.specs"): + fs = fsspec.filesystem( + ep.name, + host=ssh_server.host, + port=ssh_server.port, + username="user", + client_keys=[USERS["user"]], + ) + assert isinstance(fs, SSHFileSystem) def test_fsspec_url_parsing(ssh_server, remote_dir, user="user"): - url = f"ssh://{user}@{ssh_server.host}:{ssh_server.port}/{remote_dir}/file" - with fsspec.open(url, "w", client_keys=[USERS[user]]) as file: - # Check the underlying file system. - file_fs = file.buffer.fs - assert isinstance(file_fs, SSHFileSystem) - assert file_fs.storage_options == { - "host": ssh_server.host, - "port": ssh_server.port, - "username": user, - "client_keys": [USERS[user]], - } + for ep in pkg_resources.iter_entry_points(group="fsspec.specs"): + url = f"{ep.name}://{user}@{ssh_server.host}:{ssh_server.port}/{remote_dir}/file" + with fsspec.open(url, "w", client_keys=[USERS[user]]) as file: + # Check the underlying file system. + file_fs = file.buffer.fs + assert isinstance(file_fs, SSHFileSystem) + assert file_fs.storage_options == { + "host": ssh_server.host, + "port": ssh_server.port, + "username": user, + "client_keys": [USERS[user]], + } def test_info(fs, remote_dir):