From 255fb4ea0eafae27ff93952372d01ecccb8cdf72 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Sat, 26 Apr 2014 01:50:08 +0300 Subject: [PATCH] cd Tor to TOR --- engine/account.go | 6 ++-- engine/account_test.go | 40 +++++++++++++------------- engine/balances.go | 8 +++--- engine/callcost.go | 6 ++-- engine/callcost_test.go | 6 ++-- engine/calldesc.go | 28 +++++++++--------- engine/calldesc_test.go | 10 +++---- engine/datacost.go | 2 +- engine/handler_derivedcharging.go | 4 +-- engine/handler_derivedcharging_test.go | 6 ++-- engine/responder_test.go | 2 +- engine/timespans.go | 2 +- utils/apitpdata.go | 2 +- 13 files changed, 61 insertions(+), 61 deletions(-) diff --git a/engine/account.go b/engine/account.go index 9891f4b88..075711891 100644 --- a/engine/account.go +++ b/engine/account.go @@ -61,7 +61,7 @@ type Account struct { // User's available minutes for the specified destination func (ub *Account) getCreditForPrefix(cd *CallDescriptor) (duration time.Duration, credit float64, balances BalanceChain) { creditBalances := ub.getBalancesForPrefix(cd.Destination, ub.BalanceMap[CREDIT+cd.Direction], "") - unitBalances := ub.getBalancesForPrefix(cd.Destination, ub.BalanceMap[cd.Tor+cd.Direction], "") + unitBalances := ub.getBalancesForPrefix(cd.Destination, ub.BalanceMap[cd.TOR+cd.Direction], "") // gather all balances from shared groups var extendedCreditBalances BalanceChain for _, cb := range creditBalances { @@ -79,7 +79,7 @@ func (ub *Account) getCreditForPrefix(cd *CallDescriptor) (duration time.Duratio for _, mb := range unitBalances { if mb.SharedGroup != "" { if sharedGroup, _ := accountingStorage.GetSharedGroup(mb.SharedGroup, false); sharedGroup != nil { - sgb := sharedGroup.GetBalances(cd.Destination, cd.Tor+cd.Direction, ub) + sgb := sharedGroup.GetBalances(cd.Destination, cd.TOR+cd.Direction, ub) sgb = sharedGroup.SortBalancesByStrategy(mb, sgb) extendedMinuteBalances = append(extendedMinuteBalances, sgb...) } @@ -202,7 +202,7 @@ func (account *Account) getAlldBalancesForPrefix(destination, balanceType string } func (ub *Account) debitCreditBalance(cc *CallCost, count bool) (err error) { - usefulUnitBalances := ub.getAlldBalancesForPrefix(cc.Destination, cc.Tor+cc.Direction) + usefulUnitBalances := ub.getAlldBalancesForPrefix(cc.Destination, cc.TOR+cc.Direction) usefulMoneyBalances := ub.getAlldBalancesForPrefix(cc.Destination, CREDIT+cc.Direction) // debit minutes for _, balance := range usefulUnitBalances { diff --git a/engine/account_test.go b/engine/account_test.go index 0b3896dfc..80a73a3d3 100644 --- a/engine/account_test.go +++ b/engine/account_test.go @@ -105,7 +105,7 @@ func TestGetSecondsForPrefix(t *testing.T) { DurationIndex: 10 * time.Second, Direction: OUTBOUND, Destination: "0723", - Tor: MINUTES, + TOR: MINUTES, } seconds, credit, bucketList := ub1.getCreditForPrefix(cd) expected := 110 * time.Second @@ -134,7 +134,7 @@ func TestGetSpecialPricedSeconds(t *testing.T) { LoopIndex: 0, Direction: OUTBOUND, Destination: "0723", - Tor: MINUTES, + TOR: MINUTES, } seconds, credit, bucketList := ub1.getCreditForPrefix(cd) expected := 20 * time.Second @@ -172,7 +172,7 @@ func TestDebitCreditZeroSecond(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{MINUTES + OUTBOUND: BalanceChain{b1}, CREDIT + OUTBOUND: BalanceChain{&Balance{Value: 21}}}} err := rifsBalance.debitCreditBalance(cc, false) @@ -202,7 +202,7 @@ func TestDebitCreditZeroMinute(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ MINUTES + OUTBOUND: BalanceChain{b1}, @@ -238,7 +238,7 @@ func TestDebitCreditZeroMixedMinute(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ MINUTES + OUTBOUND: BalanceChain{b1, b2}, @@ -278,7 +278,7 @@ func TestDebitCreditNoCredit(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ MINUTES + OUTBOUND: BalanceChain{b1}, @@ -319,7 +319,7 @@ func TestDebitCreditHasCredit(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 1, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ MINUTES + OUTBOUND: BalanceChain{b1}, @@ -357,7 +357,7 @@ func TestDebitCreditSplitMinutesMoney(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 1, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ MINUTES + OUTBOUND: BalanceChain{b1}, @@ -400,7 +400,7 @@ func TestDebitCreditMoreTimespans(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ MINUTES + OUTBOUND: BalanceChain{b1}, @@ -439,7 +439,7 @@ func TestDebitCreditMoreTimespansMixed(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ MINUTES + OUTBOUND: BalanceChain{b1, b2}, @@ -478,7 +478,7 @@ func TestDebitCreditNoConectFeeCredit(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 1, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ MINUTES + OUTBOUND: BalanceChain{b1}, @@ -512,7 +512,7 @@ func TestDebitCreditMoneyOnly(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 1, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ CREDIT + OUTBOUND: BalanceChain{&Balance{Uuid: "money", Value: 50}}, @@ -553,7 +553,7 @@ func TestDebitCreditSubjectMinutes(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, deductConnectFee: true, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ @@ -596,7 +596,7 @@ func TestDebitCreditSubjectMoney(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, deductConnectFee: true, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ @@ -634,7 +634,7 @@ func TestDebitCreditSubjectMixed(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, deductConnectFee: true, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ @@ -684,7 +684,7 @@ func TestDebitCreditSubjectMixedMoreTS(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 1, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, deductConnectFee: true, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ @@ -736,7 +736,7 @@ func TestDebitCreditSubjectMixedPartPay(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 1, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: MINUTES, + TOR: MINUTES, deductConnectFee: true, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ @@ -1043,7 +1043,7 @@ func TestDebitSMS(t *testing.T) { RateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 1 * time.Second, RateUnit: time.Second}}}}, }, }, - Tor: SMS, + TOR: SMS, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ SMS + OUTBOUND: BalanceChain{&Balance{Uuid: "testm", Value: 100, Weight: 5, DestinationId: "NAT"}}, @@ -1083,7 +1083,7 @@ func TestDebitDataUnits(t *testing.T) { }, }, }, - Tor: DATA, + TOR: DATA, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ DATA + OUTBOUND: BalanceChain{&Balance{Uuid: "testm", Value: 100, Weight: 5, DestinationId: "NAT"}}, @@ -1122,7 +1122,7 @@ func TestDebitDataMoney(t *testing.T) { }, }, }, - Tor: DATA, + TOR: DATA, } rifsBalance := &Account{Id: "other", BalanceMap: map[string]BalanceChain{ DATA + OUTBOUND: BalanceChain{&Balance{Uuid: "testm", Value: 0, Weight: 5, DestinationId: "NAT"}}, diff --git a/engine/balances.go b/engine/balances.go index b2b53c71b..29971a403 100644 --- a/engine/balances.go +++ b/engine/balances.go @@ -204,11 +204,11 @@ func (b *Balance) DebitUnits(cc *CallCost, count bool, ub *Account, moneyBalance b.SubstractAmount(amount) inc.BalanceInfo.UnitBalanceUuid = b.Uuid inc.BalanceInfo.AccountId = ub.Id - inc.UnitInfo = &UnitInfo{cc.Destination, amount, cc.Tor} + inc.UnitInfo = &UnitInfo{cc.Destination, amount, cc.TOR} inc.Cost = 0 inc.paid = true if count { - ub.countUnits(&Action{BalanceType: cc.Tor, Direction: cc.Direction, Balance: &Balance{Value: amount, DestinationId: cc.Destination}}) + ub.countUnits(&Action{BalanceType: cc.TOR, Direction: cc.Direction, Balance: &Balance{Value: amount, DestinationId: cc.Destination}}) } } continue @@ -244,7 +244,7 @@ func (b *Balance) DebitUnits(cc *CallCost, count bool, ub *Account, moneyBalance b.SubstractAmount(seconds) nInc.BalanceInfo.UnitBalanceUuid = b.Uuid nInc.BalanceInfo.AccountId = ub.Id - nInc.UnitInfo = &UnitInfo{newCC.Destination, seconds, cc.Tor} + nInc.UnitInfo = &UnitInfo{newCC.Destination, seconds, cc.TOR} if cost != 0 { nInc.BalanceInfo.MoneyBalanceUuid = moneyBal.Uuid moneyBal.Value -= cost @@ -252,7 +252,7 @@ func (b *Balance) DebitUnits(cc *CallCost, count bool, ub *Account, moneyBalance } nInc.paid = true if count { - ub.countUnits(&Action{BalanceType: newCC.Tor, Direction: newCC.Direction, Balance: &Balance{Value: seconds, DestinationId: newCC.Destination}}) + ub.countUnits(&Action{BalanceType: newCC.TOR, Direction: newCC.Direction, Balance: &Balance{Value: seconds, DestinationId: newCC.Destination}}) if cost != 0 { ub.countUnits(&Action{BalanceType: CREDIT, Direction: newCC.Direction, Balance: &Balance{Value: cost, DestinationId: newCC.Destination}}) } diff --git a/engine/callcost.go b/engine/callcost.go index ac8843b64..ea61a1dd1 100644 --- a/engine/callcost.go +++ b/engine/callcost.go @@ -25,7 +25,7 @@ import ( // The output structure that will be returned with the call cost information. type CallCost struct { - Direction, Category, Tenant, Subject, Account, Destination, Tor string + Direction, Category, Tenant, Subject, Account, Destination, TOR string Cost float64 Timespans TimeSpans deductConnectFee bool @@ -117,7 +117,7 @@ func (cc *CallCost) IsPaid() bool { } func (cc *CallCost) ToDataCost() (*DataCost, error) { - if cc.Tor == MINUTES { + if cc.TOR == MINUTES { return nil, errors.New("Not a data call!") } dc := &DataCost{ @@ -127,7 +127,7 @@ func (cc *CallCost) ToDataCost() (*DataCost, error) { Subject: cc.Subject, Account: cc.Account, Destination: cc.Destination, - Tor: cc.Tor, + TOR: cc.TOR, Cost: cc.Cost, deductConnectFee: cc.deductConnectFee, } diff --git a/engine/callcost_test.go b/engine/callcost_test.go index 2cda0c4f6..365e79b14 100644 --- a/engine/callcost_test.go +++ b/engine/callcost_test.go @@ -174,7 +174,7 @@ func TestCallCostToDataCostError(t *testing.T) { Destination: utils.ANY, TimeStart: time.Date(2014, 3, 4, 6, 0, 0, 0, time.UTC), TimeEnd: time.Date(2014, 3, 4, 6, 1, 5, 0, time.UTC), - Tor: MINUTES, + TOR: MINUTES, } cc, _ := cd.GetCost() _, err := cc.ToDataCost() @@ -192,7 +192,7 @@ func TestCallCostToDataCost(t *testing.T) { Destination: utils.ANY, TimeStart: time.Date(2014, 3, 4, 6, 0, 0, 0, time.UTC), TimeEnd: time.Date(2014, 3, 4, 6, 1, 5, 0, time.UTC), - Tor: DATA, + TOR: DATA, } cc, _ := cd.GetCost() dc, err := cc.ToDataCost() @@ -200,7 +200,7 @@ func TestCallCostToDataCost(t *testing.T) { t.Error("Error convertiong to data cost: ", err) } js, _ := json.Marshal(dc) - expected := `{"Direction":"*out","Category":"data","Tenant":"cgrates.org","Subject":"rif","Account":"","Destination":"*any","Tor":"*data","Cost":65,"DataSpans":[{"DataStart":0,"DataEnd":60,"Cost":60,"RateInterval":{"Timing":{"Years":[],"Months":[],"MonthDays":[],"WeekDays":[],"StartTime":"00:00:00","EndTime":""},"Rating":{"ConnectFee":0,"Rates":[{"GroupIntervalStart":0,"Value":1,"RateIncrement":60000000000,"RateUnit":1000000000},{"GroupIntervalStart":60000000000,"Value":1,"RateIncrement":1000000000,"RateUnit":1000000000}],"RoundingMethod":"*up","RoundingDecimals":4},"Weight":10},"DataIndex":60,"Increments":[],"MatchedSubject":"","MatchedPrefix":"","MatchedDestId":""},{"DataStart":60,"DataEnd":65,"Cost":5,"RateInterval":{"Timing":{"Years":[],"Months":[],"MonthDays":[],"WeekDays":[],"StartTime":"00:00:00","EndTime":""},"Rating":{"ConnectFee":0,"Rates":[{"GroupIntervalStart":0,"Value":1,"RateIncrement":60000000000,"RateUnit":1000000000},{"GroupIntervalStart":60000000000,"Value":1,"RateIncrement":1000000000,"RateUnit":1000000000}],"RoundingMethod":"*up","RoundingDecimals":4},"Weight":10},"DataIndex":65,"Increments":[],"MatchedSubject":"*out:cgrates.org:data:rif","MatchedPrefix":"*any","MatchedDestId":"*any"}]}` + expected := `{"Direction":"*out","Category":"data","Tenant":"cgrates.org","Subject":"rif","Account":"","Destination":"*any","TOR":"*data","Cost":65,"DataSpans":[{"DataStart":0,"DataEnd":60,"Cost":60,"RateInterval":{"Timing":{"Years":[],"Months":[],"MonthDays":[],"WeekDays":[],"StartTime":"00:00:00","EndTime":""},"Rating":{"ConnectFee":0,"Rates":[{"GroupIntervalStart":0,"Value":1,"RateIncrement":60000000000,"RateUnit":1000000000},{"GroupIntervalStart":60000000000,"Value":1,"RateIncrement":1000000000,"RateUnit":1000000000}],"RoundingMethod":"*up","RoundingDecimals":4},"Weight":10},"DataIndex":60,"Increments":[],"MatchedSubject":"","MatchedPrefix":"","MatchedDestId":""},{"DataStart":60,"DataEnd":65,"Cost":5,"RateInterval":{"Timing":{"Years":[],"Months":[],"MonthDays":[],"WeekDays":[],"StartTime":"00:00:00","EndTime":""},"Rating":{"ConnectFee":0,"Rates":[{"GroupIntervalStart":0,"Value":1,"RateIncrement":60000000000,"RateUnit":1000000000},{"GroupIntervalStart":60000000000,"Value":1,"RateIncrement":1000000000,"RateUnit":1000000000}],"RoundingMethod":"*up","RoundingDecimals":4},"Weight":10},"DataIndex":65,"Increments":[],"MatchedSubject":"*out:cgrates.org:data:rif","MatchedPrefix":"*any","MatchedDestId":"*any"}]}` if string(js) != expected { t.Error("Error coverting to data cost: ", string(js)) } diff --git a/engine/calldesc.go b/engine/calldesc.go index 032fab205..8496d0f70 100644 --- a/engine/calldesc.go +++ b/engine/calldesc.go @@ -117,7 +117,7 @@ type CallDescriptor struct { FallbackSubject string // the subject to check for destination if not found on primary subject RatingInfos RatingInfos Increments Increments - Tor string + TOR string account *Account } @@ -317,7 +317,7 @@ func (cd *CallDescriptor) splitInTimeSpans() (timespans []*TimeSpan) { } firstSpan.ratingInfo = cd.RatingInfos[0] - if cd.Tor == MINUTES { + if cd.TOR == MINUTES { // split on rating plans afterStart, afterEnd := false, false //optimization for multiple activation periods for _, rp := range cd.RatingInfos { @@ -411,8 +411,8 @@ func (cd *CallDescriptor) GetCost() (*CallCost, error) { if cd.DurationIndex < cd.TimeEnd.Sub(cd.TimeStart) { cd.DurationIndex = cd.TimeEnd.Sub(cd.TimeStart) } - if cd.Tor == "" { - cd.Tor = MINUTES + if cd.TOR == "" { + cd.TOR = MINUTES } err := cd.LoadRatingPlans() if err != nil { @@ -432,7 +432,7 @@ func (cd *CallDescriptor) GetCost() (*CallCost, error) { } // global rounding cost = utils.Round(cost, roundingDecimals, roundingMethod) - //startIndex := len(fmt.Sprintf("%s:%s:%s:", cd.Direction, cd.Tenant, cd.TOR)) + //startIndex := len(fmt.Sprintf("%s:%s:%s:", cd.Direction, cd.Tenant, cd.Category)) cc := &CallCost{ Direction: cd.Direction, Category: cd.Category, @@ -443,7 +443,7 @@ func (cd *CallDescriptor) GetCost() (*CallCost, error) { Cost: cost, Timespans: timespans, deductConnectFee: cd.LoopIndex == 0, - Tor: cd.Tor, + TOR: cd.TOR, } //Logger.Info(fmt.Sprintf(" Get Cost: %s => %v", cd.GetKey(), cc)) cc.Timespans.Compress() @@ -459,8 +459,8 @@ func (origCD *CallDescriptor) getMaxSessionDuration(account *Account) (time.Dura if origCD.DurationIndex < origCD.TimeEnd.Sub(origCD.TimeStart) { origCD.DurationIndex = origCD.TimeEnd.Sub(origCD.TimeStart) } - if origCD.Tor == "" { - origCD.Tor = MINUTES + if origCD.TOR == "" { + origCD.TOR = MINUTES } cd := origCD.Clone() //Logger.Debug(fmt.Sprintf("MAX SESSION cd: %+v", cd)) @@ -525,7 +525,7 @@ func (cd *CallDescriptor) GetMaxSessionDuration() (duration time.Duration, err e Logger.Err(fmt.Sprintf("Could not get user balance for %s: %s.", cd.GetAccountKey(), err.Error())) return 0, err } else { - if memberIds, err := account.GetUniqueSharedGroupMembers(cd.Destination, cd.Direction, cd.Tor); err == nil { + if memberIds, err := account.GetUniqueSharedGroupMembers(cd.Destination, cd.Direction, cd.TOR); err == nil { AccLock.GuardMany(memberIds, func() (float64, error) { duration, err = cd.getMaxSessionDuration(account) return 0, err @@ -575,7 +575,7 @@ func (cd *CallDescriptor) Debit() (cc *CallCost, err error) { Logger.Err(fmt.Sprintf("Could not get user balance for %s: %s.", cd.GetAccountKey(), err.Error())) return nil, err } else { - if memberIds, err := account.GetUniqueSharedGroupMembers(cd.Destination, cd.Direction, cd.Tor); err == nil { + if memberIds, err := account.GetUniqueSharedGroupMembers(cd.Destination, cd.Direction, cd.TOR); err == nil { AccLock.GuardMany(memberIds, func() (float64, error) { cc, err = cd.debit(account) return 0, err @@ -596,7 +596,7 @@ func (cd *CallDescriptor) MaxDebit() (cc *CallCost, err error) { Logger.Err(fmt.Sprintf("Could not get user balance for %s: %s.", cd.GetAccountKey(), err.Error())) return nil, err } else { - if memberIds, err := account.GetUniqueSharedGroupMembers(cd.Destination, cd.Direction, cd.Tor); err == nil { + if memberIds, err := account.GetUniqueSharedGroupMembers(cd.Destination, cd.Direction, cd.TOR); err == nil { AccLock.GuardMany(memberIds, func() (float64, error) { remainingDuration, err := cd.getMaxSessionDuration(account) if err != nil || remainingDuration == 0 { @@ -629,7 +629,7 @@ func (cd *CallDescriptor) RefundIncrements() (left float64, err error) { defer accountingStorage.SetAccount(account) } } - account.refundIncrement(increment, cd.Direction, cd.Tor, true) + account.refundIncrement(increment, cd.Direction, cd.TOR, true) } return 0.0, err } @@ -652,7 +652,7 @@ func (cd *CallDescriptor) CreateCallCost() *CallCost { Subject: cd.Subject, Account: cd.Account, Destination: cd.Destination, - Tor: cd.Tor, + TOR: cd.TOR, } } @@ -672,7 +672,7 @@ func (cd *CallDescriptor) Clone() *CallDescriptor { FallbackSubject: cd.FallbackSubject, //RatingInfos: cd.RatingInfos, //Increments: cd.Increments, - Tor: cd.Tor, + TOR: cd.TOR, } } diff --git a/engine/calldesc_test.go b/engine/calldesc_test.go index c7bb2307b..67ccd3c4b 100644 --- a/engine/calldesc_test.go +++ b/engine/calldesc_test.go @@ -451,7 +451,7 @@ func TestMaxSessionTimeNoCredit(t *testing.T) { Tenant: "vdf", Subject: "broker", Destination: "0723", - Tor: MINUTES, + TOR: MINUTES, } result, err := cd.GetMaxSessionDuration() if result != time.Minute || err != nil { @@ -472,7 +472,7 @@ func TestMaxSessionModifiesCallDesc(t *testing.T) { Account: "minu", Destination: "0723", DurationIndex: t2.Sub(t1), - Tor: MINUTES, + TOR: MINUTES, } initial := cd.Clone() cd.GetMaxSessionDuration() @@ -701,7 +701,7 @@ func TestCDGetCostANY(t *testing.T) { Destination: utils.ANY, TimeStart: time.Date(2014, 3, 4, 6, 0, 0, 0, time.UTC), TimeEnd: time.Date(2014, 3, 4, 6, 0, 1, 0, time.UTC), - Tor: DATA, + TOR: DATA, } cc, err := cd1.GetCost() if err != nil || cc.Cost != 60 { @@ -718,7 +718,7 @@ func TestCDSplitInDataSlots(t *testing.T) { Destination: utils.ANY, TimeStart: time.Date(2014, 3, 4, 6, 0, 0, 0, time.UTC), TimeEnd: time.Date(2014, 3, 4, 6, 1, 5, 0, time.UTC), - Tor: DATA, + TOR: DATA, DurationIndex: 65 * time.Second, } cd.LoadRatingPlans() @@ -738,7 +738,7 @@ func TestCDDataGetCost(t *testing.T) { Destination: utils.ANY, TimeStart: time.Date(2014, 3, 4, 6, 0, 0, 0, time.UTC), TimeEnd: time.Date(2014, 3, 4, 6, 1, 5, 0, time.UTC), - Tor: DATA, + TOR: DATA, } cc, err := cd.GetCost() if err != nil || cc.Cost != 65 { diff --git a/engine/datacost.go b/engine/datacost.go index d584cab5d..eb8af1878 100644 --- a/engine/datacost.go +++ b/engine/datacost.go @@ -19,7 +19,7 @@ package engine // type used for showing sane data cost type DataCost struct { - Direction, Category, Tenant, Subject, Account, Destination, Tor string + Direction, Category, Tenant, Subject, Account, Destination, TOR string Cost float64 DataSpans []*DataSpan deductConnectFee bool diff --git a/engine/handler_derivedcharging.go b/engine/handler_derivedcharging.go index dcd30c8e9..6c2f5c8ff 100644 --- a/engine/handler_derivedcharging.go +++ b/engine/handler_derivedcharging.go @@ -27,8 +27,8 @@ import ( func HandleGetDerivedChargers(acntStorage AccountingStorage, cfg *config.CGRConfig, attrs utils.AttrDerivedChargers) (utils.DerivedChargers, error) { var dcs utils.DerivedChargers var err error - strictKey := utils.DerivedChargersKey(attrs.Tenant, attrs.Tor, attrs.Direction, attrs.Account, attrs.Subject) - anySubjKey := utils.DerivedChargersKey(attrs.Tenant, attrs.Tor, attrs.Direction, attrs.Account, utils.ANY) + strictKey := utils.DerivedChargersKey(attrs.Tenant, attrs.Category, attrs.Direction, attrs.Account, attrs.Subject) + anySubjKey := utils.DerivedChargersKey(attrs.Tenant, attrs.Category, attrs.Direction, attrs.Account, utils.ANY) for _, dcKey := range []string{strictKey, anySubjKey} { if dcsDb, err := acntStorage.GetDerivedChargers(dcKey, false); err != nil && err.Error() != utils.ERR_NOT_FOUND { return nil, err diff --git a/engine/handler_derivedcharging_test.go b/engine/handler_derivedcharging_test.go index f7b44bec8..b6d661d3f 100644 --- a/engine/handler_derivedcharging_test.go +++ b/engine/handler_derivedcharging_test.go @@ -37,7 +37,7 @@ func init() { // Accounting db has no DerivedChargers nor configured defaults func TestHandleGetEmptyDC(t *testing.T) { - attrs := utils.AttrDerivedChargers{Tenant: "cgrates.org", Tor: "call", Direction: "*out", Account: "test2", Subject: "test2"} + attrs := utils.AttrDerivedChargers{Tenant: "cgrates.org", Category: "call", Direction: "*out", Account: "test2", Subject: "test2"} if dcs, err := HandleGetDerivedChargers(acntDb, cfgDcT, attrs); err != nil { t.Error("Unexpected error", err.Error()) } else if !reflect.DeepEqual(dcs, cfgDcT.DerivedChargers) { @@ -50,7 +50,7 @@ func TestHandleGetConfiguredDC(t *testing.T) { cfgedDC := utils.DerivedChargers{&utils.DerivedCharger{RunId: "responder1", ReqTypeField: "test", DirectionField: "test", TenantField: "test", CategoryField: "test", AccountField: "test", SubjectField: "test", DestinationField: "test", SetupTimeField: "test", AnswerTimeField: "test", DurationField: "test"}} cfgDcT.DerivedChargers = cfgedDC - attrs := utils.AttrDerivedChargers{Tenant: "cgrates.org", Tor: "call", Direction: "*out", Account: "test3", Subject: "test3"} + attrs := utils.AttrDerivedChargers{Tenant: "cgrates.org", Category: "call", Direction: "*out", Account: "test3", Subject: "test3"} if dcs, err := HandleGetDerivedChargers(acntDb, cfgDcT, attrs); err != nil { t.Error("Unexpected error", err.Error()) } else if !reflect.DeepEqual(dcs, cfgedDC) { @@ -74,7 +74,7 @@ func TestHandleGetStoredDC(t *testing.T) { expCharger1 := append(charger1, &utils.DerivedCharger{RunId: "responder1", ReqTypeField: "test", DirectionField: "test", TenantField: "test", CategoryField: "test", AccountField: "test", SubjectField: "test", DestinationField: "test", SetupTimeField: "test", AnswerTimeField: "test", DurationField: "test"}) acntDb.CacheAccounting(nil, nil, nil, nil) - attrs := utils.AttrDerivedChargers{Tenant: "cgrates.org", Tor: "call", Direction: "*out", Account: "rif", Subject: "rif"} + attrs := utils.AttrDerivedChargers{Tenant: "cgrates.org", Category: "call", Direction: "*out", Account: "rif", Subject: "rif"} if dcs, err := HandleGetDerivedChargers(acntDb, cfgDcT, attrs); err != nil { t.Error("Unexpected error", err.Error()) } else if !reflect.DeepEqual(dcs, expCharger1) { diff --git a/engine/responder_test.go b/engine/responder_test.go index 440c83771..3467b28c0 100644 --- a/engine/responder_test.go +++ b/engine/responder_test.go @@ -34,7 +34,7 @@ func TestResponderGetDerivedChargers(t *testing.T) { cfg.DerivedChargers = cfgedDC config.SetCgrConfig(cfg) r := Responder{} - attrs := utils.AttrDerivedChargers{Tenant: "cgrates.org", Tor: "call", Direction: "*out", Account: "dan", Subject: "dan"} + attrs := utils.AttrDerivedChargers{Tenant: "cgrates.org", Category: "call", Direction: "*out", Account: "dan", Subject: "dan"} var dcs utils.DerivedChargers if err := r.GetDerivedChargers(attrs, &dcs); err != nil { t.Error("Unexpected error", err.Error()) diff --git a/engine/timespans.go b/engine/timespans.go index 2420a2ce8..96f0daf10 100644 --- a/engine/timespans.go +++ b/engine/timespans.go @@ -54,7 +54,7 @@ type Increment struct { type UnitInfo struct { DestinationId string Quantity float64 - Tor string + TOR string //Price float64 } diff --git a/utils/apitpdata.go b/utils/apitpdata.go index 803a00fc1..4e72a18aa 100644 --- a/utils/apitpdata.go +++ b/utils/apitpdata.go @@ -381,5 +381,5 @@ type AttrGetDestination struct { } type AttrDerivedChargers struct { - Tenant, Tor, Direction, Account, Subject string + Tenant, Category, Direction, Account, Subject string }