Change name from Supplier to Route for testit TP and update integration test

This commit is contained in:
TeoV
2020-08-27 17:10:12 +03:00
committed by Dan Christian Bogos
parent 27794d2db6
commit 080938c880
8 changed files with 165 additions and 164 deletions

View File

@@ -79,7 +79,7 @@ var (
)
// Test start here
func TestSuplSV1IT(t *testing.T) {
func TestRouteSV1IT(t *testing.T) {
switch *dbType {
case utils.MetaInternal:
splSv1ConfDIR = "tutinternal"
@@ -137,7 +137,7 @@ func testV1RouteGetBeforeDataLoad(t *testing.T) {
if err := splSv1Rpc.Call(utils.APIerSv1GetRouteProfile,
&utils.TenantID{
Tenant: "cgrates.org",
ID: "SPL_WEIGHT_1",
ID: "ROUTE_WEIGHT_1",
}, &suplsReply); err == nil || err.Error() != utils.ErrNotFound.Error() {
t.Error(err)
}
@@ -166,18 +166,18 @@ func testV1RouteGetWeightRoutes(t *testing.T) {
},
}
eSpls := engine.SortedRoutes{
ProfileID: "SPL_WEIGHT_1",
ProfileID: "ROUTE_WEIGHT_1",
Sorting: utils.MetaWeight,
Count: 2,
SortedRoutes: []*engine.SortedRoute{
{
RouteID: "supplier2",
RouteID: "route2",
SortingData: map[string]interface{}{
utils.Weight: 20.0,
},
},
{
RouteID: "supplier1",
RouteID: "route1",
SortingData: map[string]interface{}{
utils.Weight: 10.0,
},
@@ -211,12 +211,12 @@ func testV1RouteGetLeastCostRoutes(t *testing.T) {
},
}
eSpls := engine.SortedRoutes{
ProfileID: "SPL_LEASTCOST_1",
ProfileID: "ROUTE_LEASTCOST_1",
Sorting: utils.MetaLC,
Count: 3,
SortedRoutes: []*engine.SortedRoute{
{
RouteID: "supplier3",
RouteID: "route3",
SortingData: map[string]interface{}{
utils.Cost: 0.0136,
utils.RatingPlanID: "RP_SPECIAL_1002",
@@ -224,7 +224,7 @@ func testV1RouteGetLeastCostRoutes(t *testing.T) {
},
},
{
RouteID: "supplier1",
RouteID: "route1",
SortingData: map[string]interface{}{
utils.Cost: 0.0136,
utils.RatingPlanID: "RP_SPECIAL_1002",
@@ -232,7 +232,7 @@ func testV1RouteGetLeastCostRoutes(t *testing.T) {
},
},
{
RouteID: "supplier2",
RouteID: "route2",
SortingData: map[string]interface{}{
utils.Cost: 1.2667,
utils.RatingPlanID: "RP_RETAIL1",
@@ -267,12 +267,12 @@ func testV1RouteGetLeastCostRoutesWithoutUsage(t *testing.T) {
},
}
eSpls := engine.SortedRoutes{
ProfileID: "SPL_LEASTCOST_1",
ProfileID: "ROUTE_LEASTCOST_1",
Sorting: utils.MetaLC,
Count: 3,
SortedRoutes: []*engine.SortedRoute{
{
RouteID: "supplier3",
RouteID: "route3",
SortingData: map[string]interface{}{
utils.Cost: 0.0102,
utils.RatingPlanID: "RP_SPECIAL_1002",
@@ -280,7 +280,7 @@ func testV1RouteGetLeastCostRoutesWithoutUsage(t *testing.T) {
},
},
{
RouteID: "supplier1",
RouteID: "route1",
SortingData: map[string]interface{}{
utils.Cost: 0.0102,
utils.RatingPlanID: "RP_SPECIAL_1002",
@@ -288,7 +288,7 @@ func testV1RouteGetLeastCostRoutesWithoutUsage(t *testing.T) {
},
},
{
RouteID: "supplier2",
RouteID: "route2",
SortingData: map[string]interface{}{
utils.Cost: 1.2,
utils.RatingPlanID: "RP_RETAIL1",
@@ -325,12 +325,12 @@ func testV1RouteGetLeastCostRoutesWithMaxCost(t *testing.T) {
},
}
eSpls := engine.SortedRoutes{
ProfileID: "SPL_LEASTCOST_1",
ProfileID: "ROUTE_LEASTCOST_1",
Sorting: utils.MetaLC,
Count: 2,
SortedRoutes: []*engine.SortedRoute{
{
RouteID: "supplier3",
RouteID: "route3",
SortingData: map[string]interface{}{
utils.Cost: 0.0136,
utils.RatingPlanID: "RP_SPECIAL_1002",
@@ -338,7 +338,7 @@ func testV1RouteGetLeastCostRoutesWithMaxCost(t *testing.T) {
},
},
{
RouteID: "supplier1",
RouteID: "route1",
SortingData: map[string]interface{}{
utils.Cost: 0.0136,
utils.RatingPlanID: "RP_SPECIAL_1002",
@@ -400,12 +400,12 @@ func testV1RouteGetLeastCostRoutesWithMaxCost2(t *testing.T) {
},
}
eSpls := engine.SortedRoutes{
ProfileID: "SPL_LEASTCOST_1",
ProfileID: "ROUTE_LEASTCOST_1",
Sorting: utils.MetaLC,
Count: 2,
SortedRoutes: []*engine.SortedRoute{
{
RouteID: "supplier3",
RouteID: "route3",
SortingData: map[string]interface{}{
utils.Cost: 0.1054,
utils.RatingPlanID: "RP_SPECIAL_1002",
@@ -413,7 +413,7 @@ func testV1RouteGetLeastCostRoutesWithMaxCost2(t *testing.T) {
},
},
{
RouteID: "supplier1",
RouteID: "route1",
SortingData: map[string]interface{}{
utils.Cost: 0.1054,
utils.RatingPlanID: "RP_SPECIAL_1002",
@@ -449,12 +449,12 @@ func testV1RouteGetHighestCostRoutes(t *testing.T) {
},
}
eSpls := engine.SortedRoutes{
ProfileID: "SPL_HIGHESTCOST_1",
ProfileID: "ROUTE_HIGHESTCOST_1",
Sorting: utils.MetaHC,
Count: 3,
SortedRoutes: []*engine.SortedRoute{
{
RouteID: "supplier2",
RouteID: "route2",
SortingData: map[string]interface{}{
utils.Cost: 1.2667,
utils.RatingPlanID: "RP_RETAIL1",
@@ -462,7 +462,7 @@ func testV1RouteGetHighestCostRoutes(t *testing.T) {
},
},
{
RouteID: "supplier3",
RouteID: "route3",
SortingData: map[string]interface{}{
utils.Cost: 0.0136,
utils.RatingPlanID: "RP_SPECIAL_1002",
@@ -470,7 +470,7 @@ func testV1RouteGetHighestCostRoutes(t *testing.T) {
},
},
{
RouteID: "supplier1",
RouteID: "route1",
SortingData: map[string]interface{}{
utils.Cost: 0.0136,
utils.RatingPlanID: "RP_SPECIAL_1002",
@@ -676,7 +676,7 @@ func testV1RouteGetQOSRoutes(t *testing.T) {
},
},
}
expRouteIDs := []string{"supplier1", "supplier3", "supplier2"}
expRouteIDs := []string{"route1", "route3", "route2"}
var suplsReply engine.SortedRoutes
if err := splSv1Rpc.Call(utils.RouteSv1GetRoutes,
ev, &suplsReply); err != nil {
@@ -686,8 +686,8 @@ func testV1RouteGetQOSRoutes(t *testing.T) {
for i, supl := range suplsReply.SortedRoutes {
rcvSupl[i] = supl.RouteID
}
if suplsReply.ProfileID != "SPL_QOS_1" {
t.Errorf("Expecting: SPL_QOS_1, received: %s",
if suplsReply.ProfileID != "ROUTE_QOS_1" {
t.Errorf("Expecting: ROUTE_QOS_1, received: %s",
suplsReply.ProfileID)
}
if !reflect.DeepEqual(rcvSupl, expRouteIDs) {
@@ -709,7 +709,7 @@ func testV1RouteGetQOSRoutes2(t *testing.T) {
},
},
}
expRouteIDs := []string{"supplier3", "supplier2", "supplier1"}
expRouteIDs := []string{"route3", "route2", "route1"}
var suplsReply engine.SortedRoutes
if err := splSv1Rpc.Call(utils.RouteSv1GetRoutes,
ev, &suplsReply); err != nil {
@@ -719,8 +719,8 @@ func testV1RouteGetQOSRoutes2(t *testing.T) {
for i, supl := range suplsReply.SortedRoutes {
rcvSupl[i] = supl.RouteID
}
if suplsReply.ProfileID != "SPL_QOS_2" {
t.Errorf("Expecting: SPL_QOS_2, received: %s",
if suplsReply.ProfileID != "ROUTE_QOS_2" {
t.Errorf("Expecting: ROUTE_QOS_2, received: %s",
suplsReply.ProfileID)
}
if !reflect.DeepEqual(rcvSupl, expRouteIDs) {
@@ -742,7 +742,7 @@ func testV1RouteGetQOSRoutes3(t *testing.T) {
},
},
}
expRouteIDs := []string{"supplier1", "supplier3", "supplier2"}
expRouteIDs := []string{"route1", "route3", "route2"}
var suplsReply engine.SortedRoutes
if err := splSv1Rpc.Call(utils.RouteSv1GetRoutes,
ev, &suplsReply); err != nil {
@@ -752,8 +752,8 @@ func testV1RouteGetQOSRoutes3(t *testing.T) {
for i, supl := range suplsReply.SortedRoutes {
rcvSupl[i] = supl.RouteID
}
if suplsReply.ProfileID != "SPL_QOS_3" {
t.Errorf("Expecting: SPL_QOS_3, received: %s",
if suplsReply.ProfileID != "ROUTE_QOS_3" {
t.Errorf("Expecting: ROUTE_QOS_3, received: %s",
suplsReply.ProfileID)
}
if !reflect.DeepEqual(rcvSupl, expRouteIDs) {
@@ -775,7 +775,7 @@ func testV1RouteGetQOSRoutesFiltred(t *testing.T) {
},
},
}
expRouteIDs := []string{"supplier1", "supplier3"}
expRouteIDs := []string{"route1", "route3"}
var suplsReply engine.SortedRoutes
if err := splSv1Rpc.Call(utils.RouteSv1GetRoutes,
ev, &suplsReply); err != nil {
@@ -785,8 +785,8 @@ func testV1RouteGetQOSRoutesFiltred(t *testing.T) {
for i, supl := range suplsReply.SortedRoutes {
rcvSupl[i] = supl.RouteID
}
if suplsReply.ProfileID != "SPL_QOS_FILTRED" {
t.Errorf("Expecting: SPL_QOS_FILTRED, received: %s",
if suplsReply.ProfileID != "ROUTE_QOS_FILTRED" {
t.Errorf("Expecting: ROUTE_QOS_FILTRED, received: %s",
suplsReply.ProfileID)
}
if !reflect.DeepEqual(rcvSupl, expRouteIDs) {
@@ -812,7 +812,7 @@ func testV1RouteGetQOSRoutesFiltred2(t *testing.T) {
},
},
}
expRouteIDs := []string{"supplier3", "supplier2"}
expRouteIDs := []string{"route3", "route2"}
var suplsReply engine.SortedRoutes
if err := splSv1Rpc.Call(utils.RouteSv1GetRoutes,
ev, &suplsReply); err != nil {
@@ -822,8 +822,8 @@ func testV1RouteGetQOSRoutesFiltred2(t *testing.T) {
for i, supl := range suplsReply.SortedRoutes {
rcvSupl[i] = supl.RouteID
}
if suplsReply.ProfileID != "SPL_QOS_FILTRED2" {
t.Errorf("Expecting: SPL_QOS_FILTRED2, received: %s",
if suplsReply.ProfileID != "ROUTE_QOS_FILTRED2" {
t.Errorf("Expecting: ROUTE_QOS_FILTRED2, received: %s",
suplsReply.ProfileID)
}
if !reflect.DeepEqual(rcvSupl, expRouteIDs) {
@@ -847,12 +847,12 @@ func testV1RouteGetRouteWithoutFilter(t *testing.T) {
},
}
eSpls := engine.SortedRoutes{
ProfileID: "SPL_WEIGHT_2",
ProfileID: "ROUTE_WEIGHT_2",
Sorting: utils.MetaWeight,
Count: 1,
SortedRoutes: []*engine.SortedRoute{
{
RouteID: "supplier1",
RouteID: "route1",
SortingData: map[string]interface{}{
utils.Weight: 10.0,
},
@@ -885,7 +885,7 @@ func testV1RouteSetRouteProfiles(t *testing.T) {
SortingParameters: []string{"Param1", "Param2"},
Routes: []*engine.Route{
{
ID: "SPL1",
ID: "ROUTE1",
RatingPlanIDs: []string{"RP1"},
FilterIDs: []string{"FLTR_1"},
AccountIDs: []string{"Acc"},
@@ -915,9 +915,9 @@ func testV1RouteSetRouteProfiles(t *testing.T) {
}
func testV1RouteGetRouteProfileIDs(t *testing.T) {
expected := []string{"SPL_HIGHESTCOST_1", "SPL_QOS_1", "SPL_QOS_2", "SPL_QOS_FILTRED", "SPL_QOS_FILTRED2",
"SPL_ACNT_1001", "SPL_LEASTCOST_1", "SPL_WEIGHT_2", "SPL_WEIGHT_1", "SPL_QOS_3",
"TEST_PROFILE1", "SPL_LOAD_DIST", "SPL_LCR"}
expected := []string{"ROUTE_HIGHESTCOST_1", "ROUTE_QOS_1", "ROUTE_QOS_2", "ROUTE_QOS_FILTRED", "ROUTE_QOS_FILTRED2",
"ROUTE_ACNT_1001", "ROUTE_LEASTCOST_1", "ROUTE_WEIGHT_2", "ROUTE_WEIGHT_1", "ROUTE_QOS_3",
"TEST_PROFILE1", "ROUTE_LOAD_DIST", "ROUTE_LCR"}
var result []string
if err := splSv1Rpc.Call(utils.APIerSv1GetRouteProfileIDs,
&utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{"cgrates.org"}}, &result); err != nil {
@@ -930,7 +930,7 @@ func testV1RouteGetRouteProfileIDs(t *testing.T) {
func testV1RouteUpdateRouteProfiles(t *testing.T) {
splPrf.Routes = []*engine.Route{
{
ID: "SPL1",
ID: "ROUTE1",
RatingPlanIDs: []string{"RP1"},
FilterIDs: []string{"FLTR_1"},
AccountIDs: []string{"Acc"},
@@ -941,7 +941,7 @@ func testV1RouteUpdateRouteProfiles(t *testing.T) {
RouteParameters: "SortingParameter1",
},
{
ID: "SPL2",
ID: "ROUTE2",
RatingPlanIDs: []string{"RP2"},
FilterIDs: []string{"FLTR_2"},
AccountIDs: []string{"Acc"},
@@ -954,7 +954,7 @@ func testV1RouteUpdateRouteProfiles(t *testing.T) {
}
reverseRoutes := []*engine.Route{
{
ID: "SPL2",
ID: "ROUTE2",
RatingPlanIDs: []string{"RP2"},
FilterIDs: []string{"FLTR_2"},
AccountIDs: []string{"Acc"},
@@ -965,7 +965,7 @@ func testV1RouteUpdateRouteProfiles(t *testing.T) {
RouteParameters: "SortingParameter2",
},
{
ID: "SPL1",
ID: "ROUTE1",
RatingPlanIDs: []string{"RP1"},
FilterIDs: []string{"FLTR_1"},
AccountIDs: []string{"Acc"},
@@ -1035,7 +1035,7 @@ func testV1RouteGetRouteForEvent(t *testing.T) {
}
expected := engine.RouteProfile{
Tenant: "cgrates.org",
ID: "SPL_LCR",
ID: "ROUTE_LCR",
FilterIDs: []string{"FLTR_TEST"},
ActivationInterval: &utils.ActivationInterval{
ActivationTime: time.Date(2017, 11, 27, 00, 00, 00, 00, time.UTC),
@@ -1044,7 +1044,7 @@ func testV1RouteGetRouteForEvent(t *testing.T) {
SortingParameters: []string{},
Routes: []*engine.Route{
&engine.Route{
ID: "supplier_1",
ID: "route_1",
FilterIDs: nil,
AccountIDs: nil,
RatingPlanIDs: []string{"RP_TEST_1"},
@@ -1055,7 +1055,7 @@ func testV1RouteGetRouteForEvent(t *testing.T) {
RouteParameters: "",
},
&engine.Route{
ID: "supplier_2",
ID: "route_2",
FilterIDs: nil,
AccountIDs: nil,
RatingPlanIDs: []string{"RP_TEST_2"},
@@ -1090,19 +1090,19 @@ func testV1RouteGetRouteForEvent(t *testing.T) {
// Scenario: We create two rating plans RP_MOBILE and RP_LOCAL
// RP_LOCAL contains destination for both mobile and local
// and RP_MOBILE contains destinations only for mobile
// Create a RouteProfile with *least_cost strategy with 2 suppliers
// supplier1 have attached RP_LOCAL and supplier2 have attach RP_MOBILE
// Create a RouteProfile with *least_cost strategy with 2 routes
// route1 have attached RP_LOCAL and route2 have attach RP_MOBILE
func testV1RoutesOneRouteWithoutDestination(t *testing.T) {
var reply *engine.RouteProfile
if err := splSv1Rpc.Call(utils.APIerSv1GetRouteProfile,
&utils.TenantID{Tenant: "cgrates.org", ID: "SPL_DESTINATION"}, &reply); err == nil ||
&utils.TenantID{Tenant: "cgrates.org", ID: "ROUTE_DESTINATION"}, &reply); err == nil ||
err.Error() != utils.ErrNotFound.Error() {
t.Error(err)
}
splPrf = &RouteWithCache{
RouteProfile: &engine.RouteProfile{
Tenant: "cgrates.org",
ID: "SPL_DESTINATION",
ID: "ROUTE_DESTINATION",
FilterIDs: []string{"*string:~*req.Account:SpecialCase"},
Sorting: utils.MetaLC,
Routes: []*engine.Route{
@@ -1144,7 +1144,7 @@ func testV1RoutesOneRouteWithoutDestination(t *testing.T) {
},
}
eSpls := engine.SortedRoutes{
ProfileID: "SPL_DESTINATION",
ProfileID: "ROUTE_DESTINATION",
Sorting: utils.MetaLC,
Count: 1,
SortedRoutes: []*engine.SortedRoute{

View File

@@ -200,18 +200,18 @@ func testSSv1ItProcessEventAuth(t *testing.T) {
t.Errorf("Unexpected ResourceAllocation: %s", rply.ResourceAllocation)
}
eSplrs := &engine.SortedRoutes{
ProfileID: "SPL_ACNT_1001",
ProfileID: "ROUTE_ACNT_1001",
Sorting: utils.MetaWeight,
Count: 2,
SortedRoutes: []*engine.SortedRoute{
{
RouteID: "supplier1",
RouteID: "route1",
SortingData: map[string]interface{}{
"Weight": 20.0,
},
},
{
RouteID: "supplier2",
RouteID: "route2",
SortingData: map[string]interface{}{
"Weight": 10.0,
},

View File

@@ -235,18 +235,18 @@ func testSSv1ItAuth(t *testing.T) {
t.Errorf("Unexpected ResourceAllocation: %s", *rply.ResourceAllocation)
}
eSplrs := &engine.SortedRoutes{
ProfileID: "SPL_ACNT_1001",
ProfileID: "ROUTE_ACNT_1001",
Sorting: utils.MetaWeight,
Count: 2,
SortedRoutes: []*engine.SortedRoute{
{
RouteID: "supplier1",
RouteID: "route1",
SortingData: map[string]interface{}{
"Weight": 20.0,
},
},
{
RouteID: "supplier2",
RouteID: "route2",
SortingData: map[string]interface{}{
"Weight": 10.0,
},
@@ -323,7 +323,7 @@ func testSSv1ItAuthWithDigest(t *testing.T) {
if *rply.ResourceAllocation == "" {
t.Errorf("Unexpected ResourceAllocation: %s", *rply.ResourceAllocation)
}
eSplrs := utils.StringPointer("supplier1,supplier2")
eSplrs := utils.StringPointer("route1,route2")
if *eSplrs != *rply.RoutesDigest {
t.Errorf("expecting: %v, received: %v", *eSplrs, *rply.RoutesDigest)
}

View File

@@ -53,30 +53,31 @@ func TestMfGeneralItems(t *testing.T) {
func TestMfEnvReaderITRead(t *testing.T) {
expected := GeneralCfg{
NodeID: "d80fac5",
Logger: "*syslog",
LogLevel: 6,
HttpSkipTlsVerify: false,
RoundingDecimals: 5,
DBDataEncoding: "msgpack",
TpExportPath: "/var/spool/cgrates/tpe",
PosterAttempts: 3,
FailedPostsDir: "/var/spool/cgrates/failed_posts",
DefaultReqType: utils.META_PSEUDOPREPAID,
DefaultCategory: "call",
DefaultTenant: "cgrates.org",
DefaultCaching: utils.MetaReload,
DefaultTimezone: "Local",
ConnectAttempts: 3,
Reconnects: -1,
ConnectTimeout: time.Duration(1 * time.Second),
ReplyTimeout: time.Duration(2 * time.Second),
LockingTimeout: time.Duration(0),
DigestSeparator: ",",
DigestEqual: ":",
RSRSep: ";",
MaxParallelConns: 100,
FailedPostsTTL: 5 * time.Second,
NodeID: "d80fac5",
Logger: "*syslog",
LogLevel: 6,
HttpSkipTlsVerify: false,
RoundingDecimals: 5,
DBDataEncoding: "msgpack",
TpExportPath: "/var/spool/cgrates/tpe",
PosterAttempts: 3,
FailedPostsDir: "/var/spool/cgrates/failed_posts",
DefaultReqType: utils.META_PSEUDOPREPAID,
DefaultCategory: "call",
DefaultTenant: "cgrates.org",
DefaultCaching: utils.MetaReload,
DefaultTimezone: "Local",
ConnectAttempts: 3,
Reconnects: -1,
ConnectTimeout: time.Duration(1 * time.Second),
ReplyTimeout: time.Duration(2 * time.Second),
LockingTimeout: time.Duration(0),
DigestSeparator: ",",
DigestEqual: ":",
RSRSep: ";",
MaxParallelConns: 100,
FailedPostsTTL: 5 * time.Second,
ConcurrentStrategy: utils.MetaBusy,
}
if !reflect.DeepEqual(expected, *mfCgrCfg.generalCfg) {
t.Errorf("Expected: %+v\n, recived: %+v", utils.ToJSON(expected), utils.ToJSON(*mfCgrCfg.generalCfg))

View File

@@ -1,8 +1,8 @@
#Tenant,ID,FilterIDs,ActivationInterval,Sorting,SortingParameters,RouteID,RouteFilterIDs,RouteAccountIDs,RouteRatingPlanIDs,RouteResourceIDs,RouteStatIDs,RouteWeight,RouteBlocker,RouteParameters,Weight
cgrates.org,SPL_WEIGHT_2,,2017-11-27T00:00:00Z,*weight,,supplier1,,,,,,10,,,5
cgrates.org,SPL_WEIGHT_1,FLTR_DST_DE;FLTR_ACNT_1007,2017-11-27T00:00:00Z,*weight,,supplier1,,,,,,10,,,10
cgrates.org,SPL_WEIGHT_1,FLTR_DST_DE,,,,supplier2,,,,,,20,,,
cgrates.org,SPL_WEIGHT_1,FLTR_ACNT_1007,,,,supplier3,FLTR_ACNT_dan,,,,,15,,,
cgrates.org,SPL_LEASTCOST_1,FLTR_1,2017-11-27T00:00:00Z,*lc,,supplier1,,,RP_SPECIAL_1002,,,10,false,,10
cgrates.org,SPL_LEASTCOST_1,,,,,supplier2,,,RP_RETAIL1,,,20,,,
cgrates.org,SPL_LEASTCOST_1,,,,,supplier3,,,RP_SPECIAL_1002,,,15,,,
cgrates.org,ROUTE_WEIGHT_2,,2017-11-27T00:00:00Z,*weight,,route1,,,,,,10,,,5
cgrates.org,ROUTE_WEIGHT_1,FLTR_DST_DE;FLTR_ACNT_1007,2017-11-27T00:00:00Z,*weight,,route1,,,,,,10,,,10
cgrates.org,ROUTE_WEIGHT_1,FLTR_DST_DE,,,,route2,,,,,,20,,,
cgrates.org,ROUTE_WEIGHT_1,FLTR_ACNT_1007,,,,route3,FLTR_ACNT_dan,,,,,15,,,
cgrates.org,ROUTE_LEASTCOST_1,FLTR_1,2017-11-27T00:00:00Z,*lc,,route1,,,RP_SPECIAL_1002,,,10,false,,10
cgrates.org,ROUTE_LEASTCOST_1,,,,,route2,,,RP_RETAIL1,,,20,,,
cgrates.org,ROUTE_LEASTCOST_1,,,,,route3,,,RP_SPECIAL_1002,,,15,,,
1 #Tenant ID FilterIDs ActivationInterval Sorting SortingParameters RouteID RouteFilterIDs RouteAccountIDs RouteRatingPlanIDs RouteResourceIDs RouteStatIDs RouteWeight RouteBlocker RouteParameters Weight
2 cgrates.org SPL_WEIGHT_2 ROUTE_WEIGHT_2 2017-11-27T00:00:00Z *weight supplier1 route1 10 5
3 cgrates.org SPL_WEIGHT_1 ROUTE_WEIGHT_1 FLTR_DST_DE;FLTR_ACNT_1007 2017-11-27T00:00:00Z *weight supplier1 route1 10 10
4 cgrates.org SPL_WEIGHT_1 ROUTE_WEIGHT_1 FLTR_DST_DE supplier2 route2 20
5 cgrates.org SPL_WEIGHT_1 ROUTE_WEIGHT_1 FLTR_ACNT_1007 supplier3 route3 FLTR_ACNT_dan 15
6 cgrates.org SPL_LEASTCOST_1 ROUTE_LEASTCOST_1 FLTR_1 2017-11-27T00:00:00Z *lc supplier1 route1 RP_SPECIAL_1002 10 false 10
7 cgrates.org SPL_LEASTCOST_1 ROUTE_LEASTCOST_1 supplier2 route2 RP_RETAIL1 20
8 cgrates.org SPL_LEASTCOST_1 ROUTE_LEASTCOST_1 supplier3 route3 RP_SPECIAL_1002 15

View File

@@ -1,33 +1,33 @@
#Tenant,ID,FilterIDs,ActivationInterval,Sorting,SortingParameters,RouteID,RouteFilterIDs,RouteAccountIDs,RouteRatingPlanIDs,RouteResourceIDs,RouteStatIDs,RouteWeight,RouteBlocker,RouteParameters,Weight
cgrates.org,SPL_ACNT_1001,FLTR_ACCOUNT_1001,,*weight,,supplier1,,,,,,20,,,10
cgrates.org,SPL_ACNT_1001,,,,,supplier2,,,,,,10,,,
cgrates.org,SPL_WEIGHT_2,,2017-11-27T00:00:00Z,*weight,,supplier1,,,,,,10,,,5
cgrates.org,SPL_WEIGHT_1,FLTR_DST_DE;FLTR_ACNT_1007,2017-11-27T00:00:00Z,*weight,,supplier1,,,,,,10,,,10
cgrates.org,SPL_WEIGHT_1,FLTR_DST_DE,,,,supplier2,,,,,,20,,,
cgrates.org,SPL_WEIGHT_1,FLTR_ACNT_1007,,,,supplier3,FLTR_SPP_ACNT_dan,,,,,15,,,
cgrates.org,SPL_LEASTCOST_1,FLTR_1,2017-11-27T00:00:00Z,*lc,,supplier1,,,RP_SPECIAL_1002,,,10,false,,10
cgrates.org,SPL_LEASTCOST_1,,,,,supplier2,,,RP_RETAIL1,,,20,,,
cgrates.org,SPL_LEASTCOST_1,,,,,supplier3,,,RP_SPECIAL_1002,,,15,,,
cgrates.org,SPL_HIGHESTCOST_1,FLTR_SPP_2,2017-11-27T00:00:00Z,*hc,,supplier1,,,RP_SPECIAL_1002,,,10,false,,20
cgrates.org,SPL_HIGHESTCOST_1,,,,,supplier2,,,RP_RETAIL1,,,20,,,
cgrates.org,SPL_HIGHESTCOST_1,,,,,supplier3,,,RP_SPECIAL_1002,,,15,,,
cgrates.org,SPL_QOS_1,FLTR_SPP_3,2017-11-27T00:00:00Z,*qos,*acd;*tcd;*asr,supplier1,,,,,Stat_1;Stat_1_1,10,false,,20
cgrates.org,SPL_QOS_1,,,,,supplier2,,,,,Stat_2,20,,,
cgrates.org,SPL_QOS_1,,,,,supplier3,,,,,Stat_3,35,,,
cgrates.org,SPL_QOS_2,FLTR_SPP_4,2017-11-27T00:00:00Z,*qos,*dcc,supplier1,,,,,Stat_1;Stat_1_1,10,false,,20
cgrates.org,SPL_QOS_2,,,,,supplier2,,,,,Stat_2,20,,,
cgrates.org,SPL_QOS_2,,,,,supplier3,,,,,Stat_3,35,,,
cgrates.org,SPL_QOS_3,FLTR_SPP_5,2017-11-27T00:00:00Z,*qos,*pdd,supplier1,,,,,Stat_1;Stat_1_1,10,false,,20
cgrates.org,SPL_QOS_3,,,,,supplier2,,,,,Stat_2,20,,,
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,,20
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,,20
cgrates.org,SPL_QOS_FILTRED2,,,,,supplier2,FLTR_QOS_SP2_2,,RP_RETAIL1,,Stat_2,20,,,
cgrates.org,SPL_QOS_FILTRED2,,,,,supplier3,,,,,Stat_3,35,,,
cgrates.org,SPL_LCR,FLTR_TEST,2017-11-27T00:00:00Z,*lc,,supplier_1,,,RP_TEST_1,,,10,,,50
cgrates.org,SPL_LCR,,,,,supplier_2,,,RP_TEST_2,,,,,,
cgrates.org,SPL_LOAD_DIST,FLTR_SPP_LOAD_DIST,,*load,supplier1:2;supplier2:7;*default:5,supplier1,,,,,Stat_Supplier1:*sum:~*req.LoadReq,10,false,,20
cgrates.org,SPL_LOAD_DIST,,,,,supplier2,,,,,Stat_Supplier2:*sum:~*req.LoadReq,20,,,
cgrates.org,SPL_LOAD_DIST,,,,,supplier3,,,,,Stat_Supplier3:*sum:~*req.LoadReq,35,,,
cgrates.org,ROUTE_ACNT_1001,FLTR_ACCOUNT_1001,,*weight,,route1,,,,,,20,,,10
cgrates.org,ROUTE_ACNT_1001,,,,,route2,,,,,,10,,,
cgrates.org,ROUTE_WEIGHT_2,,2017-11-27T00:00:00Z,*weight,,route1,,,,,,10,,,5
cgrates.org,ROUTE_WEIGHT_1,FLTR_DST_DE;FLTR_ACNT_1007,2017-11-27T00:00:00Z,*weight,,route1,,,,,,10,,,10
cgrates.org,ROUTE_WEIGHT_1,FLTR_DST_DE,,,,route2,,,,,,20,,,
cgrates.org,ROUTE_WEIGHT_1,FLTR_ACNT_1007,,,,route3,FLTR_SPP_ACNT_dan,,,,,15,,,
cgrates.org,ROUTE_LEASTCOST_1,FLTR_1,2017-11-27T00:00:00Z,*lc,,route1,,,RP_SPECIAL_1002,,,10,false,,10
cgrates.org,ROUTE_LEASTCOST_1,,,,,route2,,,RP_RETAIL1,,,20,,,
cgrates.org,ROUTE_LEASTCOST_1,,,,,route3,,,RP_SPECIAL_1002,,,15,,,
cgrates.org,ROUTE_HIGHESTCOST_1,FLTR_SPP_2,2017-11-27T00:00:00Z,*hc,,route1,,,RP_SPECIAL_1002,,,10,false,,20
cgrates.org,ROUTE_HIGHESTCOST_1,,,,,route2,,,RP_RETAIL1,,,20,,,
cgrates.org,ROUTE_HIGHESTCOST_1,,,,,route3,,,RP_SPECIAL_1002,,,15,,,
cgrates.org,ROUTE_QOS_1,FLTR_SPP_3,2017-11-27T00:00:00Z,*qos,*acd;*tcd;*asr,route1,,,,,Stat_1;Stat_1_1,10,false,,20
cgrates.org,ROUTE_QOS_1,,,,,route2,,,,,Stat_2,20,,,
cgrates.org,ROUTE_QOS_1,,,,,route3,,,,,Stat_3,35,,,
cgrates.org,ROUTE_QOS_2,FLTR_SPP_4,2017-11-27T00:00:00Z,*qos,*dcc,route1,,,,,Stat_1;Stat_1_1,10,false,,20
cgrates.org,ROUTE_QOS_2,,,,,route2,,,,,Stat_2,20,,,
cgrates.org,ROUTE_QOS_2,,,,,route3,,,,,Stat_3,35,,,
cgrates.org,ROUTE_QOS_3,FLTR_SPP_5,2017-11-27T00:00:00Z,*qos,*pdd,route1,,,,,Stat_1;Stat_1_1,10,false,,20
cgrates.org,ROUTE_QOS_3,,,,,route2,,,,,Stat_2,20,,,
cgrates.org,ROUTE_QOS_3,,,,,route3,,,,,Stat_3,35,,,
cgrates.org,ROUTE_QOS_FILTRED,FLTR_SPP_6,2017-11-27T00:00:00Z,*qos,*pdd,route1,FLTR_QOS_SP1,,,,Stat_1;Stat_1_1,10,false,,20
cgrates.org,ROUTE_QOS_FILTRED,,,,,route2,FLTR_QOS_SP2,,,,Stat_2,20,,,
cgrates.org,ROUTE_QOS_FILTRED,,,,,route3,,,,,Stat_3,35,,,
cgrates.org,ROUTE_QOS_FILTRED2,FLTR_SPP_QOS_2,2017-11-27T00:00:00Z,*qos,*acd;*tcd;*asr,route1,FLTR_QOS_SP1_2,,RP_SPECIAL_1002,,Stat_1;Stat_1_1,10,false,,20
cgrates.org,ROUTE_QOS_FILTRED2,,,,,route2,FLTR_QOS_SP2_2,,RP_RETAIL1,,Stat_2,20,,,
cgrates.org,ROUTE_QOS_FILTRED2,,,,,route3,,,,,Stat_3,35,,,
cgrates.org,ROUTE_LCR,FLTR_TEST,2017-11-27T00:00:00Z,*lc,,route_1,,,RP_TEST_1,,,10,,,50
cgrates.org,ROUTE_LCR,,,,,route_2,,,RP_TEST_2,,,,,,
cgrates.org,ROUTE_LOAD_DIST,FLTR_SPP_LOAD_DIST,,*load,route1:2;route2:7;*default:5,route1,,,,,Stat_Supplier1:*sum:~*req.LoadReq,10,false,,20
cgrates.org,ROUTE_LOAD_DIST,,,,,route2,,,,,Stat_Supplier2:*sum:~*req.LoadReq,20,,,
cgrates.org,ROUTE_LOAD_DIST,,,,,route3,,,,,Stat_Supplier3:*sum:~*req.LoadReq,35,,,
1 #Tenant ID FilterIDs ActivationInterval Sorting SortingParameters RouteID RouteFilterIDs RouteAccountIDs RouteRatingPlanIDs RouteResourceIDs RouteStatIDs RouteWeight RouteBlocker RouteParameters Weight
2 cgrates.org SPL_ACNT_1001 ROUTE_ACNT_1001 FLTR_ACCOUNT_1001 *weight supplier1 route1 20 10
3 cgrates.org SPL_ACNT_1001 ROUTE_ACNT_1001 supplier2 route2 10
4 cgrates.org SPL_WEIGHT_2 ROUTE_WEIGHT_2 2017-11-27T00:00:00Z *weight supplier1 route1 10 5
5 cgrates.org SPL_WEIGHT_1 ROUTE_WEIGHT_1 FLTR_DST_DE;FLTR_ACNT_1007 2017-11-27T00:00:00Z *weight supplier1 route1 10 10
6 cgrates.org SPL_WEIGHT_1 ROUTE_WEIGHT_1 FLTR_DST_DE supplier2 route2 20
7 cgrates.org SPL_WEIGHT_1 ROUTE_WEIGHT_1 FLTR_ACNT_1007 supplier3 route3 FLTR_SPP_ACNT_dan 15
8 cgrates.org SPL_LEASTCOST_1 ROUTE_LEASTCOST_1 FLTR_1 2017-11-27T00:00:00Z *lc supplier1 route1 RP_SPECIAL_1002 10 false 10
9 cgrates.org SPL_LEASTCOST_1 ROUTE_LEASTCOST_1 supplier2 route2 RP_RETAIL1 20
10 cgrates.org SPL_LEASTCOST_1 ROUTE_LEASTCOST_1 supplier3 route3 RP_SPECIAL_1002 15
11 cgrates.org SPL_HIGHESTCOST_1 ROUTE_HIGHESTCOST_1 FLTR_SPP_2 2017-11-27T00:00:00Z *hc supplier1 route1 RP_SPECIAL_1002 10 false 20
12 cgrates.org SPL_HIGHESTCOST_1 ROUTE_HIGHESTCOST_1 supplier2 route2 RP_RETAIL1 20
13 cgrates.org SPL_HIGHESTCOST_1 ROUTE_HIGHESTCOST_1 supplier3 route3 RP_SPECIAL_1002 15
14 cgrates.org SPL_QOS_1 ROUTE_QOS_1 FLTR_SPP_3 2017-11-27T00:00:00Z *qos *acd;*tcd;*asr supplier1 route1 Stat_1;Stat_1_1 10 false 20
15 cgrates.org SPL_QOS_1 ROUTE_QOS_1 supplier2 route2 Stat_2 20
16 cgrates.org SPL_QOS_1 ROUTE_QOS_1 supplier3 route3 Stat_3 35
17 cgrates.org SPL_QOS_2 ROUTE_QOS_2 FLTR_SPP_4 2017-11-27T00:00:00Z *qos *dcc supplier1 route1 Stat_1;Stat_1_1 10 false 20
18 cgrates.org SPL_QOS_2 ROUTE_QOS_2 supplier2 route2 Stat_2 20
19 cgrates.org SPL_QOS_2 ROUTE_QOS_2 supplier3 route3 Stat_3 35
20 cgrates.org SPL_QOS_3 ROUTE_QOS_3 FLTR_SPP_5 2017-11-27T00:00:00Z *qos *pdd supplier1 route1 Stat_1;Stat_1_1 10 false 20
21 cgrates.org SPL_QOS_3 ROUTE_QOS_3 supplier2 route2 Stat_2 20
22 cgrates.org SPL_QOS_3 ROUTE_QOS_3 supplier3 route3 Stat_3 35
23 cgrates.org SPL_QOS_FILTRED ROUTE_QOS_FILTRED FLTR_SPP_6 2017-11-27T00:00:00Z *qos *pdd supplier1 route1 FLTR_QOS_SP1 Stat_1;Stat_1_1 10 false 20
24 cgrates.org SPL_QOS_FILTRED ROUTE_QOS_FILTRED supplier2 route2 FLTR_QOS_SP2 Stat_2 20
25 cgrates.org SPL_QOS_FILTRED ROUTE_QOS_FILTRED supplier3 route3 Stat_3 35
26 cgrates.org SPL_QOS_FILTRED2 ROUTE_QOS_FILTRED2 FLTR_SPP_QOS_2 2017-11-27T00:00:00Z *qos *acd;*tcd;*asr supplier1 route1 FLTR_QOS_SP1_2 RP_SPECIAL_1002 Stat_1;Stat_1_1 10 false 20
27 cgrates.org SPL_QOS_FILTRED2 ROUTE_QOS_FILTRED2 supplier2 route2 FLTR_QOS_SP2_2 RP_RETAIL1 Stat_2 20
28 cgrates.org SPL_QOS_FILTRED2 ROUTE_QOS_FILTRED2 supplier3 route3 Stat_3 35
29 cgrates.org SPL_LCR ROUTE_LCR FLTR_TEST 2017-11-27T00:00:00Z *lc supplier_1 route_1 RP_TEST_1 10 50
30 cgrates.org SPL_LCR ROUTE_LCR supplier_2 route_2 RP_TEST_2
31 cgrates.org SPL_LOAD_DIST ROUTE_LOAD_DIST FLTR_SPP_LOAD_DIST *load supplier1:2;supplier2:7;*default:5 route1:2;route2:7;*default:5 supplier1 route1 Stat_Supplier1:*sum:~*req.LoadReq 10 false 20
32 cgrates.org SPL_LOAD_DIST ROUTE_LOAD_DIST supplier2 route2 Stat_Supplier2:*sum:~*req.LoadReq 20
33 cgrates.org SPL_LOAD_DIST ROUTE_LOAD_DIST supplier3 route3 Stat_Supplier3:*sum:~*req.LoadReq 35

View File

@@ -262,7 +262,7 @@ func testDspSessionAuthorize(t *testing.T) {
if *rply.ResourceAllocation == "" {
t.Errorf("Unexpected ResourceAllocation: %s", *rply.ResourceAllocation)
}
eSplrs := "supplier1,supplier2"
eSplrs := "route1,route2"
tp := strings.Split(*rply.RoutesDigest, ",")
sort.Strings(tp)
*rply.RoutesDigest = strings.Join(tp, ",")

View File

@@ -64,7 +64,7 @@ var (
)
// Test start here
func TestSuplSV1IT(t *testing.T) {
func TestRouteSV1IT(t *testing.T) {
switch *dbType {
case utils.MetaInternal:
splSv1ConfDIR = "tutinternal"
@@ -140,7 +140,7 @@ func testV1SplSSetSupplierProfilesWithoutRatingPlanIDs(t *testing.T) {
Sorting: utils.MetaLC,
Routes: []*engine.Route{
{
ID: "SPL1",
ID: "ROUTE1",
AccountIDs: []string{"accc"},
Weight: 20,
Blocker: false,
@@ -194,7 +194,7 @@ func testV1SplSSetSupplierProfilesWithoutRatingPlanIDs(t *testing.T) {
func testV1SplSAddNewSplPrf(t *testing.T) {
var reply *engine.RouteProfile
if err := splSv1Rpc.Call(utils.APIerSv1GetRouteProfile,
&utils.TenantID{Tenant: "cgrates.org", ID: "SPL_ResourceTest"}, &reply); err == nil ||
&utils.TenantID{Tenant: "cgrates.org", ID: "ROUTE_ResourceTest"}, &reply); err == nil ||
err.Error() != utils.ErrNotFound.Error() {
t.Error(err)
}
@@ -202,26 +202,26 @@ func testV1SplSAddNewSplPrf(t *testing.T) {
splPrf = &v1.RouteWithCache{
RouteProfile: &engine.RouteProfile{
Tenant: "cgrates.org",
ID: "SPL_ResourceTest",
ID: "ROUTE_ResourceTest",
Sorting: utils.MetaReas,
FilterIDs: []string{"*string:~*req.CustomField:ResourceTest"},
Routes: []*engine.Route{
//supplier1 will have ResourceUsage = 11
//route1 will have ResourceUsage = 11
{
ID: "supplier1",
ID: "route1",
ResourceIDs: []string{"ResourceSupplier1", "Resource2Supplier1"},
Weight: 20,
Blocker: false,
},
//supplier2 and supplier3 will have the same ResourceUsage = 7
//route2 and route3 will have the same ResourceUsage = 7
{
ID: "supplier2",
ID: "route2",
ResourceIDs: []string{"ResourceSupplier2"},
Weight: 20,
Blocker: false,
},
{
ID: "supplier3",
ID: "route3",
ResourceIDs: []string{"ResourceSupplier3"},
Weight: 35,
Blocker: false,
@@ -237,7 +237,7 @@ func testV1SplSAddNewSplPrf(t *testing.T) {
t.Error("Unexpected reply returned", result)
}
if err := splSv1Rpc.Call(utils.APIerSv1GetRouteProfile,
&utils.TenantID{Tenant: "cgrates.org", ID: "SPL_ResourceTest"}, &reply); err != nil {
&utils.TenantID{Tenant: "cgrates.org", ID: "ROUTE_ResourceTest"}, &reply); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(splPrf.RouteProfile, reply) {
t.Errorf("Expecting: %+v, received: %+v", splPrf.RouteProfile, reply)
@@ -251,7 +251,7 @@ func testV1SplSAddNewResPrf(t *testing.T) {
ResourceProfile: &engine.ResourceProfile{
Tenant: "cgrates.org",
ID: "ResourceSupplier1",
FilterIDs: []string{"*string:~*req.Supplier:supplier1", "*string:~*req.ResID:ResourceSupplier1"},
FilterIDs: []string{"*string:~*req.Supplier:route1", "*string:~*req.ResID:ResourceSupplier1"},
ActivationInterval: &utils.ActivationInterval{
ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
ExpiryTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
@@ -274,7 +274,7 @@ func testV1SplSAddNewResPrf(t *testing.T) {
ResourceProfile: &engine.ResourceProfile{
Tenant: "cgrates.org",
ID: "Resource2Supplier1",
FilterIDs: []string{"*string:~*req.Supplier:supplier1", "*string:~*req.ResID:Resource2Supplier1"},
FilterIDs: []string{"*string:~*req.Supplier:route1", "*string:~*req.ResID:Resource2Supplier1"},
ActivationInterval: &utils.ActivationInterval{
ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
ExpiryTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
@@ -297,7 +297,7 @@ func testV1SplSAddNewResPrf(t *testing.T) {
ResourceProfile: &engine.ResourceProfile{
Tenant: "cgrates.org",
ID: "ResourceSupplier2",
FilterIDs: []string{"*string:~*req.Supplier:supplier2", "*string:~*req.ResID:ResourceSupplier2"},
FilterIDs: []string{"*string:~*req.Supplier:route2", "*string:~*req.ResID:ResourceSupplier2"},
ActivationInterval: &utils.ActivationInterval{
ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
ExpiryTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
@@ -320,7 +320,7 @@ func testV1SplSAddNewResPrf(t *testing.T) {
ResourceProfile: &engine.ResourceProfile{
Tenant: "cgrates.org",
ID: "ResourceSupplier3",
FilterIDs: []string{"*string:~*req.Supplier:supplier3", "*string:~*req.ResID:ResourceSupplier3"},
FilterIDs: []string{"*string:~*req.Supplier:route3", "*string:~*req.ResID:ResourceSupplier3"},
ActivationInterval: &utils.ActivationInterval{
ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
ExpiryTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
@@ -350,7 +350,7 @@ func testV1SplSPopulateResUsage(t *testing.T) {
ID: "Event1",
Event: map[string]interface{}{
"Account": "1002",
"Supplier": "supplier1",
"Supplier": "route1",
"ResID": "ResourceSupplier1",
},
},
@@ -375,7 +375,7 @@ func testV1SplSPopulateResUsage(t *testing.T) {
ID: "Event2",
Event: map[string]interface{}{
"Account": "1002",
"Supplier": "supplier1",
"Supplier": "route1",
"ResID": "Resource2Supplier1",
},
},
@@ -399,7 +399,7 @@ func testV1SplSPopulateResUsage(t *testing.T) {
ID: "Event3",
Event: map[string]interface{}{
"Account": "1002",
"Supplier": "supplier2",
"Supplier": "route2",
"ResID": "ResourceSupplier2",
},
},
@@ -423,7 +423,7 @@ func testV1SplSPopulateResUsage(t *testing.T) {
ID: "Event4",
Event: map[string]interface{}{
"Account": "1002",
"Supplier": "supplier3",
"Supplier": "route3",
"ResID": "ResourceSupplier3",
},
},
@@ -453,7 +453,7 @@ func testV1SplSGetSortedSuppliers(t *testing.T) {
},
},
}
expSupplierIDs := []string{"supplier3", "supplier2", "supplier1"}
expSupplierIDs := []string{"route3", "route2", "route1"}
var suplsReply engine.SortedRoutes
if err := splSv1Rpc.Call(utils.RouteSv1GetRoutes,
ev, &suplsReply); err != nil {
@@ -463,8 +463,8 @@ func testV1SplSGetSortedSuppliers(t *testing.T) {
for i, supl := range suplsReply.SortedRoutes {
rcvSupl[i] = supl.RouteID
}
if suplsReply.ProfileID != "SPL_ResourceTest" {
t.Errorf("Expecting: SPL_ResourceTest, received: %s",
if suplsReply.ProfileID != "ROUTE_ResourceTest" {
t.Errorf("Expecting: ROUTE_ResourceTest, received: %s",
suplsReply.ProfileID)
}
if !reflect.DeepEqual(rcvSupl, expSupplierIDs) {
@@ -477,7 +477,7 @@ func testV1SplSGetSortedSuppliers(t *testing.T) {
func testV1SplSAddNewSplPrf2(t *testing.T) {
var reply *engine.RouteProfile
if err := splSv1Rpc.Call(utils.APIerSv1GetRouteProfile,
&utils.TenantID{Tenant: "cgrates.org", ID: "SPL_ResourceDescendent"}, &reply); err == nil ||
&utils.TenantID{Tenant: "cgrates.org", ID: "ROUTE_ResourceDescendent"}, &reply); err == nil ||
err.Error() != utils.ErrNotFound.Error() {
t.Error(err)
}
@@ -485,26 +485,26 @@ func testV1SplSAddNewSplPrf2(t *testing.T) {
splPrf = &v1.RouteWithCache{
RouteProfile: &engine.RouteProfile{
Tenant: "cgrates.org",
ID: "SPL_ResourceDescendent",
ID: "ROUTE_ResourceDescendent",
Sorting: utils.MetaReds,
FilterIDs: []string{"*string:~*req.CustomField:ResourceDescendent"},
Routes: []*engine.Route{
//supplier1 will have ResourceUsage = 11
//route1 will have ResourceUsage = 11
{
ID: "supplier1",
ID: "route1",
ResourceIDs: []string{"ResourceSupplier1", "Resource2Supplier1"},
Weight: 20,
Blocker: false,
},
//supplier2 and supplier3 will have the same ResourceUsage = 7
//route2 and route3 will have the same ResourceUsage = 7
{
ID: "supplier2",
ID: "route2",
ResourceIDs: []string{"ResourceSupplier2"},
Weight: 20,
Blocker: false,
},
{
ID: "supplier3",
ID: "route3",
ResourceIDs: []string{"ResourceSupplier3"},
Weight: 35,
Blocker: false,
@@ -520,7 +520,7 @@ func testV1SplSAddNewSplPrf2(t *testing.T) {
t.Error("Unexpected reply returned", result)
}
if err := splSv1Rpc.Call(utils.APIerSv1GetRouteProfile,
&utils.TenantID{Tenant: "cgrates.org", ID: "SPL_ResourceDescendent"}, &reply); err != nil {
&utils.TenantID{Tenant: "cgrates.org", ID: "ROUTE_ResourceDescendent"}, &reply); err != nil {
t.Error(err)
} else if !reflect.DeepEqual(splPrf.RouteProfile, reply) {
t.Errorf("Expecting: %+v, received: %+v", splPrf.RouteProfile, reply)
@@ -539,7 +539,7 @@ func testV1SplSGetSortedSuppliers2(t *testing.T) {
},
},
}
expSupplierIDs := []string{"supplier1", "supplier3", "supplier2"}
expSupplierIDs := []string{"route1", "route3", "route2"}
var suplsReply engine.SortedRoutes
if err := splSv1Rpc.Call(utils.RouteSv1GetRoutes,
ev, &suplsReply); err != nil {
@@ -549,8 +549,8 @@ func testV1SplSGetSortedSuppliers2(t *testing.T) {
for i, supl := range suplsReply.SortedRoutes {
rcvSupl[i] = supl.RouteID
}
if suplsReply.ProfileID != "SPL_ResourceDescendent" {
t.Errorf("Expecting: SPL_ResourceDescendent, received: %s",
if suplsReply.ProfileID != "ROUTE_ResourceDescendent" {
t.Errorf("Expecting: ROUTE_ResourceDescendent, received: %s",
suplsReply.ProfileID)
}
if !reflect.DeepEqual(rcvSupl, expSupplierIDs) {
@@ -744,7 +744,7 @@ func testV1SplSGetSoredSuppliersWithLoad(t *testing.T) {
}
expSuppliers := []*engine.SortedRoute{
{
RouteID: "supplier2",
RouteID: "route2",
RouteParameters: "",
SortingData: map[string]interface{}{
"Load": 2.0,
@@ -752,7 +752,7 @@ func testV1SplSGetSoredSuppliersWithLoad(t *testing.T) {
"Weight": 20.0},
},
{
RouteID: "supplier3",
RouteID: "route3",
RouteParameters: "",
SortingData: map[string]interface{}{
"Load": 3.0,
@@ -760,7 +760,7 @@ func testV1SplSGetSoredSuppliersWithLoad(t *testing.T) {
"Weight": 35.0},
},
{
RouteID: "supplier1",
RouteID: "route1",
RouteParameters: "",
SortingData: map[string]interface{}{
"Load": 2.0,
@@ -774,8 +774,8 @@ func testV1SplSGetSoredSuppliersWithLoad(t *testing.T) {
ev, &suplsReply); err != nil {
t.Error(err)
} else {
if suplsReply.ProfileID != "SPL_LOAD_DIST" {
t.Errorf("Expecting: SPL_LOAD_DIST, received: %s",
if suplsReply.ProfileID != "ROUTE_LOAD_DIST" {
t.Errorf("Expecting: ROUTE_LOAD_DIST, received: %s",
suplsReply.ProfileID)
}
if !reflect.DeepEqual(suplsReply.SortedRoutes, expSuppliers) {