From 2dd44e2f58d040552105c37232b11a41abcce5a7 Mon Sep 17 00:00:00 2001 From: Tom Ratcliffe Date: Fri, 14 Jun 2024 12:42:00 +0100 Subject: [PATCH] Alerting: Remove duplicated alertRule handlers file and usage (#89100) --- .../unified/mocks/server/all-handlers.ts | 1 - .../mocks/server/handlers/alertRule.ts | 75 ------------------- 2 files changed, 76 deletions(-) delete mode 100644 public/app/features/alerting/unified/mocks/server/handlers/alertRule.ts diff --git a/public/app/features/alerting/unified/mocks/server/all-handlers.ts b/public/app/features/alerting/unified/mocks/server/all-handlers.ts index 8aa4831116d..908f4d77acc 100644 --- a/public/app/features/alerting/unified/mocks/server/all-handlers.ts +++ b/public/app/features/alerting/unified/mocks/server/all-handlers.ts @@ -21,7 +21,6 @@ const allHandlers = [ ...folderHandlers, ...pluginsHandlers, ...silenceHandlers, - ...alertRuleHandlers, ]; export default allHandlers; diff --git a/public/app/features/alerting/unified/mocks/server/handlers/alertRule.ts b/public/app/features/alerting/unified/mocks/server/handlers/alertRule.ts deleted file mode 100644 index bfa2afd5536..00000000000 --- a/public/app/features/alerting/unified/mocks/server/handlers/alertRule.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { http, HttpResponse } from 'msw'; - -import { - RulerGrafanaRuleDTO, - RulerRuleGroupDTO, - RulerRulesConfigDTO, -} from '../../../../../../types/unified-alerting-dto'; -import { grafanaRulerRule, namespaceByUid, namespaces } from '../../alertRuleApi'; - -export const rulerRulesHandler = () => { - return http.get(`/api/ruler/grafana/api/v1/rules`, () => { - const response = Object.entries(namespaces).reduce((acc, [namespaceUid, groups]) => { - acc[namespaceByUid[namespaceUid].name] = groups; - return acc; - }, {}); - - return HttpResponse.json(response); - }); -}; - -export const rulerRuleNamespaceHandler = () => { - return http.get<{ folderUid: string }>(`/api/ruler/grafana/api/v1/rules/:folderUid`, ({ params: { folderUid } }) => { - // This mimic API response as closely as possible - Invalid folderUid returns 403 - const namespace = namespaces[folderUid]; - if (!namespace) { - return new HttpResponse(null, { status: 403 }); - } - - return HttpResponse.json({ - [namespaceByUid[folderUid].name]: namespaces[folderUid], - }); - }); -}; - -export const rulerRuleGroupHandler = () => { - return http.get<{ folderUid: string; groupName: string }>( - `/api/ruler/grafana/api/v1/rules/:folderUid/:groupName`, - ({ params: { folderUid, groupName } }) => { - // This mimic API response as closely as possible. - // Invalid folderUid returns 403 but invalid group will return 202 with empty list of rules - const namespace = namespaces[folderUid]; - if (!namespace) { - return new HttpResponse(null, { status: 403 }); - } - - const matchingGroup = namespace.find((group) => group.name === groupName); - return HttpResponse.json({ - name: groupName, - interval: matchingGroup?.interval, - rules: matchingGroup?.rules ?? [], - }); - } - ); -}; - -export const getAlertRuleHandler = () => { - const grafanaRules = new Map( - [grafanaRulerRule].map((rule) => [rule.grafana_alert.uid, rule]) - ); - - return http.get<{ uid: string }>(`/api/ruler/grafana/api/v1/rule/:uid`, ({ params: { uid } }) => { - const rule = grafanaRules.get(uid); - if (!rule) { - return new HttpResponse(null, { status: 404 }); - } - return HttpResponse.json(rule); - }); -}; - -export const alertRuleHandlers = [ - rulerRulesHandler(), - rulerRuleNamespaceHandler(), - rulerRuleGroupHandler(), - getAlertRuleHandler(), -];