test_server icon indicating copy to clipboard operation
test_server copied to clipboard

1.0 Roadmap?

Open Nezteb opened this issue 8 months ago • 2 comments

Hello!

I'd like to contribute to test_server, and there is currently only one open issue that might end up being user error.

Are there any high-level goals for test_server to hit the fabled "1.0" version? Honestly, the existing feature-set seems enough to me to qualify "1.0". 😄

Some ideas:

  • More docs/examples for advanced cases (like multiple concurrent test_server instances)
  • Increase test coverage (to some arbitrary value)
  • ESpec integration
  • Debug log configuration

Nezteb avatar Apr 05 '25 22:04 Nezteb

Yeah, I think it's good enough for a 1.0 release.

I've this still not entirely fleshed out idea in mind that TestServer should be more generally focused than just the HTTP protocol with websocket on the side. TestServer could support SSH, SFTP, FTP and other protocols, utilizing the server daemons that OTP has built-in.

All of these would have very little use of course, but adding a single new protocol would help flesh out the module API to make each expectation targeted the protocol rather than how it works now with just start/add functions build around HTTP. This would in turn make this library a lot more adaptable for the future, and if some need comes up with another protocol it would be trivial to expand rather than how it currently is.

This could be a 2.0 milestone though.

danschultzer avatar Apr 05 '25 23:04 danschultzer

That makes sense!

Since test_server already supports:

  • Bandit
  • Plug.Cowboy
  • httpd (minus websockets)

Would the next logical step would be to alternatively allow test_server to implement lower-level APIs similar to:

  • https://github.com/mtrudel/thousand_island (Bandit)
  • https://github.com/ninenines/ranch (Cowboy)
  • https://www.erlang.org/doc/apps/ssh/api-reference.html (SSH, SFTP)
  • https://www.erlang.org/doc/apps/ftp/api-reference.html (FTP) ?

Nezteb avatar Apr 06 '25 18:04 Nezteb