|
4 | 4 | import tempfile
|
5 | 5 | import warnings
|
6 | 6 | from concurrent import futures
|
7 |
| -from datetime import datetime, timedelta |
8 | 7 | from pathlib import Path
|
9 | 8 |
|
10 | 9 | import fsspec
|
| 10 | +import pkg_resources |
11 | 11 | import pytest
|
12 | 12 | from asyncssh.sftp import SFTPFailure
|
13 | 13 |
|
@@ -73,28 +73,30 @@ def strip_keys(info):
|
73 | 73 |
|
74 | 74 |
|
75 | 75 | def test_fsspec_registration(ssh_server):
|
76 |
| - fs = fsspec.filesystem( |
77 |
| - "ssh", |
78 |
| - host=ssh_server.host, |
79 |
| - port=ssh_server.port, |
80 |
| - username="user", |
81 |
| - client_keys=[USERS["user"]], |
82 |
| - ) |
83 |
| - assert isinstance(fs, SSHFileSystem) |
| 76 | + for ep in pkg_resources.iter_entry_points(group="fsspec.specs"): |
| 77 | + fs = fsspec.filesystem( |
| 78 | + ep.name, |
| 79 | + host=ssh_server.host, |
| 80 | + port=ssh_server.port, |
| 81 | + username="user", |
| 82 | + client_keys=[USERS["user"]], |
| 83 | + ) |
| 84 | + assert isinstance(fs, SSHFileSystem) |
84 | 85 |
|
85 | 86 |
|
86 | 87 | def test_fsspec_url_parsing(ssh_server, remote_dir, user="user"):
|
87 |
| - url = f"ssh://{user}@{ssh_server.host}:{ssh_server.port}/{remote_dir}/file" |
88 |
| - with fsspec.open(url, "w", client_keys=[USERS[user]]) as file: |
89 |
| - # Check the underlying file system. |
90 |
| - file_fs = file.buffer.fs |
91 |
| - assert isinstance(file_fs, SSHFileSystem) |
92 |
| - assert file_fs.storage_options == { |
93 |
| - "host": ssh_server.host, |
94 |
| - "port": ssh_server.port, |
95 |
| - "username": user, |
96 |
| - "client_keys": [USERS[user]], |
97 |
| - } |
| 88 | + for ep in pkg_resources.iter_entry_points(group="fsspec.specs"): |
| 89 | + url = f"{ep.name}://{user}@{ssh_server.host}:{ssh_server.port}/{remote_dir}/file" |
| 90 | + with fsspec.open(url, "w", client_keys=[USERS[user]]) as file: |
| 91 | + # Check the underlying file system. |
| 92 | + file_fs = file.buffer.fs |
| 93 | + assert isinstance(file_fs, SSHFileSystem) |
| 94 | + assert file_fs.storage_options == { |
| 95 | + "host": ssh_server.host, |
| 96 | + "port": ssh_server.port, |
| 97 | + "username": user, |
| 98 | + "client_keys": [USERS[user]], |
| 99 | + } |
98 | 100 |
|
99 | 101 |
|
100 | 102 | def test_info(fs, remote_dir):
|
|
0 commit comments