mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Moving *rateSCost and *accountSCost in APIOpts
This commit is contained in:
committed by
Dan Christian Bogos
parent
dcdd696932
commit
c79d0cb4bd
@@ -126,7 +126,7 @@ func (cdrS *CDRServer) rateSCostForEvent(ctx *context.Context, cgrEv *utils.CGRE
|
||||
cgrEv, &rpCost); err != nil {
|
||||
return
|
||||
}
|
||||
cgrEv.Event[utils.MetaRateSCost] = rpCost
|
||||
cgrEv.APIOpts[utils.MetaRateSCost] = rpCost
|
||||
return
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ func (cdrS *CDRServer) accountSDebitEvent(ctx *context.Context, cgrEv *utils.CGR
|
||||
utils.AccountSv1DebitAbstracts, cgrEv, acntCost); err != nil {
|
||||
return
|
||||
}
|
||||
cgrEv.Event[utils.MetaAccountSCost] = acntCost
|
||||
cgrEv.APIOpts[utils.MetaAccountSCost] = acntCost
|
||||
return
|
||||
}
|
||||
|
||||
@@ -258,7 +258,7 @@ func (cdrS *CDRServer) processEvent(ctx *context.Context, ev *utils.CGREvent) (e
|
||||
return
|
||||
}
|
||||
if acntS {
|
||||
if ecCostIface, wasCharged := cgrEv.Event[utils.MetaAccountSCost]; wasCharged {
|
||||
if ecCostIface, wasCharged := cgrEv.APIOpts[utils.MetaAccountSCost]; wasCharged {
|
||||
// before converting into EventChargers, we must get the JSON encoding and Unmarshal it into an EventChargers
|
||||
var btsEvCh []byte
|
||||
btsEvCh, err = json.Marshal(ecCostIface.(map[string]interface{}))
|
||||
|
||||
@@ -711,17 +711,18 @@ func TestCDRsRateProcessEventMock(t *testing.T) {
|
||||
Tenant: "cgrates.org",
|
||||
ID: "testID",
|
||||
Event: map[string]interface{}{
|
||||
utils.MetaRateSCost: utils.RateProfileCost{},
|
||||
"Resources": "ResourceProfile1",
|
||||
utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC),
|
||||
"UsageInterval": "1s",
|
||||
"PddInterval": "1s",
|
||||
utils.Weight: "20.0",
|
||||
utils.Usage: 135 * time.Second,
|
||||
utils.Cost: 123.0,
|
||||
|
||||
"Resources": "ResourceProfile1",
|
||||
utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC),
|
||||
"UsageInterval": "1s",
|
||||
"PddInterval": "1s",
|
||||
utils.Weight: "20.0",
|
||||
utils.Usage: 135 * time.Second,
|
||||
utils.Cost: 123.0,
|
||||
},
|
||||
APIOpts: map[string]interface{}{
|
||||
utils.Subsys: utils.MetaRateS,
|
||||
utils.MetaRateSCost: utils.RateProfileCost{},
|
||||
utils.Subsys: utils.MetaRateS,
|
||||
},
|
||||
}
|
||||
if !reflect.DeepEqual(expected, cgrEv) {
|
||||
@@ -768,17 +769,18 @@ func TestCDRsAccountProcessEventMock(t *testing.T) {
|
||||
Tenant: "cgrates.org",
|
||||
ID: "testID",
|
||||
Event: map[string]interface{}{
|
||||
utils.MetaAccountSCost: &utils.EventCharges{},
|
||||
"Resources": "ResourceProfile1",
|
||||
utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC),
|
||||
"UsageInterval": "1s",
|
||||
"PddInterval": "1s",
|
||||
utils.Weight: "20.0",
|
||||
utils.Usage: 135 * time.Second,
|
||||
utils.Cost: 123.0,
|
||||
|
||||
"Resources": "ResourceProfile1",
|
||||
utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC),
|
||||
"UsageInterval": "1s",
|
||||
"PddInterval": "1s",
|
||||
utils.Weight: "20.0",
|
||||
utils.Usage: 135 * time.Second,
|
||||
utils.Cost: 123.0,
|
||||
},
|
||||
APIOpts: map[string]interface{}{
|
||||
utils.Subsys: utils.MetaAccounts,
|
||||
utils.MetaAccountSCost: &utils.EventCharges{},
|
||||
utils.Subsys: utils.MetaAccounts,
|
||||
},
|
||||
}
|
||||
err := newCDRSrv.accountSDebitEvent(context.Background(), cgrEv)
|
||||
@@ -789,17 +791,18 @@ func TestCDRsAccountProcessEventMock(t *testing.T) {
|
||||
Tenant: "cgrates.org",
|
||||
ID: "testID",
|
||||
Event: map[string]interface{}{
|
||||
utils.MetaAccountSCost: cgrEv.Event[utils.MetaAccountSCost],
|
||||
"Resources": "ResourceProfile1",
|
||||
utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC),
|
||||
"UsageInterval": "1s",
|
||||
"PddInterval": "1s",
|
||||
utils.Weight: "20.0",
|
||||
utils.Usage: 135 * time.Second,
|
||||
utils.Cost: 123.0,
|
||||
|
||||
"Resources": "ResourceProfile1",
|
||||
utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC),
|
||||
"UsageInterval": "1s",
|
||||
"PddInterval": "1s",
|
||||
utils.Weight: "20.0",
|
||||
utils.Usage: 135 * time.Second,
|
||||
utils.Cost: 123.0,
|
||||
},
|
||||
APIOpts: map[string]interface{}{
|
||||
utils.Subsys: utils.MetaAccounts,
|
||||
utils.MetaAccountSCost: cgrEv.APIOpts[utils.MetaAccountSCost],
|
||||
utils.Subsys: utils.MetaAccounts,
|
||||
},
|
||||
}
|
||||
if !reflect.DeepEqual(expected, cgrEv) {
|
||||
|
||||
@@ -186,6 +186,16 @@ func testLdPrMatchAcCDRSProcessEvent(t *testing.T) {
|
||||
Tenant: "cgrates.org",
|
||||
ID: "TestEv1",
|
||||
Event: map[string]interface{}{
|
||||
|
||||
"Account": "1001",
|
||||
"Destination": "1002",
|
||||
"OriginID": "TestEv1",
|
||||
"RequestType": "*prepaid",
|
||||
"Subject": "1001",
|
||||
"ToR": "*voice",
|
||||
},
|
||||
|
||||
APIOpts: map[string]interface{}{
|
||||
utils.MetaAccountSCost: map[string]interface{}{
|
||||
"Abstracts": 0,
|
||||
"Accounting": map[string]interface{}{},
|
||||
@@ -224,15 +234,6 @@ func testLdPrMatchAcCDRSProcessEvent(t *testing.T) {
|
||||
"Rating": map[string]interface{}{},
|
||||
"UnitFactors": map[string]interface{}{},
|
||||
},
|
||||
"Account": "1001",
|
||||
"Destination": "1002",
|
||||
"OriginID": "TestEv1",
|
||||
"RequestType": "*prepaid",
|
||||
"Subject": "1001",
|
||||
"ToR": "*voice",
|
||||
},
|
||||
|
||||
APIOpts: map[string]interface{}{
|
||||
utils.MetaUsage: 2 * time.Minute,
|
||||
utils.OptsCDRsExport: true,
|
||||
utils.OptsRateS: false,
|
||||
|
||||
@@ -179,14 +179,23 @@ func testLdPrMatchRtCDRSProcessEvent(t *testing.T) {
|
||||
if testRPCrt1.Event == nil {
|
||||
t.Fatal("The rpc was not called")
|
||||
}
|
||||
costIntervalRatesID := testRPCrt1.Event.Event["*rateSCost"].(map[string]interface{})["CostIntervals"].([]interface{})[0].(map[string]interface{})["Increments"].([]interface{})[0].(map[string]interface{})["RateID"]
|
||||
costIntervalRatesID := testRPCrt1.Event.APIOpts[utils.MetaRateSCost].(map[string]interface{})["CostIntervals"].([]interface{})[0].(map[string]interface{})["Increments"].([]interface{})[0].(map[string]interface{})["RateID"]
|
||||
expected2 := &utils.CGREventWithEeIDs{
|
||||
EeIDs: nil,
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "TestEv1",
|
||||
Event: map[string]interface{}{
|
||||
"*rateSCost": map[string]interface{}{
|
||||
"Account": "1001",
|
||||
"Destination": "1002",
|
||||
"OriginID": "TestEv1",
|
||||
"RequestType": "*prepaid",
|
||||
"Subject": "1001",
|
||||
"ToR": "*voice",
|
||||
"Usage": 60000000000,
|
||||
},
|
||||
APIOpts: map[string]interface{}{
|
||||
utils.MetaRateSCost: map[string]interface{}{
|
||||
"Altered": nil,
|
||||
utils.Cost: 0.4,
|
||||
"CostIntervals": []map[string]interface{}{
|
||||
@@ -216,15 +225,6 @@ func testLdPrMatchRtCDRSProcessEvent(t *testing.T) {
|
||||
},
|
||||
},
|
||||
},
|
||||
"Account": "1001",
|
||||
"Destination": "1002",
|
||||
"OriginID": "TestEv1",
|
||||
"RequestType": "*prepaid",
|
||||
"Subject": "1001",
|
||||
"ToR": "*voice",
|
||||
"Usage": 60000000000,
|
||||
},
|
||||
APIOpts: map[string]interface{}{
|
||||
utils.OptsRateS: true,
|
||||
utils.OptsCDRsExport: true,
|
||||
utils.OptsAccountS: false,
|
||||
|
||||
@@ -1147,6 +1147,8 @@ func TestCDRProcessRatesCostForEvent(t *testing.T) {
|
||||
ID: "TestCDRProcessRatesCostForEvent",
|
||||
Event: map[string]interface{}{
|
||||
utils.AccountField: "1001",
|
||||
},
|
||||
APIOpts: map[string]interface{}{
|
||||
utils.MetaRateSCost: utils.RateProfileCost{
|
||||
ID: "TEST_RATE_PROCESS_CDR",
|
||||
Cost: utils.NewDecimal(int64(15*time.Second)/10, 0),
|
||||
@@ -1155,7 +1157,7 @@ func TestCDRProcessRatesCostForEvent(t *testing.T) {
|
||||
Increments: []*utils.RateSIncrementCost{
|
||||
{
|
||||
Usage: utils.NewDecimal(int64(15*time.Second), 0),
|
||||
RateID: cgrEv.Event[utils.MetaRateSCost].(utils.RateProfileCost).CostIntervals[0].Increments[0].RateID,
|
||||
RateID: cgrEv.APIOpts[utils.MetaRateSCost].(utils.RateProfileCost).CostIntervals[0].Increments[0].RateID,
|
||||
RateIntervalIndex: 0,
|
||||
CompressFactor: 150,
|
||||
},
|
||||
@@ -1164,7 +1166,7 @@ func TestCDRProcessRatesCostForEvent(t *testing.T) {
|
||||
},
|
||||
},
|
||||
Rates: map[string]*utils.IntervalRate{
|
||||
cgrEv.Event[utils.MetaRateSCost].(utils.RateProfileCost).CostIntervals[0].Increments[0].RateID: {
|
||||
cgrEv.APIOpts[utils.MetaRateSCost].(utils.RateProfileCost).CostIntervals[0].Increments[0].RateID: {
|
||||
IntervalStart: utils.NewDecimal(0, 0),
|
||||
RecurrentFee: utils.NewDecimal(1, 1),
|
||||
Unit: utils.NewDecimal(1, 0),
|
||||
@@ -1172,8 +1174,6 @@ func TestCDRProcessRatesCostForEvent(t *testing.T) {
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
APIOpts: map[string]interface{}{
|
||||
utils.MetaUsage: 15 * time.Second,
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user