2024-03-04 10:15:43 +05:30

89 lines
2.7 KiB
TypeScript

import { rest } from 'msw';
import { billingSuccessResponse } from './__mockdata__/billing';
import { licensesSuccessResponse } from './__mockdata__/licenses';
import { queryRangeSuccessResponse } from './__mockdata__/query_range';
import { serviceSuccessResponse } from './__mockdata__/services';
import { topLevelOperationSuccessResponse } from './__mockdata__/top_level_operations';
export const handlers = [
rest.post('http://localhost/api/v3/query_range', (req, res, ctx) =>
res(ctx.status(200), ctx.json(queryRangeSuccessResponse)),
),
rest.post('http://localhost/api/v4/query_range', (req, res, ctx) =>
res(ctx.status(200), ctx.json(queryRangeSuccessResponse)),
),
rest.post('http://localhost/api/v1/services', (req, res, ctx) =>
res(ctx.status(200), ctx.json(serviceSuccessResponse)),
),
rest.post(
'http://localhost/api/v1/service/top_level_operations',
(req, res, ctx) =>
res(ctx.status(200), ctx.json(topLevelOperationSuccessResponse)),
),
rest.get(
'http://localhost/api/v2/metrics/autocomplete/tagKey',
(req, res, ctx) => {
const metricName = req.url.searchParams.get('metricName');
const match = req.url.searchParams.get('match');
if (metricName === 'signoz_calls_total' && match === 'resource_') {
return res(
ctx.status(200),
ctx.json({ status: 'success', data: ['resource_signoz_collector_id'] }),
);
}
return res(ctx.status(500));
},
),
rest.get(
'http://localhost/api/v2/metrics/autocomplete/tagValue',
(req, res, ctx) => {
// ?metricName=signoz_calls_total&tagKey=resource_signoz_collector_id
const metricName = req.url.searchParams.get('metricName');
const tagKey = req.url.searchParams.get('tagKey');
if (
metricName === 'signoz_calls_total' &&
tagKey === 'resource_signoz_collector_id'
) {
return res(
ctx.status(200),
ctx.json({
status: 'success',
data: [
'f38916c2-daf2-4424-bd3e-4907a7e537b6',
'6d4af7f0-4884-4a37-abd4-6bdbee29fa04',
'523c44b9-5fe1-46f7-9163-4d2c57ece09b',
'aa52e8e8-6f88-4056-8fbd-b377394d022c',
'4d515ba2-065d-4856-b2d8-ddb957c44ddb',
'fd47a544-1410-4c76-a554-90ef6464da02',
'bb455f71-3fe1-4761-bbf5-efe2faee18a6',
'48563680-314e-4117-8a6d-1f0389c95e04',
'6e866423-7704-4d72-be8b-4695bc36f145',
'e4886c76-93f5-430f-9076-eef85524312f',
],
}),
);
}
return res(ctx.status(500));
},
),
rest.get('http://localhost/api/v2/licenses', (req, res, ctx) =>
res(ctx.status(200), ctx.json(licensesSuccessResponse)),
),
// ?licenseKey=58707e3d-3bdb-44e7-8c89-a9be237939f4
rest.get('http://localhost/api/v1/billing', (req, res, ctx) =>
res(ctx.status(200), ctx.json(billingSuccessResponse)),
),
];