mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Added test for resources MissingStructFields
This commit is contained in:
committed by
Dan Christian Bogos
parent
09bb81f3bc
commit
3aec58d044
@@ -533,7 +533,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) {
|
||||
var alcMessage string
|
||||
if missing := utils.MissingStructFields(&args, []string{"CGREvent.Tenant", "UsageID"}); len(missing) != 0 { //Params missing
|
||||
if missing := utils.MissingStructFields(&args.CGREvent, []string{"Tenant"}); len(missing) != 0 { //Params missing
|
||||
return utils.NewErrMandatoryIeMissing(missing...)
|
||||
}
|
||||
if missing := utils.MissingStructFields(&args, []string{"UsageID"}); len(missing) != 0 { //Params missing
|
||||
return utils.NewErrMandatoryIeMissing(missing...)
|
||||
}
|
||||
mtcRLs := rS.cachedResourcesForEvent(args.TenantID())
|
||||
@@ -560,7 +563,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, []string{"CGREvent.Tenant", "UsageID"}); len(missing) != 0 { //Params missing
|
||||
if missing := utils.MissingStructFields(&args.CGREvent, []string{"Tenant"}); len(missing) != 0 { //Params missing
|
||||
return utils.NewErrMandatoryIeMissing(missing...)
|
||||
}
|
||||
if missing := utils.MissingStructFields(&args, []string{"UsageID"}); len(missing) != 0 { //Params missing
|
||||
return utils.NewErrMandatoryIeMissing(missing...)
|
||||
}
|
||||
var wasCached bool
|
||||
@@ -613,7 +619,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, []string{"CGREvent.Tenant", "UsageID"}); len(missing) != 0 { //Params missing
|
||||
if missing := utils.MissingStructFields(&args.CGREvent, []string{"Tenant"}); len(missing) != 0 { //Params missing
|
||||
return utils.NewErrMandatoryIeMissing(missing...)
|
||||
}
|
||||
if missing := utils.MissingStructFields(&args, []string{"UsageID"}); len(missing) != 0 { //Params missing
|
||||
return utils.NewErrMandatoryIeMissing(missing...)
|
||||
}
|
||||
mtcRLs := rS.cachedResourcesForEvent(args.UsageID)
|
||||
|
||||
@@ -259,3 +259,37 @@ func TestRSCacheSetGet(t *testing.T) {
|
||||
t.Errorf("Expecting: %+v, received: %+v", r, x)
|
||||
}
|
||||
}
|
||||
|
||||
func TestV1AuthorizeResourceMissingStruct(t *testing.T) {
|
||||
data, _ := NewMapStorage()
|
||||
dmresmiss := NewDataManager(data)
|
||||
|
||||
rserv := &ResourceService{
|
||||
dm: dmresmiss,
|
||||
filterS: &FilterS{dm: dmresmiss},
|
||||
indexedFields: []string{}, // speed up query on indexes
|
||||
}
|
||||
var reply *string
|
||||
argsMissingTenant := utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
ID: "id1",
|
||||
Event: map[string]interface{}{},
|
||||
},
|
||||
UsageID: "test1", // ResourceUsage Identifier
|
||||
Units: 20,
|
||||
}
|
||||
argsMissingUsageID := utils.ArgRSv1ResourceUsage{
|
||||
CGREvent: utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "id1",
|
||||
Event: map[string]interface{}{},
|
||||
},
|
||||
Units: 20,
|
||||
}
|
||||
if err := rserv.V1AuthorizeResources(argsMissingTenant, reply); err.Error() != "MANDATORY_IE_MISSING: [Tenant]" {
|
||||
t.Error(err.Error())
|
||||
}
|
||||
if err := rserv.V1AuthorizeResources(argsMissingUsageID, reply); err.Error() != "MANDATORY_IE_MISSING: [UsageID]" {
|
||||
t.Error(err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user