new feature: implement the integration tests for unftp-sbe, fuse3 and dav-server frontends
- 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
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