Skip to content

Commit 1d3ff63

Browse files
committed
fix2
1 parent 5798031 commit 1d3ff63

File tree

1 file changed

+126
-102
lines changed

1 file changed

+126
-102
lines changed

tests/e2e/helpers/keys.ts

Lines changed: 126 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -88,27 +88,28 @@ export async function deleteKeysViaCli(keyData: KeyData): Promise<void> {
8888
* @param keyArguments The arguments of key
8989
*/
9090
export async function populateDBWithHashes(host: string, port: string, keyArguments: AddKeyArguments): Promise<void> {
91-
const dbConf = { port: Number.parseInt(port), host, username: 'default' };
92-
const client = createClient(dbConf);
91+
const url = `redis://default@${host}:${port}`;
92+
const client = createClient({ url });
9393

94-
client.on('error', (error: string) => {
95-
throw new Error(error);
94+
client.on('error', (error: Error) => {
95+
console.error('Redis Client Error', error);
9696
});
9797

98-
client.on('connect', async () => {
99-
try {
100-
if (keyArguments.keysCount) {
101-
for (let i = 0; i < keyArguments.keysCount; i++) {
102-
const keyName = `${keyArguments.keyNameStartWith}${Common.generateWord(20)}`;
103-
await client.hSet(keyName, 'field1', 'Hello');
104-
}
98+
try {
99+
await client.connect();
100+
101+
if (keyArguments.keysCount) {
102+
for (let i = 0; i < keyArguments.keysCount; i++) {
103+
const keyName = `${keyArguments.keyNameStartWith}${Common.generateWord(20)}`;
104+
await client.hSet(keyName, 'field1', 'Hello');
105105
}
106-
} catch (error) {
107-
console.error('Error setting hash:', error);
108-
} finally {
109-
await client.quit();
110106
}
111-
});
107+
108+
} catch (error) {
109+
console.error('Error during Redis operations:', error);
110+
} finally {
111+
await client.disconnect();
112+
}
112113
}
113114

114115
/**
@@ -118,30 +119,36 @@ export async function populateDBWithHashes(host: string, port: string, keyArgume
118119
* @param keyArguments The arguments of key and its fields
119120
*/
120121
export async function populateHashWithFields(host: string, port: string, keyArguments: AddKeyArguments): Promise<void> {
121-
const dbConf = { port: Number.parseInt(port), host, username: 'default' };
122-
const client = createClient(dbConf);
123-
const fields: Record<string, string> = {}; // Using an object for field-value pairs
122+
const url = `redis://default@${host}:${port}`;
123+
const client = createClient({ url });
124+
const fields: Record<string, string> = {};
124125

125-
client.on('error', (error: string) => {
126-
throw new Error(error);
126+
client.on('error', (error: Error) => {
127+
console.error('Redis Client Error', error);
127128
});
128129

129-
client.on('connect', async () => {
130-
try {
131-
if (keyArguments.fieldsCount) {
132-
for (let i = 0; i < keyArguments.fieldsCount; i++) {
133-
const field = `${keyArguments.fieldStartWith}${Common.generateWord(10)}`;
134-
const fieldValue = `${keyArguments.fieldValueStartWith}${Common.generateWord(10)}`;
135-
fields[field] = fieldValue;
136-
}
130+
try {
131+
await client.connect();
132+
133+
if (keyArguments.fieldsCount) {
134+
for (let i = 0; i < keyArguments.fieldsCount; i++) {
135+
const field = `${keyArguments.fieldStartWith}${Common.generateWord(10)}`;
136+
const fieldValue = `${keyArguments.fieldValueStartWith}${Common.generateWord(10)}`;
137+
fields[field] = fieldValue;
137138
}
138-
await client.hSet(keyArguments.keyName!, fields);
139-
} catch (error) {
140-
console.error('Error setting hash fields:', error);
141-
} finally {
142-
await client.quit();
143139
}
144-
});
140+
141+
if (keyArguments.keyName) {
142+
await client.hSet(keyArguments.keyName, fields);
143+
} else {
144+
throw new Error('keyName is required to populate the hash.');
145+
}
146+
147+
} catch (error) {
148+
console.error('Error setting hash fields:', error);
149+
} finally {
150+
await client.disconnect();
151+
}
145152
}
146153

147154
/**
@@ -151,30 +158,35 @@ export async function populateHashWithFields(host: string, port: string, keyArgu
151158
* @param keyArguments The arguments of key and its members
152159
*/
153160
export async function populateListWithElements(host: string, port: string, keyArguments: AddKeyArguments): Promise<void> {
154-
const dbConf = { port: Number.parseInt(port), host, username: 'default' };
155-
const client = createClient(dbConf);
161+
const url = `redis://default@${host}:${port}`;
162+
const client = createClient({ url });
156163
const elements: string[] = [];
157164

158-
client.on('error', (error: string) => {
159-
throw new Error(error);
165+
client.on('error', (error: Error) => {
166+
console.error('Redis Client Error', error);
160167
});
161168

162-
client.on('connect', async () => {
163-
try {
164-
if (keyArguments.elementsCount) {
165-
for (let i = 0; i < keyArguments.elementsCount; i++) {
166-
const element = `${keyArguments.elementStartWith}${Common.generateWord(10)}`;
167-
elements.push(element);
168-
}
169+
try {
170+
await client.connect();
171+
172+
if (keyArguments.elementsCount) {
173+
for (let i = 0; i < keyArguments.elementsCount; i++) {
174+
const element = `${keyArguments.elementStartWith}${Common.generateWord(10)}`;
175+
elements.push(element);
169176
}
170-
// Push all the elements to the list
171-
await client.lPush(keyArguments.keyName!, elements); // Spread the elements array
172-
} catch (error) {
173-
console.error('Error pushing elements to list:', error);
174-
} finally {
175-
await client.quit();
176177
}
177-
});
178+
179+
if (keyArguments.keyName) {
180+
await client.lPush(keyArguments.keyName, elements);
181+
} else {
182+
throw new Error('keyName is required to populate the list.');
183+
}
184+
185+
} catch (error) {
186+
console.error('Error pushing elements to list:', error);
187+
} finally {
188+
await client.disconnect();
189+
}
178190
}
179191

180192
/**
@@ -184,30 +196,35 @@ export async function populateListWithElements(host: string, port: string, keyAr
184196
* @param keyArguments The arguments of key and its members
185197
*/
186198
export async function populateSetWithMembers(host: string, port: string, keyArguments: AddKeyArguments): Promise<void> {
187-
const dbConf = { port: Number.parseInt(port), host, username: 'default' };
188-
const client = createClient(dbConf);
199+
const url = `redis://default@${host}:${port}`;
200+
const client = createClient({ url });
189201
const members: string[] = [];
190202

191-
client.on('error', (error: string) => {
192-
throw new Error(error);
203+
client.on('error', (error: Error) => {
204+
console.error('Redis Client Error', error);
193205
});
194206

195-
client.on('connect', async () => {
196-
try {
197-
if (keyArguments.membersCount) {
198-
for (let i = 0; i < keyArguments.membersCount; i++) {
199-
const member = `${keyArguments.memberStartWith}${Common.generateWord(10)}`;
200-
members.push(member);
201-
}
207+
try {
208+
await client.connect();
209+
210+
if (keyArguments.membersCount) {
211+
for (let i = 0; i < keyArguments.membersCount; i++) {
212+
const member = `${keyArguments.memberStartWith}${Common.generateWord(10)}`;
213+
members.push(member);
202214
}
203-
// Add all members to the set using sAdd
204-
await client.sAdd(keyArguments.keyName!, members);
205-
} catch (error) {
206-
console.error('Error adding members to set:', error);
207-
} finally {
208-
await client.quit();
209215
}
210-
});
216+
217+
if (keyArguments.keyName) {
218+
await client.sAdd(keyArguments.keyName, members);
219+
} else {
220+
throw new Error('keyName is required to populate the set.');
221+
}
222+
223+
} catch (error) {
224+
console.error('Error adding members to set:', error);
225+
} finally {
226+
await client.disconnect();
227+
}
211228
}
212229

213230
/**
@@ -217,32 +234,38 @@ export async function populateSetWithMembers(host: string, port: string, keyArgu
217234
* @param keyArguments The arguments of key and its members
218235
*/
219236
export async function populateZSetWithMembers(host: string, port: string, keyArguments: AddKeyArguments): Promise<void> {
220-
const dbConf = { port: Number.parseInt(port), host, username: 'default' };
237+
const url = `redis://default@${host}:${port}`;
238+
const client = createClient({ url });
221239
const minScoreValue = -10;
222240
const maxScoreValue = 10;
223-
const client = createClient(dbConf);
224241
const members: { score: number; value: string }[] = [];
225242

226-
client.on('error', (error: string) => {
227-
throw new Error(error);
243+
client.on('error', (error: Error) => {
244+
console.error('Redis Client Error', error);
228245
});
229246

230-
client.on('connect', async () => {
231-
try {
232-
if (keyArguments.membersCount) {
233-
for (let i = 0; i < keyArguments.membersCount; i++) {
234-
const memberName = `${keyArguments.memberStartWith}${Common.generateWord(10)}`;
235-
const scoreValue = random(minScoreValue, maxScoreValue);
236-
members.push({ score: scoreValue, value: memberName });
237-
}
247+
try {
248+
await client.connect();
249+
250+
if (keyArguments.membersCount) {
251+
for (let i = 0; i < keyArguments.membersCount; i++) {
252+
const memberName = `${keyArguments.memberStartWith}${Common.generateWord(10)}`;
253+
const scoreValue = random(minScoreValue, maxScoreValue);
254+
members.push({ score: scoreValue, value: memberName });
238255
}
239-
await client.zAdd(keyArguments.keyName!, members);
240-
} catch (error) {
241-
console.error('Error adding members to sorted set:', error);
242-
} finally {
243-
await client.quit();
244256
}
245-
});
257+
258+
if (keyArguments.keyName) {
259+
await client.zAdd(keyArguments.keyName, members);
260+
} else {
261+
throw new Error('keyName is required to populate the sorted set.');
262+
}
263+
264+
} catch (error) {
265+
console.error('Error adding members to sorted set:', error);
266+
} finally {
267+
await client.disconnect();
268+
}
246269
}
247270

248271
/**
@@ -251,22 +274,23 @@ export async function populateZSetWithMembers(host: string, port: string, keyArg
251274
* @param port The port of database
252275
*/
253276
export async function deleteAllKeysFromDB(host: string, port: string): Promise<void> {
254-
const dbConf = { port: Number.parseInt(port), host, username: 'default' };
255-
const client = createClient(dbConf);
277+
const url = `redis://default@${host}:${port}`;
278+
const client = createClient({ url });
256279

257-
client.on('error', (error: string) => {
258-
throw new Error(error);
280+
client.on('error', (error: Error) => {
281+
console.error('Redis Client Error', error);
259282
});
260283

261-
client.on('connect', async () => {
262-
try {
263-
await client.flushAll();
264-
} catch (error) {
265-
console.error('Error flushing database:', error);
266-
} finally {
267-
await client.quit();
268-
}
269-
});
284+
try {
285+
await client.connect();
286+
287+
await client.flushAll();
288+
289+
} catch (error) {
290+
console.error('Error flushing database:', error);
291+
} finally {
292+
await client.disconnect();
293+
}
270294
}
271295

272296
/**

0 commit comments

Comments
 (0)