fix(core): Do not cache dynamic webhooks (#15176)

This commit is contained in:
Iván Ovejero
2025-05-07 13:21:33 +02:00
committed by GitHub
parent 90f662e229
commit 0659ba957c
2 changed files with 33 additions and 8 deletions

View File

@@ -360,4 +360,30 @@ describe('WebhookService', () => {
expect(nodeType.webhook).toHaveBeenCalled();
});
});
describe('findCached()', () => {
test('should not cache dynamic webhooks', async () => {
const method = 'GET';
const webhookId = uuid();
const fullPath = `${webhookId}/user/123/posts`;
const dynamicWebhook = createWebhook(method, 'user/:id/posts', webhookId, 3);
webhookRepository.findOneBy.mockResolvedValueOnce(null); // static lookup
webhookRepository.findBy.mockResolvedValueOnce([dynamicWebhook]); // dynamic lookup
const result1 = await webhookService.findWebhook(method, fullPath);
expect(result1).toBe(dynamicWebhook);
expect(cacheService.set).not.toHaveBeenCalled();
webhookRepository.findOneBy.mockResolvedValueOnce(null);
webhookRepository.findBy.mockResolvedValueOnce([dynamicWebhook]);
const result2 = await webhookService.findWebhook(method, fullPath);
expect(result2).toBe(dynamicWebhook);
expect(webhookRepository.findOneBy).toHaveBeenCalledTimes(2);
expect(webhookRepository.findBy).toHaveBeenCalledTimes(2);
});
});
});