Cleanup testSessionsVoiceTotalUsage

This commit is contained in:
DanB
2025-05-05 09:32:28 +02:00
parent 82ec0dbbca
commit 342d50cdb1
2 changed files with 1 additions and 157 deletions

View File

@@ -1685,6 +1685,7 @@ func (sS *SessionS) updateSession(s *Session, updtEv, opts engine.MapEvent, isMs
updtEv[utils.Usage] = reqMaxUsage
}
lastUsed := updtEv.GetDurationPtrIgnoreErrors(utils.LastUsed)
var totalUsage time.Duration
if totalUsage, err = updtEv.GetDuration(utils.TotalUsage); err != nil && err != utils.ErrNotFound {
return

View File

@@ -783,164 +783,7 @@ func testSessionsVoiceLastUsedNotFixed(t *testing.T) {
}
func testSessionsVoiceTotalUsed(t *testing.T) {
var acnt *engine.Account
attrs := &utils.AttrGetAccount{Tenant: "cgrates.org", Account: "1001"}
eAcntVal := 8.790000
if err := sessionsRPC.Call(context.Background(), utils.APIerSv2GetAccount, attrs, &acnt); err != nil {
t.Error(err)
} else if acnt.BalanceMap[utils.MetaMonetary].GetTotalValue() != eAcntVal {
t.Errorf("Expected: %f, received: %f", eAcntVal, acnt.BalanceMap[utils.MetaMonetary].GetTotalValue())
}
usage := 2 * time.Minute
initArgs := &V1InitSessionArgs{
InitSession: true,
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: "TestSessionsVoiceLastUsed",
Event: map[string]any{
utils.EventName: "TEST_EVENT",
utils.ToR: utils.MetaVoice,
utils.OriginID: "12350",
utils.AccountField: "1001",
utils.Subject: "1001",
utils.Destination: "1006",
utils.Category: "call",
utils.Tenant: "cgrates.org",
utils.RequestType: utils.MetaPrepaid,
utils.SetupTime: time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC),
utils.AnswerTime: time.Date(2016, time.January, 5, 18, 31, 05, 0, time.UTC),
utils.Usage: usage,
},
},
}
var initRpl *V1InitSessionReply
if err := sessionsRPC.Call(context.Background(), utils.SessionSv1InitiateSession,
initArgs, &initRpl); err != nil {
t.Error(err)
}
if initRpl.MaxUsage == nil || *initRpl.MaxUsage != usage {
t.Errorf("Expecting : %+v, received: %+v", usage, initRpl.MaxUsage)
}
eAcntVal = 7.39002
if err := sessionsRPC.Call(context.Background(), utils.APIerSv2GetAccount, attrs, &acnt); err != nil {
t.Error(err)
} else if acnt.BalanceMap[utils.MetaMonetary].GetTotalValue() != eAcntVal {
t.Errorf("Expected: %f, received: %f", eAcntVal, acnt.BalanceMap[utils.MetaMonetary].GetTotalValue())
}
lastUsage := time.Minute + 30*time.Second
updateArgs := &V1UpdateSessionArgs{
UpdateSession: true,
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: "TestSessionsVoiceLastUsed",
Event: map[string]any{
utils.EventName: "Update1",
utils.ToR: utils.MetaVoice,
utils.OriginID: "12350",
utils.AccountField: "1001",
utils.Subject: "1001",
utils.Destination: "1006",
utils.Category: "call",
utils.Tenant: "cgrates.org",
utils.RequestType: utils.MetaPrepaid,
utils.Usage: usage,
utils.LastUsed: lastUsage,
},
},
}
var updateRpl *V1UpdateSessionReply
if err := sessionsRPC.Call(context.Background(), utils.SessionSv1UpdateSession, updateArgs, &updateRpl); err != nil {
t.Error(err)
}
if updateRpl.MaxUsage == nil || *updateRpl.MaxUsage != usage {
t.Errorf("Expected: %+v, received: %+v", usage, updateRpl.MaxUsage)
}
eAcntVal = 7.09005
if err := sessionsRPC.Call(context.Background(), utils.APIerSv2GetAccount, attrs, &acnt); err != nil {
t.Error(err)
} else if acnt.BalanceMap[utils.MetaMonetary].GetTotalValue() != eAcntVal {
t.Errorf("Expected: %f, received: %f", eAcntVal, acnt.BalanceMap[utils.MetaMonetary].GetTotalValue())
}
lastUsage = 2*time.Minute + 30*time.Second
updateArgs = &V1UpdateSessionArgs{
UpdateSession: true,
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: "TestSessionsVoiceLastUsed",
Event: map[string]any{
utils.EventName: "Update2",
utils.ToR: utils.MetaVoice,
utils.OriginID: "12350",
utils.AccountField: "1001",
utils.Subject: "1001",
utils.Destination: "1006",
utils.Category: "call",
utils.Tenant: "cgrates.org",
utils.RequestType: utils.MetaPrepaid,
utils.SetupTime: time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC),
utils.AnswerTime: time.Date(2016, time.January, 5, 18, 31, 05, 0, time.UTC),
utils.Usage: usage,
utils.LastUsed: lastUsage,
},
},
}
if err := sessionsRPC.Call(context.Background(), utils.SessionSv1UpdateSession, updateArgs, &updateRpl); err != nil {
t.Error(err)
}
if updateRpl.MaxUsage == nil || *updateRpl.MaxUsage != usage {
t.Errorf("Expected: %+v, received: %+v", usage, updateRpl.MaxUsage)
}
eAcntVal = 6.590100
if err := sessionsRPC.Call(context.Background(), utils.APIerSv2GetAccount, attrs, &acnt); err != nil {
t.Error(err)
} else if acnt.BalanceMap[utils.MetaMonetary].GetTotalValue() != eAcntVal {
t.Errorf("Expected: %f, received: %f", eAcntVal, acnt.BalanceMap[utils.MetaMonetary].GetTotalValue())
}
usage = time.Minute
termArgs := &V1TerminateSessionArgs{
TerminateSession: true,
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: "TestSessionsVoiceLastUsed",
Event: map[string]any{
utils.EventName: "TEST_EVENT",
utils.ToR: utils.MetaVoice,
utils.OriginID: "12350",
utils.AccountField: "1001",
utils.Subject: "1001",
utils.Destination: "1006",
utils.Category: "call",
utils.Tenant: "cgrates.org",
utils.RequestType: utils.MetaPrepaid,
utils.SetupTime: time.Date(2016, time.January, 5, 18, 30, 49, 0, time.UTC),
utils.AnswerTime: time.Date(2016, time.January, 5, 18, 31, 05, 0, time.UTC),
utils.Usage: usage,
},
},
}
var rpl string
if err := sessionsRPC.Call(context.Background(), utils.SessionSv1TerminateSession, termArgs, &rpl); err != nil || rpl != utils.OK {
t.Error(err)
}
eAcntVal = 7.59
if err := sessionsRPC.Call(context.Background(), utils.APIerSv2GetAccount, attrs, &acnt); err != nil {
t.Error(err)
} else if acnt.BalanceMap[utils.MetaMonetary].GetTotalValue() != eAcntVal {
t.Errorf("Expected: %f, received: %f",
eAcntVal, acnt.BalanceMap[utils.MetaMonetary].GetTotalValue())
}
}
func testSessionsVoiceSessionTTL(t *testing.T) {