mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-16 21:59:53 +05:00
Fix error shadoing in SMG for ChargeEvent
This commit is contained in:
@@ -928,6 +928,8 @@ func TestSMGVoiceRelocateWithOriginIDPrefix(t *testing.T) {
|
||||
|
||||
}
|
||||
|
||||
// ToDo: Add test for ChargeEvent with derived charging, one with debit possible and second not so we see refund and error.CreditInsufficient showing up.
|
||||
|
||||
func TestSMGVoiceSessionStopCgrEngine(t *testing.T) {
|
||||
if err := engine.KillEngine(100); err != nil {
|
||||
t.Error(err)
|
||||
|
||||
@@ -854,11 +854,11 @@ func (smg *SMGeneric) ChargeEvent(gev SMGenericEvent) (maxUsage time.Duration, e
|
||||
var maxDurInit bool // Avoid differences between default 0 and received 0
|
||||
for _, sR := range sessionRuns {
|
||||
cc := new(engine.CallCost)
|
||||
sR.CallCosts = append(sR.CallCosts, cc) // Save it so we can revert on issues
|
||||
if err = smg.rals.Call("Responder.MaxDebit", sR.CallDescriptor, cc); err != nil {
|
||||
utils.Logger.Err(fmt.Sprintf("<SMGeneric> Could not Debit CD: %+v, RunID: %s, error: %s", sR.CallDescriptor, sR.DerivedCharger.RunID, err.Error()))
|
||||
break
|
||||
}
|
||||
sR.CallCosts = append(sR.CallCosts, cc) // Save it so we can revert on issues
|
||||
if ccDur := cc.GetDuration(); ccDur == 0 {
|
||||
err = utils.ErrInsufficientCredit
|
||||
break
|
||||
@@ -891,9 +891,9 @@ func (smg *SMGeneric) ChargeEvent(gev SMGenericEvent) (maxUsage time.Duration, e
|
||||
cd.RunID = sR.CallDescriptor.RunID
|
||||
cd.Increments.Compress()
|
||||
var response float64
|
||||
err = smg.rals.Call("Responder.RefundIncrements", cd, &response)
|
||||
if err != nil {
|
||||
return
|
||||
errRefund := smg.rals.Call("Responder.RefundIncrements", cd, &response)
|
||||
if errRefund != nil {
|
||||
return 0, errRefund
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user