mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-21 23:28:44 +05:00
Fixed StatS integration test
This commit is contained in:
committed by
Dan Christian Bogos
parent
6c8d3f3dff
commit
775c3032c2
@@ -154,14 +154,16 @@ func testV1STSGetStats(t *testing.T) {
|
||||
}
|
||||
var metrics map[string]string
|
||||
expectedMetrics := map[string]string{
|
||||
utils.MetaASR: utils.NOT_AVAILABLE,
|
||||
utils.MetaACD: utils.NOT_AVAILABLE,
|
||||
utils.MetaTCC: utils.NOT_AVAILABLE,
|
||||
utils.MetaTCD: utils.NOT_AVAILABLE,
|
||||
utils.MetaACC: utils.NOT_AVAILABLE,
|
||||
utils.MetaPDD: utils.NOT_AVAILABLE,
|
||||
utils.MetaASR: utils.NOT_AVAILABLE,
|
||||
utils.MetaACD: utils.NOT_AVAILABLE,
|
||||
utils.MetaTCC: utils.NOT_AVAILABLE,
|
||||
utils.MetaTCD: utils.NOT_AVAILABLE,
|
||||
utils.MetaACC: utils.NOT_AVAILABLE,
|
||||
utils.MetaPDD: utils.NOT_AVAILABLE,
|
||||
utils.MetaSum: utils.NOT_AVAILABLE,
|
||||
utils.MetaAverage: utils.NOT_AVAILABLE,
|
||||
}
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetGetQueueStringMetrics,
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetQueueStringMetrics,
|
||||
&utils.TenantID{Tenant: "cgrates.org", ID: expectedIDs[0]}, &metrics); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(expectedMetrics, metrics) {
|
||||
@@ -187,19 +189,22 @@ func testV1STSProcessEvent(t *testing.T) {
|
||||
}
|
||||
//process with one event (should be N/A becaus MinItems is 2)
|
||||
expectedMetrics := map[string]string{
|
||||
utils.MetaASR: utils.NOT_AVAILABLE,
|
||||
utils.MetaACD: utils.NOT_AVAILABLE,
|
||||
utils.MetaTCC: utils.NOT_AVAILABLE,
|
||||
utils.MetaTCD: utils.NOT_AVAILABLE,
|
||||
utils.MetaACC: utils.NOT_AVAILABLE,
|
||||
utils.MetaPDD: utils.NOT_AVAILABLE,
|
||||
utils.MetaASR: utils.NOT_AVAILABLE,
|
||||
utils.MetaACD: utils.NOT_AVAILABLE,
|
||||
utils.MetaTCC: utils.NOT_AVAILABLE,
|
||||
utils.MetaTCD: utils.NOT_AVAILABLE,
|
||||
utils.MetaACC: utils.NOT_AVAILABLE,
|
||||
utils.MetaPDD: utils.NOT_AVAILABLE,
|
||||
utils.MetaSum: utils.NOT_AVAILABLE,
|
||||
utils.MetaAverage: utils.NOT_AVAILABLE,
|
||||
}
|
||||
var metrics map[string]string
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetGetQueueStringMetrics, &utils.TenantID{Tenant: "cgrates.org", ID: "Stats1"}, &metrics); err != nil {
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetQueueStringMetrics, &utils.TenantID{Tenant: "cgrates.org", ID: "Stats1"}, &metrics); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(expectedMetrics, metrics) {
|
||||
t.Errorf("expecting: %+v, received reply: %s", expectedMetrics, metrics)
|
||||
}
|
||||
|
||||
ev2 := utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "event2",
|
||||
@@ -225,23 +230,26 @@ func testV1STSProcessEvent(t *testing.T) {
|
||||
t.Errorf("received reply: %s", reply)
|
||||
}
|
||||
expectedMetrics2 := map[string]string{
|
||||
utils.MetaASR: "66.66667%",
|
||||
utils.MetaACD: "1m30s",
|
||||
utils.MetaACC: "61.5",
|
||||
utils.MetaTCD: "3m0s",
|
||||
utils.MetaTCC: "123",
|
||||
utils.MetaPDD: "4s",
|
||||
utils.MetaASR: "66.66667%",
|
||||
utils.MetaACD: "1m30s",
|
||||
utils.MetaACC: "61.5",
|
||||
utils.MetaTCD: "3m0s",
|
||||
utils.MetaTCC: "123",
|
||||
utils.MetaPDD: "4s",
|
||||
utils.MetaSum: "0",
|
||||
utils.MetaAverage: utils.NOT_AVAILABLE,
|
||||
}
|
||||
var metrics2 map[string]string
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetGetQueueStringMetrics, &utils.TenantID{Tenant: "cgrates.org", ID: "Stats1"}, &metrics2); err != nil {
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetQueueStringMetrics, &utils.TenantID{Tenant: "cgrates.org", ID: "Stats1"}, &metrics2); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(expectedMetrics2, metrics2) {
|
||||
t.Errorf("expecting: %+v, received reply: %s", expectedMetrics2, metrics2)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func testV1STSGetStatsAfterRestart(t *testing.T) {
|
||||
time.Sleep(time.Second)
|
||||
time.Sleep(1 * time.Second)
|
||||
if _, err := engine.StopStartEngine(stsV1CfgPath, statsDelay); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -250,17 +258,21 @@ func testV1STSGetStatsAfterRestart(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatal("Could not connect to rater: ", err.Error())
|
||||
}
|
||||
time.Sleep(2 * time.Second)
|
||||
|
||||
//get stats metrics after restart
|
||||
expectedMetrics2 := map[string]string{
|
||||
utils.MetaASR: "66.66667%",
|
||||
utils.MetaACD: "1m30s",
|
||||
utils.MetaACC: "61.5",
|
||||
utils.MetaTCD: "3m0s",
|
||||
utils.MetaTCC: "123",
|
||||
utils.MetaPDD: "4s",
|
||||
utils.MetaASR: "66.66667%",
|
||||
utils.MetaACD: "1m30s",
|
||||
utils.MetaACC: "61.5",
|
||||
utils.MetaTCD: "3m0s",
|
||||
utils.MetaTCC: "123",
|
||||
utils.MetaPDD: "4s",
|
||||
utils.MetaSum: "0",
|
||||
utils.MetaAverage: utils.NOT_AVAILABLE,
|
||||
}
|
||||
var metrics2 map[string]string
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetGetQueueStringMetrics, &utils.TenantID{Tenant: "cgrates.org", ID: "Stats1"}, &metrics2); err != nil {
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetQueueStringMetrics, &utils.TenantID{Tenant: "cgrates.org", ID: "Stats1"}, &metrics2); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(expectedMetrics2, metrics2) {
|
||||
t.Errorf("After restat expecting: %+v, received reply: %s", expectedMetrics2, metrics2)
|
||||
@@ -422,7 +434,7 @@ func BenchmarkSTSV1SetEvent(b *testing.B) {
|
||||
func BenchmarkSTSV1GetQueueStringMetrics(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
var metrics map[string]string
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetGetQueueStringMetrics,
|
||||
if err := stsV1Rpc.Call(utils.StatSv1GetQueueStringMetrics,
|
||||
&utils.TenantID{Tenant: "cgrates.org", ID: "STATS_1"},
|
||||
&metrics); err != nil {
|
||||
b.Error(err)
|
||||
|
||||
@@ -11,6 +11,7 @@ cgrates.org,FLTR_ACNT_BALANCE_1,*string,EventType,BalanceUpdate,
|
||||
cgrates.org,FLTR_ACNT_BALANCE_1,*gte,Units,10.0,
|
||||
cgrates.org,FLTR_ACNT_EXPIRED,*string,Account,1001;1002,2014-07-29T15:00:00Z
|
||||
cgrates.org,FLTR_ACNT_EXPIRED,*gte,ExpiryTime,*now,
|
||||
cgrates.org,FLTR_STATS_1,*string,Account,1001,
|
||||
cgrates.org,FLTR_STATS_1,*string,EventType,StatUpdate,2014-07-29T15:00:00Z
|
||||
cgrates.org,FLTR_STATS_1,*lt,ASR,40.0,
|
||||
cgrates.org,FLTR_STATS_1,*lt,ACD,3m,
|
||||
|
||||
|
@@ -1,2 +1,3 @@
|
||||
#Tenant[0],Id[1],FilterIDs[2],ActivationInterval[3],QueueLength[4],TTL[5],Metrics[6],MetricParams[7],Blocker[8],Stored[9],Weight[10],MinItems[11],Thresholds[12]
|
||||
cgrates.org,Stats1,FLTR_STS1,2014-07-29T15:00:00Z,100,1s,*asr;*acc;*tcc;*acd;*tcd;*pdd,,true,true,20,2,THRESH1;THRESH2
|
||||
cgrates.org,Stats1,FLTR_STS1,2014-07-29T15:00:00Z,100,1s,*sum;*average,Value,true,true,20,2,THRESH1;THRESH2
|
||||
|
||||
|
@@ -70,6 +70,7 @@ func matchingItemIDsForEvent(ev map[string]interface{}, stringFldIDs, prefixFldI
|
||||
dbItemIDs, err = dm.MatchFilterIndex(dbIdxKey, filterIndexTypes[i], fldName, val)
|
||||
if err != nil {
|
||||
if err == utils.ErrNotFound {
|
||||
err = nil
|
||||
continue
|
||||
}
|
||||
return nil, err
|
||||
@@ -83,5 +84,8 @@ func matchingItemIDsForEvent(ev map[string]interface{}, stringFldIDs, prefixFldI
|
||||
}
|
||||
}
|
||||
}
|
||||
if len(itemIDs) == 0 {
|
||||
return nil, utils.ErrNotFound
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -580,9 +580,9 @@ const (
|
||||
|
||||
//StatS APIs
|
||||
const (
|
||||
StatSv1ProcessEvent = "StatSv1.ProcessEvent"
|
||||
StatSv1GetQueueIDs = "StatSv1.GetQueueIDs"
|
||||
StatSv1GetGetQueueStringMetrics = "StatSv1.GetQueueStringMetrics"
|
||||
StatSv1ProcessEvent = "StatSv1.ProcessEvent"
|
||||
StatSv1GetQueueIDs = "StatSv1.GetQueueIDs"
|
||||
StatSv1GetQueueStringMetrics = "StatSv1.GetQueueStringMetrics"
|
||||
)
|
||||
|
||||
//ResourceS APIs
|
||||
@@ -712,8 +712,8 @@ const (
|
||||
StatFilterRevIndexes = "sfr_"
|
||||
ThresholdFilterIndexes = "tfi_"
|
||||
ThresholdFilterRevIndexes = "tfr_"
|
||||
SupplierFilterIndexes = "sfi_"
|
||||
SupplierFilterRevIndexes = "sfr_"
|
||||
SupplierFilterIndexes = "spi_"
|
||||
SupplierFilterRevIndexes = "spr_"
|
||||
AttributeFilterIndexes = "afi_"
|
||||
AttributeFilterRevIndexes = "afr_"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user