mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Merge branch 'master' of https://github.com/cgrates/cgrates
This commit is contained in:
@@ -302,6 +302,9 @@ func (ub *Account) GetDefaultMoneyBalance(direction string) *Balance {
|
||||
}
|
||||
// create default balance
|
||||
defaultBalance := &Balance{Weight: 0} // minimum weight
|
||||
if ub.BalanceMap == nil {
|
||||
ub.BalanceMap = make(map[string]BalanceChain)
|
||||
}
|
||||
ub.BalanceMap[CREDIT+direction] = append(ub.BalanceMap[CREDIT+direction], defaultBalance)
|
||||
return defaultBalance
|
||||
}
|
||||
|
||||
@@ -1138,6 +1138,25 @@ func TestDebitDataMoney(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestAccountGetDefaultMoneyBalanceEmpty(t *testing.T) {
|
||||
acc := &Account{}
|
||||
defBal := acc.GetDefaultMoneyBalance(OUTBOUND)
|
||||
if defBal == nil || len(acc.BalanceMap) != 1 || !defBal.IsDefault() {
|
||||
t.Errorf("Bad default money balance: %+v", defBal)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAccountGetDefaultMoneyBalance(t *testing.T) {
|
||||
acc := &Account{}
|
||||
acc.BalanceMap = make(map[string]BalanceChain)
|
||||
tag := CREDIT + OUTBOUND
|
||||
acc.BalanceMap[tag] = append(acc.BalanceMap[tag], &Balance{Weight: 10})
|
||||
defBal := acc.GetDefaultMoneyBalance(OUTBOUND)
|
||||
if defBal == nil || len(acc.BalanceMap[tag]) != 2 || !defBal.IsDefault() {
|
||||
t.Errorf("Bad default money balance: %+v", defBal)
|
||||
}
|
||||
}
|
||||
|
||||
/*********************************** Benchmarks *******************************/
|
||||
|
||||
func BenchmarkGetSecondForPrefix(b *testing.B) {
|
||||
|
||||
@@ -84,7 +84,8 @@ func (b *Balance) IsDefault() bool {
|
||||
b.RatingSubject == "" &&
|
||||
b.Category == "" &&
|
||||
b.ExpirationDate.IsZero() &&
|
||||
b.SharedGroup == ""
|
||||
b.SharedGroup == "" &&
|
||||
b.Weight == 0
|
||||
}
|
||||
|
||||
func (b *Balance) IsExpired() bool {
|
||||
|
||||
@@ -231,3 +231,10 @@ func TestBalanceMatchActionTriggerSharedGroup(t *testing.T) {
|
||||
t.Errorf("Error matching action trigger: %+v %+v", b, at)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBalanceIsDefault(t *testing.T) {
|
||||
b := &Balance{Weight: 0}
|
||||
if !b.IsDefault() {
|
||||
t.Errorf("Balance should be default: +v", b)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,6 +86,10 @@ func (rs *RedisStorage) CacheRating(dKeys, rpKeys, rpfKeys, alsKeys, lcrKeys []s
|
||||
CleanStalePrefixes(dKeys)
|
||||
}
|
||||
for _, key := range dKeys {
|
||||
if len(key) <= len(DESTINATION_PREFIX) {
|
||||
Logger.Warning(fmt.Sprintf("Got malformed destination id: ", key))
|
||||
continue
|
||||
}
|
||||
if _, err = rs.GetDestination(key[len(DESTINATION_PREFIX):]); err != nil {
|
||||
cache2go.RollbackTransaction()
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user