1- import { describe , it , expect , beforeEach } from 'vitest' ;
2- import { GrafanaTransformer } from '../src/transformers/grafana' ;
3- import { CloudWatchTransformer } from '../src/transformers/cloudwatch' ;
4- import { generateFingerprint } from '../src/fingerprint' ;
5- import { testGrafanaPayloads , testCloudWatchPayloads , testAlertEvents } from './utils/test-fixtures' ;
6-
7- describe ( 'Basic Functionality Tests' , ( ) => {
1+ import { describe , it , expect , beforeEach } from "vitest" ;
2+ import { GrafanaTransformer } from "../src/transformers/grafana" ;
3+ import { CloudWatchTransformer } from "../src/transformers/cloudwatch" ;
4+ import { generateFingerprint } from "../src/fingerprint" ;
5+ import {
6+ testGrafanaPayloads ,
7+ testCloudWatchPayloads ,
8+ testAlertEvents ,
9+ } from "./utils/test-fixtures" ;
10+
11+ describe ( "Basic Functionality Tests" , ( ) => {
812 const mockEnvelope = {
9- event_id : ' test-event-123' ,
10- source : ' test' ,
11- timestamp : ' 2025-09-16T12:00:00.000Z' ,
13+ event_id : " test-event-123" ,
14+ source : " test" ,
15+ timestamp : " 2025-09-16T12:00:00.000Z" ,
1216 } ;
1317
14- describe ( ' GrafanaTransformer' , ( ) => {
18+ describe ( " GrafanaTransformer" , ( ) => {
1519 let transformer : GrafanaTransformer ;
1620
1721 beforeEach ( ( ) => {
1822 transformer = new GrafanaTransformer ( ) ;
1923 } ) ;
2024
21- it ( 'should transform basic Grafana firing alert' , ( ) => {
22- const result = transformer . transform ( testGrafanaPayloads . firing , mockEnvelope ) ;
23-
24- expect ( result . source ) . toBe ( 'grafana' ) ;
25- expect ( result . state ) . toBe ( 'FIRING' ) ;
26- expect ( result . title ) . toBe ( 'Test Alert' ) ;
27- expect ( result . team ) . toBe ( 'dev-infra' ) ;
28- expect ( result . priority ) . toBe ( 'P1' ) ;
25+ it ( "should transform basic Grafana firing alert" , ( ) => {
26+ const result = transformer . transform (
27+ testGrafanaPayloads . firing ,
28+ mockEnvelope ,
29+ ) ;
30+
31+ expect ( result . source ) . toBe ( "grafana" ) ;
32+ expect ( result . state ) . toBe ( "FIRING" ) ;
33+ expect ( result . title ) . toBe ( "Test Alert" ) ;
34+ expect ( result . team ) . toBe ( "dev-infra" ) ;
35+ expect ( result . priority ) . toBe ( "P1" ) ;
2936 } ) ;
3037
31- it ( 'should transform basic Grafana resolved alert' , ( ) => {
32- const result = transformer . transform ( testGrafanaPayloads . resolved , mockEnvelope ) ;
38+ it ( "should transform basic Grafana resolved alert" , ( ) => {
39+ const result = transformer . transform (
40+ testGrafanaPayloads . resolved ,
41+ mockEnvelope ,
42+ ) ;
3343
34- expect ( result . source ) . toBe ( ' grafana' ) ;
35- expect ( result . state ) . toBe ( ' RESOLVED' ) ;
36- expect ( result . title ) . toBe ( ' Test Alert' ) ;
44+ expect ( result . source ) . toBe ( " grafana" ) ;
45+ expect ( result . state ) . toBe ( " RESOLVED" ) ;
46+ expect ( result . title ) . toBe ( " Test Alert" ) ;
3747 } ) ;
3848 } ) ;
3949
40- describe ( ' CloudWatchTransformer' , ( ) => {
50+ describe ( " CloudWatchTransformer" , ( ) => {
4151 let transformer : CloudWatchTransformer ;
4252
4353 beforeEach ( ( ) => {
4454 transformer = new CloudWatchTransformer ( ) ;
4555 } ) ;
4656
47- it ( 'should transform basic CloudWatch alarm' , ( ) => {
48- const result = transformer . transform ( testCloudWatchPayloads . alarm , mockEnvelope ) ;
49-
50- expect ( result . source ) . toBe ( 'cloudwatch' ) ;
51- expect ( result . state ) . toBe ( 'FIRING' ) ;
52- expect ( result . title ) . toBe ( 'High CPU Usage' ) ;
53- expect ( result . team ) . toBe ( 'platform' ) ;
54- expect ( result . priority ) . toBe ( 'P2' ) ;
57+ it ( "should transform basic CloudWatch alarm" , ( ) => {
58+ const result = transformer . transform (
59+ testCloudWatchPayloads . alarm ,
60+ mockEnvelope ,
61+ ) ;
62+
63+ expect ( result . source ) . toBe ( "cloudwatch" ) ;
64+ expect ( result . state ) . toBe ( "FIRING" ) ;
65+ expect ( result . title ) . toBe ( "High CPU Usage" ) ;
66+ expect ( result . team ) . toBe ( "platform" ) ;
67+ expect ( result . priority ) . toBe ( "P2" ) ;
5568 } ) ;
5669
57- it ( 'should transform basic CloudWatch OK state' , ( ) => {
58- const result = transformer . transform ( testCloudWatchPayloads . ok , mockEnvelope ) ;
70+ it ( "should transform basic CloudWatch OK state" , ( ) => {
71+ const result = transformer . transform (
72+ testCloudWatchPayloads . ok ,
73+ mockEnvelope ,
74+ ) ;
5975
60- expect ( result . source ) . toBe ( ' cloudwatch' ) ;
61- expect ( result . state ) . toBe ( ' RESOLVED' ) ;
62- expect ( result . title ) . toBe ( ' High CPU Usage' ) ;
76+ expect ( result . source ) . toBe ( " cloudwatch" ) ;
77+ expect ( result . state ) . toBe ( " RESOLVED" ) ;
78+ expect ( result . title ) . toBe ( " High CPU Usage" ) ;
6379 } ) ;
6480 } ) ;
6581
66- describe ( ' Fingerprint Generation' , ( ) => {
67- it ( ' should generate consistent fingerprints' , ( ) => {
82+ describe ( " Fingerprint Generation" , ( ) => {
83+ it ( " should generate consistent fingerprints" , ( ) => {
6884 const alert1 = testAlertEvents . grafanaFiring ;
6985 const alert2 = { ...testAlertEvents . grafanaFiring } ;
7086
@@ -75,24 +91,30 @@ describe('Basic Functionality Tests', () => {
7591 expect ( fingerprint1 ) . toMatch ( / ^ [ a - f 0 - 9 ] { 64 } $ / ) ;
7692 } ) ;
7793
78- it ( ' should generate different fingerprints for different titles' , ( ) => {
94+ it ( " should generate different fingerprints for different titles" , ( ) => {
7995 const alert1 = testAlertEvents . grafanaFiring ;
80- const alert2 = { ...testAlertEvents . grafanaFiring , title : 'Different Alert Title' } ;
96+ const alert2 = {
97+ ...testAlertEvents . grafanaFiring ,
98+ title : "Different Alert Title" ,
99+ } ;
81100
82101 const fingerprint1 = generateFingerprint ( alert1 ) ;
83102 const fingerprint2 = generateFingerprint ( alert2 ) ;
84103
85104 expect ( fingerprint1 ) . not . toBe ( fingerprint2 ) ;
86105 } ) ;
87106
88- it ( ' should ignore timestamp differences' , ( ) => {
107+ it ( " should ignore timestamp differences" , ( ) => {
89108 const alert1 = testAlertEvents . grafanaFiring ;
90- const alert2 = { ...testAlertEvents . grafanaFiring , occurred_at : '2025-09-16T14:00:00.000Z' } ;
109+ const alert2 = {
110+ ...testAlertEvents . grafanaFiring ,
111+ occurred_at : "2025-09-16T14:00:00.000Z" ,
112+ } ;
91113
92114 const fingerprint1 = generateFingerprint ( alert1 ) ;
93115 const fingerprint2 = generateFingerprint ( alert2 ) ;
94116
95117 expect ( fingerprint1 ) . toBe ( fingerprint2 ) ;
96118 } ) ;
97119 } ) ;
98- } ) ;
120+ } ) ;
0 commit comments