mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Add filter on cost for qos strategy
This commit is contained in:
committed by
Dan Christian Bogos
parent
da8cd6360e
commit
efe71c09d4
@@ -59,6 +59,7 @@ var sTestsSupplierSV1 = []func(t *testing.T){
|
||||
testV1SplSGetQOSSuppliers2,
|
||||
testV1SplSGetQOSSuppliers3,
|
||||
testV1SplSGetQOSSuppliersFiltred,
|
||||
testV1SplSGetQOSSuppliersFiltred2,
|
||||
testV1SplSGetSupplierWithoutFilter,
|
||||
testV1SplSSetSupplierProfiles,
|
||||
testV1SplSUpdateSupplierProfiles,
|
||||
@@ -350,7 +351,6 @@ func testV1SplSGetHighestCostSuppliers(t *testing.T) {
|
||||
ID: "testV1SplSGetHighestCostSuppliers",
|
||||
Event: map[string]interface{}{
|
||||
utils.Account: "1003",
|
||||
utils.Subject: "1003",
|
||||
utils.Destination: "1002",
|
||||
utils.SetupTime: time.Date(2017, 12, 1, 14, 25, 0, 0, time.UTC),
|
||||
utils.Usage: "1m20s",
|
||||
@@ -721,6 +721,56 @@ func testV1SplSGetQOSSuppliersFiltred(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func testV1SplSGetQOSSuppliersFiltred2(t *testing.T) {
|
||||
ev := &engine.ArgsGetSuppliers{
|
||||
CGREvent: utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "testV1SplSGetQOSSuppliers",
|
||||
Event: map[string]interface{}{
|
||||
"DistincMatch": "*qos_filtred2",
|
||||
utils.Account: "1003",
|
||||
utils.Destination: "1002",
|
||||
utils.SetupTime: time.Date(2017, 12, 1, 14, 25, 0, 0, time.UTC),
|
||||
utils.Usage: "1m20s",
|
||||
},
|
||||
},
|
||||
}
|
||||
eSpls := engine.SortedSuppliers{
|
||||
ProfileID: "SPL_QOS_FILTRED2",
|
||||
Sorting: utils.MetaQOS,
|
||||
SortedSuppliers: []*engine.SortedSupplier{
|
||||
&engine.SortedSupplier{
|
||||
SupplierID: "supplier3",
|
||||
SortingData: map[string]interface{}{
|
||||
"*acd:Stat_3": 11.0,
|
||||
"*asr:Stat_3": 100.0,
|
||||
"*tcd:Stat_3": 11.0,
|
||||
utils.Weight: 35.0,
|
||||
},
|
||||
},
|
||||
&engine.SortedSupplier{
|
||||
SupplierID: "supplier2",
|
||||
SortingData: map[string]interface{}{
|
||||
"*acd:Stat_2": 5.5,
|
||||
"*asr:Stat_2": 100.0,
|
||||
"*tcd:Stat_2": 11.0,
|
||||
utils.Cost: 0.46666,
|
||||
utils.RatingPlanID: "RP_RETAIL1",
|
||||
utils.Weight: 20.0,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
var suplsReply engine.SortedSuppliers
|
||||
if err := splSv1Rpc.Call(utils.SupplierSv1GetSuppliers,
|
||||
ev, &suplsReply); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(eSpls, suplsReply) {
|
||||
t.Errorf("Expecting: %s, received: %s",
|
||||
utils.ToJSON(eSpls), utils.ToJSON(suplsReply))
|
||||
}
|
||||
}
|
||||
|
||||
func testV1SplSGetSupplierWithoutFilter(t *testing.T) {
|
||||
ev := &engine.ArgsGetSuppliers{
|
||||
CGREvent: utils.CGREvent{
|
||||
|
||||
@@ -7,9 +7,8 @@ cgrates.org,FLTR_1,*rsr,,Subject(~^1.*1$);Destination(1002),
|
||||
cgrates.org,FLTR_ACNT_1007,*string,Account,1007,2014-07-29T15:00:00Z
|
||||
cgrates.org,FLTR_ACNT_dan,*string,Account,dan,2014-07-29T15:00:00Z
|
||||
cgrates.org,FLTR_SPP_ACNT_dan,*string,*req.Account,dan,2014-07-29T15:00:00Z
|
||||
cgrates.org,FLTR_SPP_2,*string,Account,1003;1002,2014-07-29T15:00:00Z
|
||||
cgrates.org,FLTR_SPP_2,*string,Account,1003,2014-07-29T15:00:00Z
|
||||
cgrates.org,FLTR_SPP_2,*prefix,Destination,10;20,
|
||||
cgrates.org,FLTR_SPP_2,*rsr,,Subject(~^1.*1$);Destination(1002),
|
||||
cgrates.org,FLTR_SPP_2,*string,DistincMatch,*highest_cost,
|
||||
cgrates.org,FLTR_SPP_3,*string,DistincMatch,*qos,2014-07-29T15:00:00Z
|
||||
cgrates.org,FLTR_STAT_1,*string,Account,1001,2014-07-29T15:00:00Z
|
||||
@@ -21,4 +20,7 @@ cgrates.org,FLTR_STAT_1_1,*string,Stat,Stat1_1,2014-07-29T15:00:00Z
|
||||
cgrates.org,FLTR_SPP_6,*string,DistincMatch,*qos_filtred,2014-07-29T15:00:00Z
|
||||
cgrates.org,FLTR_QOS_SP1,*gte,*gs.*acd,10.0,2014-07-29T15:00:00Z
|
||||
cgrates.org,FLTR_QOS_SP2,*gte,*gs.*acd,10.0,2014-07-29T15:00:00Z
|
||||
cgrates.org,FLTR_QOS_SP2,*gte,*gs.*tcd,11.0,
|
||||
cgrates.org,FLTR_QOS_SP2,*gte,*gs.*tcd,11.0,
|
||||
cgrates.org,FLTR_SPP_QOS_2,*string,DistincMatch,*qos_filtred2,2014-07-29T15:00:00Z
|
||||
cgrates.org,FLTR_QOS_SP1_2,*gte,*sd.Cost,0.1,2014-07-29T15:00:00Z
|
||||
cgrates.org,FLTR_QOS_SP2_2,*gte,*sd.Cost,0.2,2014-07-29T15:00:00Z
|
||||
|
@@ -23,3 +23,6 @@ cgrates.org,SPL_QOS_3,,,,,supplier3,,,,,Stat_3,35,,,
|
||||
cgrates.org,SPL_QOS_FILTRED,FLTR_SPP_6,2017-11-27T00:00:00Z,*qos,*pdd,supplier1,FLTR_QOS_SP1,,,,Stat_1;Stat_1_1,10,false,,10
|
||||
cgrates.org,SPL_QOS_FILTRED,,,,,supplier2,FLTR_QOS_SP2,,,,Stat_2,20,,,
|
||||
cgrates.org,SPL_QOS_FILTRED,,,,,supplier3,,,,,Stat_3,35,,,
|
||||
cgrates.org,SPL_QOS_FILTRED2,FLTR_SPP_QOS_2,2017-11-27T00:00:00Z,*qos,*acd;*tcd;*asr,supplier1,FLTR_QOS_SP1_2,,RP_SPECIAL_1002,,Stat_1;Stat_1_1,10,false,,10
|
||||
cgrates.org,SPL_QOS_FILTRED2,,,,,supplier2,FLTR_QOS_SP2_2,,RP_RETAIL1,,Stat_2,20,,,
|
||||
cgrates.org,SPL_QOS_FILTRED2,,,,,supplier3,,,,,Stat_3,35,,,
|
||||
|
||||
|
Reference in New Issue
Block a user