mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Tested debitSession in sessions
This commit is contained in:
committed by
Dan Christian Bogos
parent
88eeea97b5
commit
8c4d54924c
@@ -47,6 +47,7 @@ var (
|
||||
testForceSTerminatorPostCDRs,
|
||||
testForceSTerminatorReleaseSession,
|
||||
testForceSTerminatorClientCall,
|
||||
testDebitSession,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -407,3 +408,50 @@ func testForceSTerminatorClientCall(t *testing.T) {
|
||||
t.Errorf("Expected %+v, received %+v", expected, err)
|
||||
}
|
||||
}
|
||||
|
||||
func testDebitSession(t *testing.T) {
|
||||
cfg := config.NewDefaultCGRConfig()
|
||||
data := engine.NewInternalDB(nil, nil, true)
|
||||
dm := engine.NewDataManager(data, cfg.CacheCfg(), nil)
|
||||
sessions := NewSessionS(cfg, dm, nil)
|
||||
|
||||
ss := &Session{
|
||||
CGRID: "CGRID",
|
||||
Tenant: "cgrates.org",
|
||||
EventStart: engine.NewMapEvent(nil),
|
||||
SRuns: []*SRun{
|
||||
{
|
||||
Event: map[string]interface{}{
|
||||
utils.RequestType: utils.MetaPostpaid,
|
||||
},
|
||||
CD: &engine.CallDescriptor{Category: "test"},
|
||||
EventCost: &engine.EventCost{CGRID: "testCGRID"},
|
||||
ExtraDuration: 1,
|
||||
LastUsage: 2,
|
||||
TotalUsage: 3,
|
||||
NextAutoDebit: utils.TimePointer(time.Date(2020, time.April, 18, 23, 0, 0, 0, time.UTC)),
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
//RunIdx cannot be higher than the length of sessions runs
|
||||
expectedErr := "sRunIdx out of range"
|
||||
if _, err := sessions.debitSession(ss, 2, 0,
|
||||
utils.DurationPointer(time.Second)); err == nil || err.Error() != expectedErr {
|
||||
t.Errorf("Expected %+v, received %+v", expectedErr, err)
|
||||
}
|
||||
|
||||
//debitReserve must be higher than 0
|
||||
if maxDur, err := sessions.debitSession(ss, 0, 0,
|
||||
utils.DurationPointer(0)); err != nil {
|
||||
t.Error(err)
|
||||
} else if maxDur != 0 {
|
||||
t.Errorf("Expected %+v, received %+v", 0, maxDur)
|
||||
}
|
||||
|
||||
expectedErr = "MANDATORY_IE_MISSING: [connIDs]"
|
||||
if _, err := sessions.debitSession(ss, 0, 0,
|
||||
utils.DurationPointer(5*time.Second)); err == nil || err.Error() != expectedErr {
|
||||
t.Errorf("Expected %+v, received %+v", expectedErr, err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user