@@ -4,23 +4,22 @@ import { Pipeline } from "../src/Pipeline";
44import { Aggregator } from "../src/Aggregator" ;
55import { TimeSeriesStorage } from "../src/Storage" ;
66import { AlertEngine } from "../src/AlertEngine" ;
7- import { DashboardQuery } from "../src/Dashboard" ;
87
98describe ( "EventCollector" , ( ) => {
109 it ( "ingests and returns a normalized event" , ( ) => {
1110 const collector = new EventCollector ( { sourceTag : "test" } ) ;
1211 const event = collector . ingest ( { name : "signup" , userId : "u1" } ) ;
1312 expect ( event ) . not . toBeNull ( ) ;
14- expect ( event ! . name ) . toBe ( "signup" ) ;
15- expect ( event ! . source ) . toBe ( "test" ) ;
16- expect ( event ! . id ) . toBeDefined ( ) ;
17- expect ( event ! . timestamp ) . toBeDefined ( ) ;
13+ expect ( event \ !. name ) . toBe ( "signup" ) ;
14+ expect ( event \ !. source ) . toBe ( "test" ) ;
15+ expect ( event \ !. id ) . toBeDefined ( ) ;
16+ expect ( event \ !. timestamp ) . toBeDefined ( ) ;
1817 } ) ;
1918
2019 it ( "deduplicates events by ID" , ( ) => {
2120 const collector = new EventCollector ( ) ;
2221 const e1 = collector . ingest ( { name : "click" , userId : "u1" } ) ;
23- const e2 = collector . ingest ( { name : "click" , userId : "u1" , id : e1 ! . id } ) ;
22+ const e2 = collector . ingest ( { name : "click" , userId : "u1" , id : e1 \ !. id } ) ;
2423 expect ( e1 ) . not . toBeNull ( ) ;
2524 expect ( e2 ) . toBeNull ( ) ;
2625 } ) ;
@@ -37,7 +36,7 @@ describe("Pipeline", () => {
3736 const pipeline = new Pipeline ( "test" ) ;
3837 const results : any [ ] = [ ] ;
3938 pipeline
40- . filter ( "has-user" , ( e ) => ! ! e . userId )
39+ . filter ( "has-user" , ( e ) => \ ! \ !e . userId )
4140 . addSink ( ( e ) => results . push ( e ) ) ;
4241
4342 const collector = new EventCollector ( ) ;
@@ -68,18 +67,17 @@ describe("Pipeline", () => {
6867
6968describe ( "Aggregator" , ( ) => {
7069 it ( "aggregates metrics within a window" , ( ) => {
71- let flushed : any = null ;
72- const agg = new Aggregator ( "1m" , ( result ) => { flushed = result ; } ) ;
70+ const agg = new Aggregator ( "1m" ) ;
7371 const now = Date . now ( ) ;
7472 agg . add ( { name : "latency" , value : 100 , timestamp : now , dimensions : { } } ) ;
7573 agg . add ( { name : "latency" , value : 200 , timestamp : now + 1000 , dimensions : { } } ) ;
7674
77- agg . flush ( ) ;
78- expect ( flushed ) . not . toBeNull ( ) ;
79- expect ( flushed . count ) . toBe ( 2 ) ;
80- expect ( flushed . avg ) . toBe ( 150 ) ;
81- expect ( flushed . min ) . toBe ( 100 ) ;
82- expect ( flushed . max ) . toBe ( 200 ) ;
75+ const results = agg . forceFlushAll ( ) ;
76+ expect ( results . length ) . toBe ( 1 ) ;
77+ expect ( results [ 0 ] . count ) . toBe ( 2 ) ;
78+ expect ( results [ 0 ] . avg ) . toBe ( 150 ) ;
79+ expect ( results [ 0 ] . min ) . toBe ( 100 ) ;
80+ expect ( results [ 0 ] . max ) . toBe ( 200 ) ;
8381 } ) ;
8482} ) ;
8583
@@ -131,6 +129,6 @@ describe("AlertEngine", () => {
131129 } ) ;
132130
133131 expect ( alert ) . not . toBeNull ( ) ;
134- expect ( alert ! . ruleName ) . toBe ( "High CPU" ) ;
132+ expect ( alert \ !. ruleName ) . toBe ( "High CPU" ) ;
135133 } ) ;
136134} ) ;
0 commit comments