You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
use dockers for tests, use npm workspaces, add rejson & redisearch modules, fix some bugs
This commit is contained in:
49
packages/client/lib/test-utils.ts
Normal file
49
packages/client/lib/test-utils.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
import TestUtils from '@redis/test-utils';
|
||||
import { SinonSpy } from 'sinon';
|
||||
import { promiseTimeout } from './utils';
|
||||
|
||||
export default new TestUtils({
|
||||
defaultDockerVersion: '6.2',
|
||||
dockerImageName: 'redis',
|
||||
dockerImageVersionArgument: 'redis-version'
|
||||
});
|
||||
|
||||
export const GLOBAL = {
|
||||
SERVERS: {
|
||||
OPEN: {
|
||||
serverArguments: []
|
||||
},
|
||||
PASSWORD: {
|
||||
serverArguments: ['--requirepass', 'password'],
|
||||
clientOptions: {
|
||||
password: 'password'
|
||||
}
|
||||
}
|
||||
},
|
||||
CLUSTERS: {
|
||||
OPEN: {
|
||||
serverArguments: []
|
||||
},
|
||||
PASSWORD: {
|
||||
serverArguments: ['--requirepass', 'password'],
|
||||
clusterConfiguration: {
|
||||
defaults: {
|
||||
password: 'password'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export async function waitTillBeenCalled(spy: SinonSpy): Promise<void> {
|
||||
const start = process.hrtime.bigint(),
|
||||
calls = spy.callCount;
|
||||
|
||||
do {
|
||||
if (process.hrtime.bigint() - start > 1_000_000_000) {
|
||||
throw new Error('Waiting for more than 1 second');
|
||||
}
|
||||
|
||||
await promiseTimeout(1);
|
||||
} while (spy.callCount === calls);
|
||||
}
|
Reference in New Issue
Block a user