data usage fix

This commit is contained in:
Radu Ioan Fericean
2016-04-29 17:35:09 +03:00
parent ee5d5b0bed
commit dd48ee7687
2 changed files with 4 additions and 2 deletions

View File

@@ -845,7 +845,7 @@ func TestSMGDataLastUsedMultipleDataConstantUsage(t *testing.T) {
if err = smgRPC.Call("SMGenericV1.SessionEnd", smgEv, &rpl); err != nil || rpl != utils.OK {
t.Error(err)
}
eAcntVal = 49997767680.000000 // refunded
eAcntVal = 49997757440.000000 // 10240 (from the start)
if err := smgRPC.Call("ApierV2.GetAccount", attrs, &acnt); err != nil {
t.Error(err)
} else if acnt.BalanceMap[utils.DATA].GetTotalValue() != eAcntVal {

View File

@@ -90,13 +90,15 @@ func (self *SMGSession) debit(dur time.Duration, lastUsed *time.Duration) (time.
// total usage correction
self.totalUsage -= self.lastUsage
self.totalUsage += *lastUsed
//utils.Logger.Debug(fmt.Sprintf("Correction: %f", self.totalUsage.Seconds()))
//utils.Logger.Debug(fmt.Sprintf("TotalUsage Correction: %f", self.totalUsage.Seconds()))
}
}
// apply correction from previous run
if self.extraDuration < dur {
dur -= self.extraDuration
} else {
self.lastUsage = requestedDuration
self.totalUsage += self.lastUsage
ccDuration := self.extraDuration // fake ccDuration
self.extraDuration -= dur
return ccDuration, nil