Replacing CGREvent with *CGRevent when inherited for ResourceService

This commit is contained in:
TeoV
2019-05-28 10:19:14 +03:00
committed by Dan Christian Bogos
parent d1c7ca3369
commit eaeddd581b
11 changed files with 79 additions and 68 deletions

View File

@@ -1144,7 +1144,7 @@ func testV1FIdxCaGetResourceProfileWithNotFound(t *testing.T) {
var reply string
argsRU := utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -1220,7 +1220,7 @@ func testV1FIdxCaSetResourceProfile(t *testing.T) {
}
argsRU := utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -1249,7 +1249,7 @@ func testV1FIdxCaGetResourceProfileFromTP(t *testing.T) {
var reply string
argsRU := utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e63",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -1274,7 +1274,7 @@ func testV1FIdxCaGetResourceProfileFromTP(t *testing.T) {
argsReU := utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -1350,7 +1350,7 @@ func testV1FIdxCaUpdateResourceProfile(t *testing.T) {
}
argsReU := utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -1416,7 +1416,7 @@ func testV1FIdxCaUpdateResourceProfileFromTP(t *testing.T) {
}
argsReU := utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e65",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -1437,7 +1437,7 @@ func testV1FIdxCaRemoveResourceProfile(t *testing.T) {
var resp string
argsReU := utils.ArgRSv1ResourceUsage{
UsageID: "653a8db2-4f67-4cf8-b622-169e8a482e61",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -1459,7 +1459,7 @@ func testV1FIdxCaRemoveResourceProfile(t *testing.T) {
}
argsRU := utils.ArgRSv1ResourceUsage{
UsageID: "654a8db2-4f67-4cf8-b622-169e8a482e61",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{

View File

@@ -128,7 +128,7 @@ func testV1RsFromFolder(t *testing.T) {
func testV1RsGetResourcesForEvent(t *testing.T) {
var reply *engine.Resources
args := &utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: "Event1",
Event: map[string]interface{}{"Unknown": "unknown"},
@@ -192,7 +192,7 @@ func testV1RsGetResourcesForEvent(t *testing.T) {
func testV1RsTTL0(t *testing.T) {
// only matching Resource3
argsRU := utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -209,7 +209,7 @@ func testV1RsTTL0(t *testing.T) {
}
// overwrite the first allocation
argsRU = utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -224,7 +224,7 @@ func testV1RsTTL0(t *testing.T) {
}
// too many units should be rejected
argsRU = utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -241,7 +241,7 @@ func testV1RsTTL0(t *testing.T) {
// check the record
var rs *engine.Resources
args := &utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -285,7 +285,7 @@ func testV1RsTTL0(t *testing.T) {
var releaseReply string
argsRU = utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e25", // same ID should be accepted by first group since the previous resource should be expired
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -304,7 +304,7 @@ func testV1RsAllocateResource(t *testing.T) {
var reply string
argsRU := utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -325,7 +325,7 @@ func testV1RsAllocateResource(t *testing.T) {
// Second event to test matching of exact limit of first resource
argsRU = utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e52",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -346,7 +346,7 @@ func testV1RsAllocateResource(t *testing.T) {
// Third event testing overflow to second resource which still has one resource available
argsRU = utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e53",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -367,7 +367,7 @@ func testV1RsAllocateResource(t *testing.T) {
// Test resource unavailable
argsRU = utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e54", // same ID should be accepted by first group since the previous resource should be expired
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -385,7 +385,7 @@ func testV1RsAllocateResource(t *testing.T) {
argsRU = utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e55", // same ID should be accepted by first group since the previous resource should be expired
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -409,7 +409,7 @@ func testV1RsAuthorizeResources(t *testing.T) {
var reply string
argsRU := utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -426,7 +426,7 @@ func testV1RsAuthorizeResources(t *testing.T) {
}
argsRU = utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -447,7 +447,7 @@ func testV1RsReleaseResource(t *testing.T) {
var reply string
argsRU := utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e55", // same ID should be accepted by first group since the previous resource should be expired
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -464,7 +464,7 @@ func testV1RsReleaseResource(t *testing.T) {
// only match Resource1 since we don't want for storing of the resource2 bellow
argsRU = utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -481,7 +481,7 @@ func testV1RsReleaseResource(t *testing.T) {
}
var rs *engine.Resources
args := &utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: "Event5",
Event: map[string]interface{}{
@@ -515,7 +515,7 @@ func testV1RsReleaseResource(t *testing.T) {
func testV1RsDBStore(t *testing.T) {
argsRU := utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e71",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -534,7 +534,7 @@ func testV1RsDBStore(t *testing.T) {
}
var rs *engine.Resources
args := &utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: "Event3",
Event: map[string]interface{}{
@@ -579,7 +579,7 @@ func testV1RsDBStore(t *testing.T) {
}
rs = new(engine.Resources)
args = &utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: "Event4",
Event: map[string]interface{}{

View File

@@ -60,7 +60,7 @@ func (dS *DispatcherService) ResourceSv1GetResourcesForEvent(args utils.ArgRSv1R
if args.ArgDispatcher != nil {
routeID = args.ArgDispatcher.RouteID
}
return dS.Dispatch(&args.CGREvent, utils.MetaResources, routeID,
return dS.Dispatch(args.CGREvent, utils.MetaResources, routeID,
utils.ResourceSv1GetResourcesForEvent, args, reply)
}
@@ -81,7 +81,7 @@ func (dS *DispatcherService) ResourceSv1AuthorizeResources(args utils.ArgRSv1Res
if args.ArgDispatcher != nil {
routeID = args.ArgDispatcher.RouteID
}
return dS.Dispatch(&args.CGREvent, utils.MetaResources, routeID,
return dS.Dispatch(args.CGREvent, utils.MetaResources, routeID,
utils.ResourceSv1AuthorizeResources, args, reply)
}
@@ -102,7 +102,7 @@ func (dS *DispatcherService) ResourceSv1AllocateResources(args utils.ArgRSv1Reso
if args.ArgDispatcher != nil {
routeID = args.ArgDispatcher.RouteID
}
return dS.Dispatch(&args.CGREvent, utils.MetaResources, routeID,
return dS.Dispatch(args.CGREvent, utils.MetaResources, routeID,
utils.ResourceSv1AllocateResources, args, reply)
}
@@ -123,6 +123,6 @@ func (dS *DispatcherService) ResourceSv1ReleaseResources(args utils.ArgRSv1Resou
if args.ArgDispatcher != nil {
routeID = args.ArgDispatcher.RouteID
}
return dS.Dispatch(&args.CGREvent, utils.MetaResources, routeID,
return dS.Dispatch(args.CGREvent, utils.MetaResources, routeID,
utils.ResourceSv1ReleaseResources, args, reply)
}

View File

@@ -104,7 +104,7 @@ func testDspResPing(t *testing.T) {
func testDspResTestAuthKey(t *testing.T) {
var rs *engine.Resources
args := &utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -127,7 +127,7 @@ func testDspResTestAuthKey(t *testing.T) {
func testDspResTestAuthKey2(t *testing.T) {
var rs *engine.Resources
args := &utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -161,7 +161,7 @@ func testDspResTestAuthKey3(t *testing.T) {
var reply string
argsRU := utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -190,7 +190,7 @@ func testDspResTestAuthKey3(t *testing.T) {
}
argsRU = utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -211,7 +211,7 @@ func testDspResTestAuthKey3(t *testing.T) {
// relase the only resource active for Resource1
argsRU = utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e55",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -231,7 +231,7 @@ func testDspResTestAuthKey3(t *testing.T) {
// only match Resource1 since we don't want for storing of the resource2 bellow
argsRU = utils.ArgRSv1ResourceUsage{
UsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -251,7 +251,7 @@ func testDspResTestAuthKey3(t *testing.T) {
}
var rs *engine.Resources
args := &utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: "Event5",
Event: map[string]interface{}{

View File

@@ -527,7 +527,10 @@ func (rS *ResourceService) matchingResourcesForEvent(ev *utils.CGREvent,
// V1ResourcesForEvent returns active resource configs matching the event
func (rS *ResourceService) V1ResourcesForEvent(args utils.ArgRSv1ResourceUsage, reply *Resources) (err error) {
if missing := utils.MissingStructFields(&args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
if args.CGREvent == nil {
return utils.NewErrMandatoryIeMissing(utils.Event)
}
if missing := utils.MissingStructFields(args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
return utils.NewErrMandatoryIeMissing(missing...)
} else if args.UsageID == "" {
return utils.NewErrMandatoryIeMissing(utils.UsageID)
@@ -553,7 +556,7 @@ func (rS *ResourceService) V1ResourcesForEvent(args utils.ArgRSv1ResourceUsage,
// end of RPC caching
var mtcRLs Resources
if mtcRLs, err = rS.matchingResourcesForEvent(&args.CGREvent, args.UsageID, args.UsageTTL); err != nil {
if mtcRLs, err = rS.matchingResourcesForEvent(args.CGREvent, args.UsageID, args.UsageTTL); err != nil {
return err
}
*reply = mtcRLs
@@ -562,7 +565,10 @@ func (rS *ResourceService) V1ResourcesForEvent(args utils.ArgRSv1ResourceUsage,
// V1AuthorizeResources queries service to find if an Usage is allowed
func (rS *ResourceService) V1AuthorizeResources(args utils.ArgRSv1ResourceUsage, reply *string) (err error) {
if missing := utils.MissingStructFields(&args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
if args.CGREvent == nil {
return utils.NewErrMandatoryIeMissing(utils.Event)
}
if missing := utils.MissingStructFields(args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
return utils.NewErrMandatoryIeMissing(missing...)
} else if args.UsageID == "" {
return utils.NewErrMandatoryIeMissing(utils.UsageID)
@@ -588,7 +594,7 @@ func (rS *ResourceService) V1AuthorizeResources(args utils.ArgRSv1ResourceUsage,
// end of RPC caching
var mtcRLs Resources
if mtcRLs, err = rS.matchingResourcesForEvent(&args.CGREvent, args.UsageID, args.UsageTTL); err != nil {
if mtcRLs, err = rS.matchingResourcesForEvent(args.CGREvent, args.UsageID, args.UsageTTL); err != nil {
return err
}
var alcMessage string
@@ -608,7 +614,10 @@ func (rS *ResourceService) V1AuthorizeResources(args utils.ArgRSv1ResourceUsage,
// V1AllocateResource is called when a resource requires allocation
func (rS *ResourceService) V1AllocateResource(args utils.ArgRSv1ResourceUsage, reply *string) (err error) {
if missing := utils.MissingStructFields(&args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
if args.CGREvent == nil {
return utils.NewErrMandatoryIeMissing(utils.Event)
}
if missing := utils.MissingStructFields(args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
return utils.NewErrMandatoryIeMissing(missing...)
} else if args.UsageID == "" {
return utils.NewErrMandatoryIeMissing(utils.UsageID)
@@ -634,7 +643,7 @@ func (rS *ResourceService) V1AllocateResource(args utils.ArgRSv1ResourceUsage, r
// end of RPC caching
var mtcRLs Resources
if mtcRLs, err = rS.matchingResourcesForEvent(&args.CGREvent, args.UsageID,
if mtcRLs, err = rS.matchingResourcesForEvent(args.CGREvent, args.UsageID,
args.UsageTTL); err != nil {
return err
}
@@ -667,7 +676,10 @@ func (rS *ResourceService) V1AllocateResource(args utils.ArgRSv1ResourceUsage, r
// V1ReleaseResource is called when we need to clear an allocation
func (rS *ResourceService) V1ReleaseResource(args utils.ArgRSv1ResourceUsage, reply *string) (err error) {
if missing := utils.MissingStructFields(&args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
if args.CGREvent == nil {
return utils.NewErrMandatoryIeMissing(utils.Event)
}
if missing := utils.MissingStructFields(args.CGREvent, []string{utils.Tenant, utils.ID, utils.Event}); len(missing) != 0 { //Params missing
return utils.NewErrMandatoryIeMissing(missing...)
} else if args.UsageID == "" {
return utils.NewErrMandatoryIeMissing(utils.UsageID)
@@ -693,7 +705,7 @@ func (rS *ResourceService) V1ReleaseResource(args utils.ArgRSv1ResourceUsage, re
// end of RPC caching
var mtcRLs Resources
if mtcRLs, err = rS.matchingResourcesForEvent(&args.CGREvent, args.UsageID,
if mtcRLs, err = rS.matchingResourcesForEvent(args.CGREvent, args.UsageID,
args.UsageTTL); err != nil {
return err
}

View File

@@ -379,7 +379,7 @@ func TestResourcePopulateResourceService(t *testing.T) {
func TestResourceV1AuthorizeResourceMissingStruct(t *testing.T) {
var reply *string
argsMissingTenant := utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
ID: "id1",
Event: map[string]interface{}{},
},
@@ -387,7 +387,7 @@ func TestResourceV1AuthorizeResourceMissingStruct(t *testing.T) {
Units: 20,
}
argsMissingUsageID := utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: "id1",
Event: map[string]interface{}{},

View File

@@ -400,7 +400,7 @@ func testV1FltrPopulateResources(t *testing.T) {
// Allocate 3 units for resource ResTest
argsRU := utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{

View File

@@ -128,7 +128,7 @@ func testV1RsSetProfile(t *testing.T) {
func testV1RsAllocate(t *testing.T) {
argsRU := utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -148,7 +148,7 @@ func testV1RsAllocate(t *testing.T) {
}
argsRU2 := utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -170,7 +170,7 @@ func testV1RsAllocate(t *testing.T) {
func testV1RsAuthorize(t *testing.T) {
var reply *engine.Resources
args := &utils.ArgRSv1ResourceUsage{
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{
@@ -204,7 +204,7 @@ func testV1RsAuthorize(t *testing.T) {
var reply2 string
argsRU := utils.ArgRSv1ResourceUsage{
UsageID: "chan_1",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: utils.UUIDSha1Prefix(),
Event: map[string]interface{}{

View File

@@ -324,7 +324,7 @@ func testV1SplSPopulateResUsage(t *testing.T) {
var reply string
argsRU := utils.ArgRSv1ResourceUsage{
UsageID: "RandomID",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: "Event1",
Event: map[string]interface{}{
@@ -347,7 +347,7 @@ func testV1SplSPopulateResUsage(t *testing.T) {
argsRU = utils.ArgRSv1ResourceUsage{
UsageID: "RandomID2",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: "Event2",
Event: map[string]interface{}{
@@ -369,7 +369,7 @@ func testV1SplSPopulateResUsage(t *testing.T) {
argsRU = utils.ArgRSv1ResourceUsage{
UsageID: "RandomID3",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: "Event3",
Event: map[string]interface{}{
@@ -391,7 +391,7 @@ func testV1SplSPopulateResUsage(t *testing.T) {
argsRU = utils.ArgRSv1ResourceUsage{
UsageID: "RandomID4",
CGREvent: utils.CGREvent{
CGREvent: &utils.CGREvent{
Tenant: "cgrates.org",
ID: "Event4",
Event: map[string]interface{}{

View File

@@ -379,11 +379,6 @@ func (sS *SessionS) forceSTerminate(s *Session, extraDebit time.Duration, lastUs
"<%s> failed force terminating session with ID <%s>, err: <%s>",
utils.SessionS, s.CGRid(), err.Error()))
}
cgrEv := utils.CGREvent{
Tenant: s.Tenant,
ID: utils.GenUUID(),
Event: s.EventStart.AsMapInterface(),
}
// post the CDRs
if sS.cdrS != nil {
if cgrEvs, err := s.asCGREvents(); err != nil {
@@ -417,7 +412,11 @@ func (sS *SessionS) forceSTerminate(s *Session, extraDebit time.Duration, lastUs
if sS.resS != nil && s.ResourceID != "" {
var reply string
argsRU := utils.ArgRSv1ResourceUsage{
CGREvent: cgrEv,
CGREvent: &utils.CGREvent{
Tenant: s.Tenant,
ID: utils.GenUUID(),
Event: s.EventStart.AsMapInterface(),
},
UsageID: s.ResourceID,
Units: 1,
ArgDispatcher: s.ArgDispatcher,
@@ -1816,7 +1815,7 @@ func (sS *SessionS) BiRPCv1AuthorizeEvent(clnt rpcclient.RpcClientConnection,
}
var allocMsg string
attrRU := utils.ArgRSv1ResourceUsage{
CGREvent: args.CGREvent,
CGREvent: &args.CGREvent,
UsageID: originID,
Units: 1,
ArgDispatcher: args.ArgDispatcher,
@@ -2063,7 +2062,7 @@ func (sS *SessionS) BiRPCv1InitiateSession(clnt rpcclient.RpcClientConnection,
return utils.NewErrMandatoryIeMissing(utils.OriginID)
}
attrRU := utils.ArgRSv1ResourceUsage{
CGREvent: args.CGREvent,
CGREvent: &args.CGREvent,
UsageID: originID,
Units: 1,
ArgDispatcher: args.ArgDispatcher,
@@ -2415,7 +2414,7 @@ func (sS *SessionS) BiRPCv1TerminateSession(clnt rpcclient.RpcClientConnection,
}
var reply string
argsRU := utils.ArgRSv1ResourceUsage{
CGREvent: args.CGREvent,
CGREvent: &args.CGREvent,
UsageID: originID, // same ID should be accepted by first group since the previous resource should be expired
Units: 1,
ArgDispatcher: args.ArgDispatcher,
@@ -2691,7 +2690,7 @@ func (sS *SessionS) BiRPCv1ProcessEvent(clnt rpcclient.RpcClientConnection,
return utils.NewErrMandatoryIeMissing(utils.OriginID)
}
attrRU := utils.ArgRSv1ResourceUsage{
CGREvent: args.CGREvent,
CGREvent: &args.CGREvent,
UsageID: originID,
Units: 1,
ArgDispatcher: args.ArgDispatcher,

View File

@@ -1022,7 +1022,7 @@ type AttrRLsCache struct {
}
type ArgRSv1ResourceUsage struct {
CGREvent
*CGREvent
UsageID string // ResourceUsage Identifier
UsageTTL *time.Duration
Units float64