Fixed replicated data in args for archiveEvents api

This commit is contained in:
porosnicuadrian
2021-12-07 09:46:45 +02:00
committed by Dan Christian Bogos
parent 22c7b3f4ac
commit 0964c7a60b
3 changed files with 75 additions and 84 deletions

View File

@@ -37,6 +37,7 @@ func (cS *EeSv1) ProcessEvent(ctx *context.Context, cgrEv *utils.CGREventWithEeI
return cS.ees.V1ProcessEvent(ctx, cgrEv, rply)
}
// ArchiveEventsInReply should archive the events sent with existing exporters. The zipped content should be returned back as a reply.
func (cS *EeSv1) ArchiveEventsInReply(ctx *context.Context, args *ees.ArchiveEventsArgs, reply *[]byte) error {
return cS.ees.V1ArchiveEventsInReply(ctx, args, reply)
}

View File

@@ -326,7 +326,7 @@ func ExportWithAttempts(ctx *context.Context, exp EventExporter, eEv interface{}
type ArchiveEventsArgs struct {
Tenant string
APIOpts map[string]interface{}
Events []*utils.CGREvent
Events []map[string]interface{}
}
// V1ArchiveEventsInReply should archive the events sent with existing exporters. The zipped content should be returned back as a reply.
@@ -382,7 +382,13 @@ func (eeS *EeS) V1ArchiveEventsInReply(ctx *context.Context, args *ArchiveEvents
return err
}
for _, event := range args.Events {
if err := exportEventWithExporter(ctx, ee, event, false, eeS.cfg, eeS.fltrS); err != nil {
cgrEv := &utils.CGREvent{
ID: utils.UUIDSha1Prefix(),
Tenant: args.Tenant,
Event: event,
APIOpts: args.APIOpts,
}
if err := exportEventWithExporter(ctx, ee, cgrEv, false, eeS.cfg, eeS.fltrS); err != nil {
return err
}
}

View File

@@ -318,95 +318,79 @@ func testCsvExportBufferedEvent(t *testing.T) {
APIOpts: map[string]interface{}{
utils.MetaExporterID: "CSVExporterBuffered",
},
Events: []*utils.CGREvent{
Events: []map[string]interface{}{
{
Tenant: "cgrates.org",
ID: "voiceEvent",
Event: map[string]interface{}{
utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()),
utils.ToR: utils.MetaVoice,
"ComposedOriginID1": "dsaf",
"ComposedOriginID2": "dsaf",
utils.OriginHost: "192.168.1.1",
utils.RequestType: utils.MetaRated,
utils.Tenant: "cgrates.org",
utils.Category: "call",
utils.AccountField: "1001",
utils.Subject: "1001",
utils.Destination: "1002",
utils.SetupTime: time.Unix(1383813745, 0).UTC(),
utils.AnswerTime: time.Unix(1383813746, 0).UTC(),
utils.Usage: 10 * time.Second,
utils.RunID: utils.MetaDefault,
utils.Cost: 1.016374,
"ExtraFields": map[string]string{"extra1": "val_extra1",
"extra2": "val_extra2", "extra3": "val_extra3"},
},
utils.CGRID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()),
utils.ToR: utils.MetaVoice,
"ComposedOriginID1": "dsaf",
"ComposedOriginID2": "dsaf",
utils.OriginHost: "192.168.1.1",
utils.RequestType: utils.MetaRated,
utils.Tenant: "cgrates.org",
utils.Category: "call",
utils.AccountField: "1001",
utils.Subject: "1001",
utils.Destination: "1002",
utils.SetupTime: time.Unix(1383813745, 0).UTC(),
utils.AnswerTime: time.Unix(1383813746, 0).UTC(),
utils.Usage: 10 * time.Second,
utils.RunID: utils.MetaDefault,
utils.Cost: 1.016374,
"ExtraFields": map[string]string{"extra1": "val_extra1",
"extra2": "val_extra2", "extra3": "val_extra3"},
},
{
Tenant: "cgrates.org",
ID: "dataEvent",
Event: map[string]interface{}{
utils.CGRID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()),
utils.ToR: utils.MetaData,
utils.OriginID: "abcdef",
utils.OriginHost: "192.168.1.1",
utils.RequestType: utils.MetaRated,
utils.Tenant: "AnotherTenant",
utils.Category: "call", //for data CDR use different Tenant
utils.AccountField: "1001",
utils.Subject: "1001",
utils.Destination: "1002",
utils.SetupTime: time.Unix(1383813745, 0).UTC(),
utils.AnswerTime: time.Unix(1383813746, 0).UTC(),
utils.Usage: 10 * time.Nanosecond,
utils.RunID: utils.MetaDefault,
utils.Cost: 0.012,
"ExtraFields": map[string]string{"extra1": "val_extra1",
"extra2": "val_extra2", "extra3": "val_extra3"},
},
utils.CGRID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()),
utils.ToR: utils.MetaData,
utils.OriginID: "abcdef",
utils.OriginHost: "192.168.1.1",
utils.RequestType: utils.MetaRated,
utils.Tenant: "AnotherTenant",
utils.Category: "call", //for data CDR use different Tenant
utils.AccountField: "1001",
utils.Subject: "1001",
utils.Destination: "1002",
utils.SetupTime: time.Unix(1383813745, 0).UTC(),
utils.AnswerTime: time.Unix(1383813746, 0).UTC(),
utils.Usage: 10 * time.Nanosecond,
utils.RunID: utils.MetaDefault,
utils.Cost: 0.012,
"ExtraFields": map[string]string{"extra1": "val_extra1",
"extra2": "val_extra2", "extra3": "val_extra3"},
},
{
Tenant: "cgrates.org",
ID: "smsEvent",
Event: map[string]interface{}{
utils.CGRID: utils.Sha1("nlllo", time.Unix(1383813745, 0).UTC().String()),
utils.ToR: utils.MetaData,
utils.OriginID: "abcdef",
utils.RequestType: utils.MetaNone,
utils.Tenant: "phone.org",
utils.Category: "sms", //for data CDR use different Tenant
utils.AccountField: "User2001",
utils.Subject: "User2001",
utils.Destination: "User2002",
utils.SetupTime: time.Unix(1383813745, 0).UTC(),
utils.AnswerTime: time.Unix(1383813746, 0).UTC(),
utils.Usage: 10 * time.Nanosecond,
utils.RunID: "raw",
utils.Cost: 44.5,
"ExtraFields": map[string]string{"extra1": "val_extra1",
"extra2": "val_extra2", "extra3": "val_extra3"},
},
utils.CGRID: utils.Sha1("nlllo", time.Unix(1383813745, 0).UTC().String()),
utils.ToR: utils.MetaData,
utils.OriginID: "abcdef",
utils.RequestType: utils.MetaNone,
utils.Tenant: "phone.org",
utils.Category: "sms", //for data CDR use different Tenant
utils.AccountField: "User2001",
utils.Subject: "User2001",
utils.Destination: "User2002",
utils.SetupTime: time.Unix(1383813745, 0).UTC(),
utils.AnswerTime: time.Unix(1383813746, 0).UTC(),
utils.Usage: 10 * time.Nanosecond,
utils.RunID: "raw",
utils.Cost: 44.5,
"ExtraFields": map[string]string{"extra1": "val_extra1",
"extra2": "val_extra2", "extra3": "val_extra3"},
},
{
Tenant: "cgrates.org",
ID: "photoEvent",
Event: map[string]interface{}{
utils.CGRID: utils.Sha1("qwert", time.Unix(1383813745, 0).UTC().String()),
utils.OriginID: "abcdef",
utils.OriginHost: "127.0.0.1",
utils.RequestType: utils.MetaPrepaid,
utils.Tenant: "dispatchers.org",
utils.Category: "photo", //for data CDR use different Tenant
utils.AccountField: "1005",
utils.Subject: "1005",
utils.Destination: "1000",
utils.SetupTime: time.Unix(22383813745, 0).UTC(),
utils.AnswerTime: time.Unix(22383813760, 0).UTC(),
utils.Usage: 10 * time.Nanosecond,
utils.RunID: "Default_charging_id",
utils.Cost: 1.442234,
},
utils.CGRID: utils.Sha1("qwert", time.Unix(1383813745, 0).UTC().String()),
utils.OriginID: "abcdef",
utils.OriginHost: "127.0.0.1",
utils.RequestType: utils.MetaPrepaid,
utils.Tenant: "dispatchers.org",
utils.Category: "photo", //for data CDR use different Tenant
utils.AccountField: "1005",
utils.Subject: "1005",
utils.Destination: "1000",
utils.SetupTime: time.Unix(22383813745, 0).UTC(),
utils.AnswerTime: time.Unix(22383813760, 0).UTC(),
utils.Usage: 10 * time.Nanosecond,
utils.RunID: "Default_charging_id",
utils.Cost: 1.442234,
},
},
}