From 28f409934ce4f56c4a5358fa76df905a7ef6b2e2 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Mon, 4 Apr 2016 21:25:36 +0300 Subject: [PATCH] test for queue length purge --- engine/stats_test.go | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/engine/stats_test.go b/engine/stats_test.go index c08374ee5..e74d8d86e 100644 --- a/engine/stats_test.go +++ b/engine/stats_test.go @@ -459,7 +459,7 @@ func TestStatsSaveRestoreQeue(t *testing.T) { } } -func TestStatsPurge(t *testing.T) { +func TestStatsPurgeTime(t *testing.T) { sq := NewStatsQueue(&CdrStats{Metrics: []string{ASR, ACD, TCD, ACC, TCC}, TimeWindow: 30 * time.Minute}) cdr := &CDR{ AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), @@ -480,3 +480,25 @@ func TestStatsPurge(t *testing.T) { t.Errorf("Error getting stats: %+v", s) } } + +func TestStatsPurgeLength(t *testing.T) { + sq := NewStatsQueue(&CdrStats{Metrics: []string{ASR, ACD, TCD, ACC, TCC}, QueueLength: 1}) + cdr := &CDR{ + AnswerTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), + Usage: 10 * time.Second, + Cost: 1, + } + sq.AppendCDR(cdr) + cdr.Cost = 2 + sq.AppendCDR(cdr) + cdr.Cost = 3 + sq.AppendCDR(cdr) + s := sq.GetStats() + if s[ASR] != 100 || + s[ACD] != 10 || + s[TCD] != 10 || + s[ACC] != 3 || + s[TCC] != 3 { + t.Errorf("Error getting stats: %+v", s) + } +}