mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Cleanup testSessionsVoiceTotalUsage
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user