apache / apache/opendal

new feature: implement the integration tests for unftp-sbe, fuse3 and dav-server frontends

Open
#5,403 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
5.4k
Forks
825
Avg merge
1d 14m
Merged PRs (30d)
127

Description

### Feature Description

As I got really hard times while running the ``unftp-sbe`` integration, I have a strong belief that this aspect of Apache OpenDAL is regression-prone and deserves some QAs for being production-ready unless we want it completely dead.

* For every frontend, first of all we can run a set of basic I/O tests. Personally, I define basic I/O tests in the following way, although someone may want to correct me.
```nohighlight
1. Write /filename
2. Stat /filename
3. Write /filename with seek
4. Read /filename with seek
5. Rename /filename
6. Remove /filename
7. Create a directory
8. Perform tests 1 - 7 with that directory
9. Perform tests 1 - 8 with UTF-8 characters in path
```
* For FTP, we can also choose to test RFC 959 commands here
* As for WebDAV, [litmus tests](http://www.webdav.org/neon/litmus/) is a kind of industry standard here. I think we can pull an existing [Docker Hub image](https://hub.docker.com/r/deepdiver/docker-litmus).
* Testing FUSE integration may be the most challenging point here. As most likely it won't be available In Github Actions + Docker environment, as per my belief running Alpine Linux in [dockerized QEMU](https://github.com/qemus/qemu-docker) is somewhat worth it.

### Problem and Solution

Some integrations are currently broken (for example, ``unftp-sbe``). It's also not clear if integrations are matching the industry standard or not. Even if we fix the integrations now, most likely they become broken again during further Apache OpenDAL development unless we add regression testing.

### Additional Context

_No response_

### Are you willing to contribute to the development of this feature?

- [X] Yes, I am willing to contribute to the development of this feature.

Contributor guide

Open the contributing guide

Research direction

Start by locating the unftp-sbe, FUSE3, and dav-server integration entry points and checking which integrations currently fail. Define basic I/O coverage for each frontend, add the appropriate regression tests, and assess FTP RFC 959, WebDAV litmus, and FUSE coverage in the stated environments. Done means the integrations run reliably under CI or their documented test setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.