mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Updated gob integration tests
This commit is contained in:
@@ -167,7 +167,6 @@ func testV2CDRsProcessCDR(t *testing.T) {
|
||||
} else if reply != utils.OK {
|
||||
t.Error("Unexpected reply received: ", reply)
|
||||
}
|
||||
time.Sleep(150 * time.Millisecond) // Give time for CDR to be rated
|
||||
}
|
||||
|
||||
func testV2CDRsGetCdrs(t *testing.T) {
|
||||
@@ -281,13 +280,12 @@ func testV2CDRsRateCDRs(t *testing.T) {
|
||||
|
||||
if err := cdrsRpc.Call(utils.CDRsV1RateCDRs, &engine.ArgRateCDRs{
|
||||
RPCCDRsFilter: utils.RPCCDRsFilter{NotRunIDs: []string{utils.MetaRaw}},
|
||||
Flags: []string{"*chargers:true"},
|
||||
Flags: []string{"*chargers:false"},
|
||||
}, &reply); err != nil {
|
||||
t.Error("Unexpected error: ", err.Error())
|
||||
} else if reply != utils.OK {
|
||||
t.Error("Unexpected reply received: ", reply)
|
||||
}
|
||||
time.Sleep(150 * time.Millisecond) // Give time for CDR to be rated
|
||||
}
|
||||
|
||||
func testV2CDRsGetCdrs2(t *testing.T) {
|
||||
@@ -325,7 +323,7 @@ func testV2CDRsGetCdrs2(t *testing.T) {
|
||||
} else if len(cdrs) != 1 {
|
||||
t.Error("Unexpected number of CDRs returned: ", len(cdrs))
|
||||
} else {
|
||||
if cdrs[0].Cost != 0.0198 {
|
||||
if cdrs[0].Cost != 0.0102 {
|
||||
t.Errorf("Unexpected cost for CDR: %f", cdrs[0].Cost)
|
||||
}
|
||||
}
|
||||
@@ -358,7 +356,6 @@ func testV2CDRsUsageNegative(t *testing.T) {
|
||||
} else if reply != utils.OK {
|
||||
t.Error("Unexpected reply received: ", reply)
|
||||
}
|
||||
time.Sleep(150 * time.Millisecond) // Give time for CDR to be rated
|
||||
|
||||
var cdrs []*engine.ExternalCDR
|
||||
args := utils.RPCCDRsFilter{RunIDs: []string{utils.MetaRaw}, OriginIDs: []string{"testV2CDRsUsageNegative"}}
|
||||
@@ -512,7 +509,6 @@ func testV2CDRsDifferentTenants(t *testing.T) {
|
||||
} else if reply3 != utils.OK {
|
||||
t.Error("Unexpected reply received: ", reply3)
|
||||
}
|
||||
time.Sleep(150 * time.Millisecond) // Give time for CDR to be rated
|
||||
|
||||
var cdrs []*engine.ExternalCDR
|
||||
args := utils.RPCCDRsFilter{Tenants: []string{"CustomTenant"}}
|
||||
@@ -572,7 +568,6 @@ func testV2CDRsProcessCDRNoRattingPlan(t *testing.T) {
|
||||
} else if reply != utils.OK {
|
||||
t.Error("Unexpected reply received: ", reply)
|
||||
}
|
||||
time.Sleep(150 * time.Millisecond) // Give time for CDR to be rated
|
||||
}
|
||||
|
||||
func testV2CDRsGetCdrsNoRattingPlan(t *testing.T) {
|
||||
@@ -665,7 +660,6 @@ func testV2CDRsRateCDRsWithRatingPlan(t *testing.T) {
|
||||
} else if reply != utils.OK {
|
||||
t.Error("Unexpected reply received: ", reply)
|
||||
}
|
||||
time.Sleep(150 * time.Millisecond) // Give time for CDR to be rated
|
||||
}
|
||||
|
||||
func testV2CDRsGetCdrsWithRattingPlan(t *testing.T) {
|
||||
@@ -778,7 +772,7 @@ func testV2CDRsProcessCDRWithThreshold(t *testing.T) {
|
||||
utils.OriginID: "testV2CDRsProcessCDRWithThreshold",
|
||||
utils.OriginHost: "192.168.1.1",
|
||||
utils.Source: "testV2CDRsProcessCDRWithThreshold",
|
||||
utils.RequestType: utils.META_PREPAID,
|
||||
utils.RequestType: utils.META_POSTPAID,
|
||||
utils.Category: "call",
|
||||
utils.Account: "1005",
|
||||
utils.Subject: "ANY2CNT",
|
||||
@@ -796,7 +790,6 @@ func testV2CDRsProcessCDRWithThreshold(t *testing.T) {
|
||||
} else if reply != utils.OK {
|
||||
t.Error("Unexpected reply received: ", reply)
|
||||
}
|
||||
time.Sleep(150 * time.Millisecond) // Give time for CDR to be rated
|
||||
}
|
||||
|
||||
func testV2CDRsGetThreshold(t *testing.T) {
|
||||
|
||||
@@ -954,6 +954,10 @@ func (cdrS *CDRServer) V1RateCDRs(arg *ArgRateCDRs, reply *string) (err error) {
|
||||
if flgs.HasKey(utils.MetaChargers) {
|
||||
chrgS = flgs.GetBool(utils.MetaChargers)
|
||||
}
|
||||
attrS := len(cdrS.cgrCfg.CdrsCfg().AttributeSConns) != 0
|
||||
if flgs.HasKey(utils.MetaAttributes) {
|
||||
attrS = flgs.GetBool(utils.MetaAttributes)
|
||||
}
|
||||
|
||||
if chrgS && len(cdrS.cgrCfg.CdrsCfg().ChargerSConns) == 0 {
|
||||
return utils.NewErrNotConnected(utils.ChargerS)
|
||||
@@ -964,7 +968,7 @@ func (cdrS *CDRServer) V1RateCDRs(arg *ArgRateCDRs, reply *string) (err error) {
|
||||
CGREvent: cdr.AsCGREvent(),
|
||||
ArgDispatcher: arg.ArgDispatcher,
|
||||
}
|
||||
if err = cdrS.processEvent(cgrEv, chrgS, false, false,
|
||||
if err = cdrS.processEvent(cgrEv, chrgS, attrS, false,
|
||||
true, store, true, export, thdS, statS); err != nil {
|
||||
return utils.NewErrServerError(err)
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
v1 "github.com/cgrates/cgrates/apier/v1"
|
||||
v2 "github.com/cgrates/cgrates/apier/v2"
|
||||
"github.com/cgrates/cgrates/config"
|
||||
"github.com/cgrates/cgrates/engine"
|
||||
@@ -170,18 +171,20 @@ func testV1CDRsProcessEventAttrS(t *testing.T) {
|
||||
},
|
||||
}
|
||||
var cdrs []*engine.CDR
|
||||
alsPrf := &engine.AttributeProfile{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "ApierTest",
|
||||
Contexts: []string{utils.META_ANY},
|
||||
FilterIDs: []string{"*string:~*req.Account:1001"},
|
||||
Attributes: []*engine.Attribute{
|
||||
{
|
||||
FieldName: utils.Subject,
|
||||
Value: config.NewRSRParsersMustCompile("1011", true, utils.INFIELD_SEP),
|
||||
alsPrf := &v1.AttributeWithCache{
|
||||
AttributeProfile: &engine.AttributeProfile{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "ApierTest",
|
||||
Contexts: []string{utils.META_ANY},
|
||||
FilterIDs: []string{"*string:~*req.Account:1001"},
|
||||
Attributes: []*engine.Attribute{
|
||||
{
|
||||
FieldName: utils.Subject,
|
||||
Value: config.NewRSRParsersMustCompile("1011", true, utils.INFIELD_SEP),
|
||||
},
|
||||
},
|
||||
Weight: 20,
|
||||
},
|
||||
Weight: 20,
|
||||
}
|
||||
alsPrf.Compile()
|
||||
var result string
|
||||
@@ -191,13 +194,13 @@ func testV1CDRsProcessEventAttrS(t *testing.T) {
|
||||
t.Error("Unexpected reply returned", result)
|
||||
}
|
||||
var replyAt *engine.AttributeProfile
|
||||
if err := pecdrsRpc.Call(utils.ApierV1GetAttributeProfile,
|
||||
&utils.TenantID{Tenant: "cgrates.org", ID: "ApierTest"}, &replyAt); err != nil {
|
||||
if err := pecdrsRpc.Call(utils.ApierV1GetAttributeProfile, &utils.TenantIDWithArgDispatcher{
|
||||
TenantID: &utils.TenantID{Tenant: "cgrates.org", ID: "ApierTest"}}, &replyAt); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
replyAt.Compile()
|
||||
if !reflect.DeepEqual(alsPrf, replyAt) {
|
||||
t.Errorf("Expecting : %+v, received: %+v", alsPrf, reply)
|
||||
if !reflect.DeepEqual(alsPrf.AttributeProfile, replyAt) {
|
||||
t.Errorf("Expecting : %+v, received: %+v", utils.ToJSON(alsPrf.AttributeProfile), utils.ToJSON(replyAt))
|
||||
}
|
||||
if err := pecdrsRpc.Call(utils.CDRsV1ProcessEvent, argsEv, &reply); err != nil {
|
||||
t.Error(err)
|
||||
@@ -205,7 +208,8 @@ func testV1CDRsProcessEventAttrS(t *testing.T) {
|
||||
t.Error("Unexpected reply received: ", reply)
|
||||
}
|
||||
// check if the CDR was correctly processed
|
||||
if err := pecdrsRpc.Call(utils.CDRsV1GetCDRs, utils.RPCCDRsFilter{OriginHosts: []string{"OriginHost1"}}, &cdrs); err != nil {
|
||||
if err := pecdrsRpc.Call(utils.CDRsV1GetCDRs, &utils.RPCCDRsFilterWithArgDispatcher{
|
||||
RPCCDRsFilter: &utils.RPCCDRsFilter{OriginHosts: []string{"OriginHost1"}}}, &cdrs); err != nil {
|
||||
t.Fatal("Unexpected error: ", err.Error())
|
||||
} else if len(cdrs) != 1 {
|
||||
t.Errorf("Expecting: 1, received: %+v", len(cdrs))
|
||||
@@ -258,7 +262,8 @@ func testV1CDRsProcessEventChrgS(t *testing.T) {
|
||||
t.Error("Unexpected reply received: ", reply)
|
||||
}
|
||||
var cdrs []*engine.CDR
|
||||
if err := pecdrsRpc.Call(utils.CDRsV1GetCDRs, utils.RPCCDRsFilter{OriginHosts: []string{"OriginHost2"}}, &cdrs); err != nil {
|
||||
if err := pecdrsRpc.Call(utils.CDRsV1GetCDRs, &utils.RPCCDRsFilterWithArgDispatcher{
|
||||
RPCCDRsFilter: &utils.RPCCDRsFilter{OriginHosts: []string{"OriginHost2"}}}, &cdrs); err != nil {
|
||||
t.Fatal("Unexpected error: ", err.Error())
|
||||
} else if len(cdrs) != 3 {
|
||||
t.Errorf("Expecting: 3, received: %+v", len(cdrs))
|
||||
@@ -266,12 +271,12 @@ func testV1CDRsProcessEventChrgS(t *testing.T) {
|
||||
t.Errorf("Expecting: test2_processEvent, received: %+v, %+v, %+v ", cdrs[0].OriginID, cdrs[1].OriginID, cdrs[2].OriginID)
|
||||
}
|
||||
sort.Slice(cdrs, func(i, j int) bool { return cdrs[i].RunID < cdrs[j].RunID })
|
||||
if cdrs[0].RunID != "*raw" {
|
||||
if cdrs[0].RunID != utils.MetaRaw { // charger with RunID *raw
|
||||
t.Errorf("Expecting: %+v, received: %+v", utils.MetaRaw, cdrs[0].RunID)
|
||||
} else if cdrs[1].RunID != "CustomerCharges" {
|
||||
t.Errorf("Expecting: %+v, received: %+v", utils.MetaRaw, cdrs[0].RunID)
|
||||
t.Errorf("Expecting: %+v, received: %+v", "CustomerCharges", cdrs[1].RunID)
|
||||
} else if cdrs[2].RunID != "SupplierCharges" {
|
||||
t.Errorf("Expecting: %+v, received: %+v", utils.MetaRaw, cdrs[0].RunID)
|
||||
t.Errorf("Expecting: %+v, received: %+v", "SupplierCharges", cdrs[2].RunID)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -300,7 +305,8 @@ func testV1CDRsProcessEventRalS(t *testing.T) {
|
||||
t.Error("Unexpected reply received: ", reply)
|
||||
}
|
||||
var cdrs []*engine.CDR
|
||||
if err := pecdrsRpc.Call(utils.CDRsV1GetCDRs, utils.RPCCDRsFilter{OriginHosts: []string{"OriginHost3"}}, &cdrs); err != nil {
|
||||
if err := pecdrsRpc.Call(utils.CDRsV1GetCDRs, &utils.RPCCDRsFilterWithArgDispatcher{
|
||||
RPCCDRsFilter: &utils.RPCCDRsFilter{OriginHosts: []string{"OriginHost3"}}}, &cdrs); err != nil {
|
||||
t.Fatal("Unexpected error: ", err.Error())
|
||||
} else if len(cdrs) != 1 {
|
||||
t.Errorf("Expecting: 1, received: %+v", len(cdrs))
|
||||
@@ -366,7 +372,8 @@ func testV1CDRsProcessEventSts(t *testing.T) {
|
||||
CostDetails: nil,
|
||||
},
|
||||
}
|
||||
if err := pecdrsRpc.Call(utils.CDRsV1GetCDRs, utils.RPCCDRsFilter{OriginHosts: []string{"OriginHost4"}}, &cdrs); err != nil {
|
||||
if err := pecdrsRpc.Call(utils.CDRsV1GetCDRs, &utils.RPCCDRsFilterWithArgDispatcher{
|
||||
RPCCDRsFilter: &utils.RPCCDRsFilter{OriginHosts: []string{"OriginHost4"}}}, &cdrs); err != nil {
|
||||
t.Fatal("Unexpected error: ", err.Error())
|
||||
} else if len(cdrs) != 1 {
|
||||
t.Errorf("Expecting: 1, received: %+v", len(cdrs))
|
||||
@@ -418,8 +425,8 @@ func testV1CDRsProcessEventStore(t *testing.T) {
|
||||
t.Error("Unexpected reply received: ", reply)
|
||||
}
|
||||
var cdrs []*engine.CDR
|
||||
if err := pecdrsRpc.Call(utils.CDRsV1GetCDRs,
|
||||
utils.RPCCDRsFilter{OriginHosts: []string{"OriginHost5"}}, &cdrs); err == nil ||
|
||||
if err := pecdrsRpc.Call(utils.CDRsV1GetCDRs, &utils.RPCCDRsFilterWithArgDispatcher{
|
||||
RPCCDRsFilter: &utils.RPCCDRsFilter{OriginHosts: []string{"OriginHost5"}}}, &cdrs); err == nil ||
|
||||
err.Error() != "SERVER_ERROR: NOT_FOUND" {
|
||||
t.Fatal("Unexpected error: ", err.Error())
|
||||
} else if len(cdrs) != 0 {
|
||||
@@ -513,7 +520,8 @@ func testV1CDRsProcessEventThreshold(t *testing.T) {
|
||||
}
|
||||
|
||||
var cdrs []*engine.CDR
|
||||
if err := pecdrsRpc.Call(utils.CDRsV1GetCDRs, utils.RPCCDRsFilter{OriginHosts: []string{"OriginHost6"}}, &cdrs); err != nil {
|
||||
if err := pecdrsRpc.Call(utils.CDRsV1GetCDRs, &utils.RPCCDRsFilterWithArgDispatcher{
|
||||
RPCCDRsFilter: &utils.RPCCDRsFilter{OriginHosts: []string{"OriginHost6"}}}, &cdrs); err != nil {
|
||||
t.Error("Unexpected error: ", err)
|
||||
} else if len(cdrs) != 1 {
|
||||
t.Errorf("Expecting: 1, received: %+v", len(cdrs))
|
||||
|
||||
@@ -358,7 +358,7 @@ func testGOCSUpdateSession(t *testing.T) {
|
||||
}
|
||||
|
||||
aSessions := make([]*sessions.ExternalSession, 0)
|
||||
if err := auRPC.Call(utils.SessionSv1GetActiveSessions, nil, &aSessions); err != nil {
|
||||
if err := auRPC.Call(utils.SessionSv1GetActiveSessions, new(utils.SessionFilter), &aSessions); err != nil {
|
||||
t.Error(err)
|
||||
} else if len(aSessions) != 1 {
|
||||
t.Errorf("wrong active sessions: %s", utils.ToJSON(aSessions))
|
||||
@@ -436,7 +436,7 @@ func testGOCSUpdateSession2(t *testing.T) {
|
||||
}
|
||||
|
||||
aSessions := make([]*sessions.ExternalSession, 0)
|
||||
if err := auRPC.Call(utils.SessionSv1GetActiveSessions, nil, &aSessions); err != nil {
|
||||
if err := auRPC.Call(utils.SessionSv1GetActiveSessions, new(utils.SessionFilter), &aSessions); err != nil {
|
||||
t.Error(err)
|
||||
} else if len(aSessions) != 1 {
|
||||
t.Errorf("wrong active sessions: %s", utils.ToJSON(aSessions))
|
||||
@@ -508,11 +508,11 @@ func testGOCSTerminateSession(t *testing.T) {
|
||||
t.Errorf("Unexpected reply: %s", rply)
|
||||
}
|
||||
aSessions := make([]*sessions.ExternalSession, 0)
|
||||
if err := auRPC.Call(utils.SessionSv1GetActiveSessions, nil, &aSessions); err == nil ||
|
||||
if err := auRPC.Call(utils.SessionSv1GetActiveSessions, new(utils.SessionFilter), &aSessions); err == nil ||
|
||||
err.Error() != utils.ErrNotFound.Error() {
|
||||
t.Errorf("Expected error %s received error %v and reply %s", utils.ErrNotFound, err, utils.ToJSON(aSessions))
|
||||
}
|
||||
if err := usRPC.Call(utils.SessionSv1GetActiveSessions, nil, &aSessions); err == nil ||
|
||||
if err := usRPC.Call(utils.SessionSv1GetActiveSessions, new(utils.SessionFilter), &aSessions); err == nil ||
|
||||
err.Error() != utils.ErrNotFound.Error() {
|
||||
t.Errorf("Expected error %s received error %v and reply %s", utils.ErrNotFound, err, utils.ToJSON(aSessions))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user