Skip to content

Commit d0af9d6

Browse files
committed
modify: destroy 도입에 따른 test 와 config 값 변경
1 parent 2937659 commit d0af9d6

File tree

3 files changed

+31
-38
lines changed

3 files changed

+31
-38
lines changed

src/configs/cache.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export const initCache = async (): Promise<void> => {
3636
// 종료 함수
3737
export const closeCache = async (): Promise<void> => {
3838
try {
39-
await cache.disconnect();
39+
cache.destroy();
4040
cacheInitialized = false;
4141
logger.info('Cache system closed successfully');
4242
} catch (error) {

src/modules/cache/__test__/redis.cache.test.ts

Lines changed: 28 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { createClient } from 'redis';
55
// Redis 클라이언트 타입 정의
66
interface MockRedisClient {
77
connect: jest.Mock;
8-
disconnect: jest.Mock;
8+
destroy: jest.Mock;
99
on: jest.Mock;
1010
get: jest.Mock;
1111
set: jest.Mock;
@@ -38,7 +38,7 @@ describe('RedisCache', () => {
3838
// Redis 클라이언트 모킹 설정
3939
mockClient = {
4040
connect: jest.fn(),
41-
disconnect: jest.fn(),
41+
destroy: jest.fn(),
4242
on: jest.fn(),
4343
get: jest.fn(),
4444
set: jest.fn(),
@@ -92,7 +92,7 @@ describe('RedisCache', () => {
9292
// 생성자에서 이벤트 핸들러 설정이 호출되는지 확인
9393
expect(mockClient.on).toHaveBeenCalledWith('error', expect.any(Function));
9494
expect(mockClient.on).toHaveBeenCalledWith('connect', expect.any(Function));
95-
expect(mockClient.on).toHaveBeenCalledWith('disconnect', expect.any(Function));
95+
expect(mockClient.on).toHaveBeenCalledWith('destroy', expect.any(Function));
9696
});
9797
});
9898

@@ -126,38 +126,31 @@ describe('RedisCache', () => {
126126
});
127127
});
128128

129-
describe('disconnect', () => {
129+
describe('destroy', () => {
130130
beforeEach(async () => {
131131
// 연결 상태로 만들기
132132
mockClient.connect.mockResolvedValue(undefined);
133133
await redisCache.connect();
134134
});
135135

136136
it('연결된 상태에서 연결 해제에 성공해야 한다', async () => {
137-
mockClient.disconnect.mockResolvedValue(undefined);
137+
mockClient.destroy.mockResolvedValue(undefined);
138138

139-
await redisCache.disconnect();
139+
await redisCache.destroy();
140140

141-
expect(mockClient.disconnect).toHaveBeenCalledTimes(1);
141+
expect(mockClient.destroy).toHaveBeenCalledTimes(1);
142142
expect(redisCache.isConnected()).toBe(false);
143143
});
144144

145145
it('연결되지 않은 상태에서는 연결 해제하지 않아야 한다', async () => {
146146
// 먼저 연결 해제
147-
mockClient.disconnect.mockResolvedValue(undefined);
148-
await redisCache.disconnect();
147+
mockClient.destroy.mockResolvedValue(undefined);
148+
await redisCache.destroy();
149149

150150
// 두 번째 연결 해제 시도
151-
await redisCache.disconnect();
151+
await redisCache.destroy();
152152

153-
expect(mockClient.disconnect).toHaveBeenCalledTimes(1);
154-
});
155-
156-
it('연결 해제 실패 시 에러를 던져야 한다', async () => {
157-
const disconnectionError = new Error('Disconnection failed');
158-
mockClient.disconnect.mockRejectedValue(disconnectionError);
159-
160-
await expect(redisCache.disconnect()).rejects.toThrow('Disconnection failed');
153+
expect(mockClient.destroy).toHaveBeenCalledTimes(1);
161154
});
162155
});
163156

@@ -187,8 +180,8 @@ describe('RedisCache', () => {
187180

188181
it('연결되지 않은 상태에서 null을 반환해야 한다', async () => {
189182
// 연결 해제
190-
mockClient.disconnect.mockResolvedValue(undefined);
191-
await redisCache.disconnect();
183+
mockClient.destroy.mockResolvedValue(undefined);
184+
await redisCache.destroy();
192185

193186
const result = await redisCache.get('test-key');
194187

@@ -252,8 +245,8 @@ describe('RedisCache', () => {
252245

253246
it('연결되지 않은 상태에서는 저장하지 않아야 한다', async () => {
254247
// 연결 해제
255-
mockClient.disconnect.mockResolvedValue(undefined);
256-
await redisCache.disconnect();
248+
mockClient.destroy.mockResolvedValue(undefined);
249+
await redisCache.destroy();
257250

258251
await redisCache.set('test-key', { test: 'data' });
259252

@@ -293,8 +286,8 @@ describe('RedisCache', () => {
293286

294287
it('연결되지 않은 상태에서 false를 반환해야 한다', async () => {
295288
// 연결 해제
296-
mockClient.disconnect.mockResolvedValue(undefined);
297-
await redisCache.disconnect();
289+
mockClient.destroy.mockResolvedValue(undefined);
290+
await redisCache.destroy();
298291

299292
const result = await redisCache.delete('test-key');
300293

@@ -336,8 +329,8 @@ describe('RedisCache', () => {
336329

337330
it('연결되지 않은 상태에서 false를 반환해야 한다', async () => {
338331
// 연결 해제
339-
mockClient.disconnect.mockResolvedValue(undefined);
340-
await redisCache.disconnect();
332+
mockClient.destroy.mockResolvedValue(undefined);
333+
await redisCache.destroy();
341334

342335
const result = await redisCache.exists('test-key');
343336

@@ -404,8 +397,8 @@ describe('RedisCache', () => {
404397

405398
it('연결되지 않은 상태에서는 삭제하지 않아야 한다', async () => {
406399
// 연결 해제
407-
mockClient.disconnect.mockResolvedValue(undefined);
408-
await redisCache.disconnect();
400+
mockClient.destroy.mockResolvedValue(undefined);
401+
await redisCache.destroy();
409402

410403
await redisCache.clear('test:*');
411404

@@ -452,8 +445,8 @@ describe('RedisCache', () => {
452445

453446
it('연결되지 않은 상태에서 0을 반환해야 한다', async () => {
454447
// 연결 해제
455-
mockClient.disconnect.mockResolvedValue(undefined);
456-
await redisCache.disconnect();
448+
mockClient.destroy.mockResolvedValue(undefined);
449+
await redisCache.destroy();
457450

458451
const result = await redisCache.size();
459452

@@ -510,13 +503,13 @@ describe('RedisCache', () => {
510503
expect(connectHandler).toBeDefined();
511504
connectHandler?.();
512505

513-
const disconnectCall = mockClient.on.mock.calls.find(
514-
(call: [string, (...args: unknown[]) => void]) => call[0] === 'disconnect',
506+
const destroyCall = mockClient.on.mock.calls.find(
507+
(call: [string, (...args: unknown[]) => void]) => call[0] === 'destroy',
515508
);
516-
const disconnectHandler = disconnectCall?.[1];
509+
const destroyHandler = destroyCall?.[1];
517510

518-
expect(disconnectHandler).toBeDefined();
519-
disconnectHandler?.();
511+
expect(destroyHandler).toBeDefined();
512+
destroyHandler?.();
520513
expect(redisCache.isConnected()).toBe(false);
521514
});
522515
});

src/modules/cache/redis.cache.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ export class RedisCache implements ICache {
4242
this.connected = true;
4343
});
4444

45-
this.client.on('disconnect', () => {
46-
logger.warn('Redis Client Disconnected');
45+
this.client.on('destroy', () => {
46+
logger.warn('Redis Client Destroyed');
4747
this.connected = false;
4848
});
4949
}

0 commit comments

Comments
 (0)