Skip to content

Commit 4bca10f

Browse files
committed
churn(test): use redislabs/client-libs-test for testing
1 parent 558ebb4 commit 4bca10f

File tree

13 files changed

+85
-35
lines changed

13 files changed

+85
-35
lines changed

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
fail-fast: false
2323
matrix:
2424
node-version: ['18', '20', '22']
25-
redis-version: ['6.2.6-v17', '7.2.0-v13', '7.4.0-v1']
25+
redis-version: [ 'rs-7.4.0-v1', '8.0-M04-pre']
2626
steps:
2727
- uses: actions/checkout@v4
2828
with:

packages/bloom/lib/test-utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import TestUtils from '@redis/test-utils';
22
import RedisBloomModules from '.';
33

44
export default new TestUtils({
5-
dockerImageName: 'redis/redis-stack',
5+
dockerImageName: 'redislabs/client-libs-test',
66
dockerImageVersionArgument: 'redisbloom-version',
7-
defaultDockerVersion: '7.4.0-v1'
7+
defaultDockerVersion: '8.0-M04-pre'
88
});
99

1010
export const GLOBAL = {

packages/client/lib/test-utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import { Command } from './RESP/types';
66
import { BasicCommandParser } from './client/parser';
77

88
const utils = new TestUtils({
9-
dockerImageName: 'redis/redis-stack',
9+
dockerImageName: 'redislabs/client-libs-test',
1010
dockerImageVersionArgument: 'redis-version',
11-
defaultDockerVersion: '7.4.0-v1'
11+
defaultDockerVersion: '8.0-M04-pre'
1212
});
1313

1414
export default utils;

packages/entraid/lib/test-utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import TestUtils from '@redis/test-utils';
44
import { EntraidCredentialsProvider } from './entraid-credentials-provider';
55

66
export const testUtils = new TestUtils({
7-
dockerImageName: 'redis/redis-stack',
7+
dockerImageName: 'redislabs/client-libs-test',
88
dockerImageVersionArgument: 'redis-version',
9-
defaultDockerVersion: '7.4.0-v1'
9+
defaultDockerVersion: '8.0-M04-pre'
1010
});
1111

1212
const DEBUG_MODE_ARGS = testUtils.isVersionGreaterThan([7]) ?

packages/graph/lib/test-utils.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import TestUtils from '@redis/test-utils';
22
import RedisGraph from '.';
33

4+
45
export default new TestUtils({
5-
dockerImageName: 'redis/redis-stack',
6+
dockerImageName: 'redislabs/client-libs-test',
67
dockerImageVersionArgument: 'redisgraph-version',
7-
defaultDockerVersion: '7.4.0-v1'
8+
defaultDockerVersion: '8.0-M04-pre'
89
});
910

1011
export const GLOBAL = {

packages/json/lib/test-utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import TestUtils from '@redis/test-utils';
22
import RedisJSON from '.';
33

44
export default new TestUtils({
5-
dockerImageName: 'redis/redis-stack',
5+
dockerImageName: 'redislabs/client-libs-test',
66
dockerImageVersionArgument: 'redisgraph-version',
7-
defaultDockerVersion: '7.4.0-v1'
7+
defaultDockerVersion: '8.0-M04-pre'
88
});
99

1010
export const GLOBAL = {

packages/search/lib/test-utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import TestUtils from '@redis/test-utils';
22
import RediSearch from '.';
33

44
export default new TestUtils({
5-
dockerImageName: 'redis/redis-stack',
5+
dockerImageName: 'redislabs/client-libs-test',
66
dockerImageVersionArgument: 'redisearch-version',
7-
defaultDockerVersion: '7.4.0-v1'
7+
defaultDockerVersion: '8.0-M04-pre'
88
});
99

1010
export const GLOBAL = {

packages/search/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
"!dist/tsconfig.tsbuildinfo"
1010
],
1111
"scripts": {
12-
"test": "nyc -r text-summary -r lcov mocha -r tsx './lib/**/*.spec.ts'"
12+
"test": "nyc -r text-summary -r lcov mocha -r tsx './lib/**/*.spec.ts'",
13+
"test-sourcemap": "mocha -r ts-node/register/transpile-only './lib/**/*.spec.ts'"
1314
},
1415
"peerDependencies": {
1516
"@redis/client": "^5.0.0-next.6"

packages/test-utils/lib/dockers.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,14 @@ export interface RedisServerDocker {
4646
dockerId: string;
4747
}
4848

49-
async function spawnRedisServerDocker({ image, version }: RedisServerDockerConfig, serverArguments: Array<string>): Promise<RedisServerDocker> {
50-
const port = (await portIterator.next()).value,
51-
{ stdout, stderr } = await execAsync(
52-
`docker run -e REDIS_ARGS="--port ${port.toString()} ${serverArguments.join(' ')}" -d --network host ${image}:${version}`
53-
);
49+
async function spawnRedisServerDocker({
50+
image,
51+
version
52+
}: RedisServerDockerConfig, serverArguments: Array<string>): Promise<RedisServerDocker> {
53+
54+
const port = (await portIterator.next()).value
55+
const command = `docker run -e PORT="${port.toString()}" -d --network host ${image}:${version} --port ${port.toString()} ${serverArguments.join(' ')}`
56+
const { stdout, stderr } = await execAsync(command);
5457

5558
if (!stdout) {
5659
throw new Error(`docker run error - ${stderr}`);
@@ -140,7 +143,7 @@ async function spawnRedisClusterNodeDockers(
140143
await replica.client.clusterMeet('127.0.0.1', master.docker.port);
141144

142145
while ((await replica.client.clusterSlots()).length === 0) {
143-
await setTimeout(50);
146+
await setTimeout(25);
144147
}
145148

146149
await replica.client.clusterReplicate(

packages/test-utils/lib/index.spec.ts

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import { strict as assert } from 'node:assert';
2+
import TestUtils from './index';
3+
4+
describe('TestUtils', () => {
5+
describe('parseVersionNumber', () => {
6+
it('should handle special versions', () => {
7+
assert.deepStrictEqual(TestUtils.parseVersionNumber('latest'), [Infinity]);
8+
assert.deepStrictEqual(TestUtils.parseVersionNumber('edge'), [Infinity]);
9+
});
10+
11+
it('should parse simple version numbers', () => {
12+
assert.deepStrictEqual(TestUtils.parseVersionNumber('7.4.0'), [7, 4, 0]);
13+
});
14+
15+
it('should handle versions with multiple dashes and prefixes', () => {
16+
assert.deepStrictEqual(TestUtils.parseVersionNumber('rs-7.4.0-v2'), [7, 4, 0]);
17+
assert.deepStrictEqual(TestUtils.parseVersionNumber('rs-7.4.0'), [7, 4, 0]);
18+
assert.deepStrictEqual(TestUtils.parseVersionNumber('7.4.0-v2'), [7, 4, 0]);
19+
});
20+
21+
it('should handle various version number formats', () => {
22+
assert.deepStrictEqual(TestUtils.parseVersionNumber('10.5'), [10, 5]);
23+
assert.deepStrictEqual(TestUtils.parseVersionNumber('8.0.0'), [8, 0, 0]);
24+
assert.deepStrictEqual(TestUtils.parseVersionNumber('rs-6.2.4-v1'), [6, 2, 4]);
25+
});
26+
27+
it('should throw TypeError for invalid version strings', () => {
28+
['', 'invalid', 'rs-', 'v2', 'rs-invalid-v2'].forEach(version => {
29+
assert.throws(
30+
() => TestUtils.parseVersionNumber(version),
31+
TypeError,
32+
`Expected TypeError for version string: ${version}`
33+
);
34+
});
35+
});
36+
});
37+
});

0 commit comments

Comments
 (0)