dragonflydb / dragonfly

A modern replacement for Redis and Memcached
https://www.dragonflydb.io/
Other
25.28k stars 910 forks source link

end-to-end tests for ioredis and dragonfly #383

Open romange opened 1 year ago

romange commented 1 year ago

We already have pytests under tests/dragonfly.

I would like to add support for node-js tests. Specifically, start with ioredis tests.

Ideally, I would like to have the following deliverables:

  1. A script that automates local pipeline run - i.e. starts dragonfly binary using DRAGONFLY_PATH environment path, checks out https://github.com/luin/ioredis predefined tag (v5.2.3 and runs tests according to https://github.com/luin/ioredis/blob/main/.github/workflows/test.yml#L29
  2. a README.md that explains how to run the script and how to install the prerequisites. I do not know nodejs, so README should level with me :)
  3. Bonus: our own nodejs test that runs against a running dragonfly process (can start/stop using DRAGONFLY_PATH) and uncovers a specific scenario. For example, PUB/SUB use-case reported in #382 .
Tomato6966 commented 1 year ago

I would recommend to use tedis

https://github.com/silkjs/tedis https://tedis.silkjs.org/

It has built in pooling, where the pools are dedicated connections.

It does not have memory leaks

It is simple and fast

romange commented 1 year ago

Hey @Tomato6966 , the goal of end-to-end tests is to make sure that Dragonfly is compatible with the most popular client libraries. It's unrelated to the fact that other libraries may be better, of higher quality, and cetera.

gil-air-may commented 1 year ago

I will start working on this one!

romange commented 1 year ago

The tests are running locallly - thanks @gil-air-may ! Now, we just need to run them via the testing pipeline on github - depends on #291

gil-air-may commented 1 year ago

Cool, I'll give it a try this weekend!

imlishant commented 7 months ago

Hi everyone, I am new to coding and open source, how can I contribute here? I have beginner knowledge of C & C++.

Any help would be highly appreciated.

Thanks & Regards