mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Added multiple filters for exportcdrs apis tests
This commit is contained in:
committed by
Dan Christian Bogos
parent
457ab9a3c6
commit
8db9d6ca4d
@@ -26,6 +26,7 @@ import (
|
||||
"os"
|
||||
"path"
|
||||
"reflect"
|
||||
"sort"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -200,6 +201,13 @@ func testCDReExportCDRs2(t *testing.T) {
|
||||
AnswerTime: time.Now(), RunID: utils.MetaDefault, Usage: time.Duration(5) * time.Second,
|
||||
ExtraFields: map[string]string{"DisconnectCause": "UNALLOCATED_NUMBER"}, Cost: 2.21,
|
||||
},
|
||||
{CGRID: "Cdr7",
|
||||
OrderID: 124343, ToR: utils.VOICE, OriginID: "OriginCDR2", OriginHost: "192.168.1.1", Source: "test2",
|
||||
RequestType: utils.META_RATED, Tenant: "cgrates.org", Category: "call",
|
||||
Account: "1001", Subject: "1001", Destination: "+4986517174963", SetupTime: time.Now(),
|
||||
AnswerTime: time.Now(), RunID: utils.MetaDefault, Usage: time.Duration(5) * time.Second,
|
||||
ExtraFields: map[string]string{"DisconnectCause": "USER_BUSY"}, Cost: 2.21,
|
||||
},
|
||||
}
|
||||
for _, cdr := range storedCdrs {
|
||||
var reply string
|
||||
@@ -212,17 +220,20 @@ func testCDReExportCDRs2(t *testing.T) {
|
||||
attr := ArgExportCDRs{
|
||||
ExportArgs: map[string]any{
|
||||
utils.ExportTemplate: "TemplateWithFilter",
|
||||
utils.FilterIDs: []string{"*string:~*req.DisconnectCause:UNALLOCATED_NUMBER"},
|
||||
utils.FilterIDs: []string{"*string:~*req.DisconnectCause:ORIGINATOR_CANCEL;USER_BUSY"},
|
||||
utils.ExportPath: "/tmp",
|
||||
utils.ExportFileName: "TestFilteredCsv.csv",
|
||||
},
|
||||
Verbose: true,
|
||||
}
|
||||
var rply *RplExportedCDRs
|
||||
expExportedCdrs := []string{"Cdr7", "Cdr5"}
|
||||
if err := cdreRPC.Call(utils.APIerSv1ExportCDRs, attr, &rply); err != nil {
|
||||
t.Error("Unexpected error: ", err.Error())
|
||||
} else if len(rply.ExportedCGRIDs) != 1 {
|
||||
t.Errorf("Unexpected number of CDR exported: %s ", utils.ToJSON(rply))
|
||||
} else if sort.Slice(rply.ExportedCGRIDs, func(i, j int) bool {
|
||||
return i < j
|
||||
}); !reflect.DeepEqual(rply.ExportedCGRIDs, expExportedCdrs) {
|
||||
t.Errorf("Expected CDRs %+v,Received %+v ", expExportedCdrs, rply.ExportedCGRIDs)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import (
|
||||
"net/rpc"
|
||||
"path"
|
||||
"reflect"
|
||||
"sort"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -850,7 +851,7 @@ func testV2ExportCDRsToFile(t *testing.T) {
|
||||
Tenant: "cgrates.org",
|
||||
Event: map[string]any{
|
||||
utils.ToR: utils.VOICE,
|
||||
utils.CGRID: "9b3cd5e698af94f8916220866c831a982ed163322",
|
||||
utils.CGRID: "29y32329358",
|
||||
utils.OriginID: "testCDREProcessCdr2",
|
||||
utils.OriginHost: "192.168.1.1",
|
||||
utils.Source: "TestTutITExportCDR",
|
||||
@@ -868,7 +869,7 @@ func testV2ExportCDRsToFile(t *testing.T) {
|
||||
{
|
||||
Tenant: "cgrates.org",
|
||||
Event: map[string]any{
|
||||
utils.CGRID: "9b3cd5e698af94f8916220866c831a982ed1623432",
|
||||
utils.CGRID: "9b3cd5e698af94",
|
||||
utils.ToR: utils.VOICE,
|
||||
utils.OriginID: "testCDREProcessCdr3",
|
||||
utils.OriginHost: "192.168.1.1",
|
||||
@@ -887,7 +888,7 @@ func testV2ExportCDRsToFile(t *testing.T) {
|
||||
{
|
||||
Tenant: "cgrates.org",
|
||||
Event: map[string]any{
|
||||
utils.CGRID: "9b3cd5e698af94f353216220866c831a982ed163322",
|
||||
utils.CGRID: "879cd5e698af",
|
||||
utils.ToR: utils.VOICE,
|
||||
utils.OriginID: "testCDREProcessCdr1",
|
||||
utils.OriginHost: "192.168.1.1",
|
||||
@@ -931,13 +932,13 @@ func testV2ExportCDRsToFile(t *testing.T) {
|
||||
ExportFileName: utils.StringPointer("TestTutITExportCDR.csv"),
|
||||
ExportDirectory: utils.StringPointer("/tmp"),
|
||||
ExportTemplate: utils.StringPointer("*default"),
|
||||
FilterIDs: []string{"*string:~*req.DisconnectCause:ORIGINATOR_CANCEL"},
|
||||
FilterIDs: []string{"*string:~*req.DisconnectCause:ORIGINATOR_CANCEL;USER_BUSY"},
|
||||
}
|
||||
|
||||
expCgrIds := []string{"879cd5e698af", "9b3cd5e698af94"}
|
||||
if err := cdrsRpc.Call(utils.APIerSv2ExportCdrsToFile, attr, &replyExp); err != nil {
|
||||
t.Error(err)
|
||||
} else if len(replyExp.ExportedCgrIds) != 1 {
|
||||
t.Errorf("Exported records: %+v", len(replyExp.ExportedCgrIds))
|
||||
} else if sort.Slice(replyExp.ExportedCgrIds, func(i, j int) bool { return i < j }); !reflect.DeepEqual(expCgrIds, replyExp.ExportedCgrIds) {
|
||||
t.Errorf("Expected CgrsIds %+v,Received %+v", expCgrIds, replyExp.ExportedCgrIds)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user