mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-25 00:58:45 +05:00
Change name from Supplier to Route for testit TP and update integration test
This commit is contained in:
committed by
Dan Christian Bogos
parent
27794d2db6
commit
080938c880
@@ -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{
|
||||
|
||||
@@ -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,
|
||||
},
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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,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,,,
|
||||
|
@@ -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, ",")
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user