dragonflydb / dragonflydb/dragonfly

end-to-end tests for ioredis and dragonfly

Open
#383 6 comments 1 reaction 0 assignees View on GitHub
enhancement good first issue hacktoberfest help wanted
Dominant language
C++
Stars
31.6k
Forks
1.3k
Avg merge
1d 10h
Merged PRs (30d)
137

Description

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](https://github.com/luin/ioredis/releases/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 .

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing pytests under tests/dragonfly and the ioredis workflow linked in the issue. Use the DRAGONFLY_PATH environment variable and the v5.2.3 ioredis tag as the stated integration points. Done means a local pipeline script, a README covering prerequisites and usage, and optionally a Node.js PUB/SUB test against a running Dragonfly process.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js
Domain
databases, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.