Update integration test after renaming from Supplier to Route

This commit is contained in:
TeoV
2020-04-30 16:35:22 +03:00
committed by Dan Christian Bogos
parent 1639745edf
commit f7431c53d8
23 changed files with 496 additions and 504 deletions

View File

@@ -130,8 +130,8 @@ func (ev *CGREvent) Clone() (clned *CGREvent) {
// ExtractedArgs stores the extracted arguments from CGREvent
type ExtractedArgs struct {
ArgDispatcher *ArgDispatcher
SupplierPaginator *Paginator
ArgDispatcher *ArgDispatcher
RoutePaginator *Paginator
}
// CGREvents is a group of generic events processed by CGR services
@@ -206,19 +206,18 @@ func getArgDispatcherFromOpts(ev map[string]interface{}) (arg *ArgDispatcher) {
return
}
// consumeRoutePaginator will consume routePaginator if presented
func (ev *CGREvent) consumeRoutePaginator() (args *Paginator) {
// getRoutePaginatorFromOpts will consume supplierPaginator if present
func getRoutePaginatorFromOpts(ev map[string]interface{}) (args *Paginator, err error) {
args = new(Paginator)
if ev == nil {
return
}
//check if we have suppliersLimit in event and in case it has add it in args
limitIface, hasRoutesLimit := ev.Event[MetaRoutesLimit]
limitIface, hasRoutesLimit := ev[RoutesLimit]
if hasRoutesLimit {
delete(ev.Event, MetaRoutesLimit)
limit, err := IfaceAsInt64(limitIface)
if err != nil {
Logger.Err(err.Error())
delete(ev, RoutesLimit)
var limit int64
if limit, err = IfaceAsInt64(limitIface); err != nil {
return
}
args = &Paginator{
@@ -226,20 +225,18 @@ func (ev *CGREvent) consumeRoutePaginator() (args *Paginator) {
}
}
//check if we have offset in event and in case it has add it in args
offsetIface, hasRoutesOffset := ev.Event[MetaRoutesOffset]
if hasRoutesOffset {
delete(ev.Event, MetaRoutesOffset)
offset, err := IfaceAsInt64(offsetIface)
if err != nil {
Logger.Err(err.Error())
return
}
if !hasRoutesLimit { //in case we don't have limit, but we have offset we need to initialize the struct
args = &Paginator{
Offset: IntPointer(int(offset)),
}
} else {
args.Offset = IntPointer(int(offset))
offsetIface, hasRoutesOffset := ev[RoutesOffset]
if !hasRoutesOffset {
return
}
delete(ev, RoutesOffset)
var offset int64
if offset, err = IfaceAsInt64(offsetIface); err != nil {
return
}
if !hasRoutesLimit { //in case we don't have limit, but we have offset we need to initialize the struct
args = &Paginator{
Offset: IntPointer(int(offset)),
}
return
}
@@ -247,14 +244,8 @@ func (ev *CGREvent) consumeRoutePaginator() (args *Paginator) {
return
}
// ExtractedArgs stores the extracted arguments from CGREvent
type ExtractedArgs struct {
ArgDispatcher *ArgDispatcher
RoutePaginator *Paginator
}
// ExtractArgs extracts the ArgDispatcher and RoutePaginator from the received event
func (ev *CGREvent) ExtractArgs(dispatcherFlag, consumeRoutePaginator bool) (ca ExtractedArgs) {
// ExtractArgsFromOpts extracts the posible arguments(ArgDispatcher and RoutePaginator) from options
func ExtractArgsFromOpts(ev map[string]interface{}, dispatcherFlag, consumeRoutePaginator bool) (ca ExtractedArgs, err error) {
ca = ExtractedArgs{
ArgDispatcher: getArgDispatcherFromOpts(ev),
}
@@ -262,40 +253,7 @@ func (ev *CGREvent) ExtractArgs(dispatcherFlag, consumeRoutePaginator bool) (ca
ca.ArgDispatcher = new(ArgDispatcher)
}
if consumeRoutePaginator {
ca.RoutePaginator = ev.consumeRoutePaginator()
}
return
}
// CGREvents is a group of generic events processed by CGR services
// ie: derived CDRs
type CGREvents struct {
Tenant string
ID string
Time *time.Time // event time
Events []map[string]interface{}
}
func NewCGREventWithArgDispatcher() *CGREventWithArgDispatcher {
return new(CGREventWithArgDispatcher)
}
type CGREventWithArgDispatcher struct {
*CGREvent
*ArgDispatcher
}
func (ev *CGREventWithArgDispatcher) Clone() (clned *CGREventWithArgDispatcher) {
if ev == nil {
return
}
clned = new(CGREventWithArgDispatcher)
if ev.CGREvent != nil {
clned.CGREvent = ev.CGREvent.Clone()
}
if ev.ArgDispatcher != nil {
clned.ArgDispatcher = new(ArgDispatcher)
*clned.ArgDispatcher = *ev.ArgDispatcher
ca.RoutePaginator, err = getRoutePaginatorFromOpts(ev)
}
return
}

View File

@@ -331,7 +331,7 @@ func TestCGREventconsumeArgDispatcher(t *testing.T) {
func TestCGREventconsumeRoutePaginator(t *testing.T) {
//empty check
var opts map[string]interface{}
rcv, err := getSupplierPaginatorFromOpts(opts)
rcv, err := getRoutePaginatorFromOpts(opts)
if err != nil {
t.Error(err)
}
@@ -340,7 +340,7 @@ func TestCGREventconsumeRoutePaginator(t *testing.T) {
t.Errorf("Expecting: %+v, received: %+v", eOut, rcv)
}
opts = nil
rcv, err = getSupplierPaginatorFromOpts(opts)
rcv, err = getRoutePaginatorFromOpts(opts)
if err != nil {
t.Error(err)
}
@@ -349,22 +349,22 @@ func TestCGREventconsumeRoutePaginator(t *testing.T) {
}
//normal check
opts = map[string]interface{}{
SuppliersLimit: 18,
SuppliersOffset: 20,
RoutesLimit: 18,
RoutesOffset: 20,
}
eOut = &Paginator{
Limit: IntPointer(18),
Offset: IntPointer(20),
}
rcv, err = getSupplierPaginatorFromOpts(opts)
rcv, err = getRoutePaginatorFromOpts(opts)
if err != nil {
t.Error(err)
}
//check if *suppliers_limit and *suppliers_offset was deleted
if _, has := opts[SuppliersLimit]; has {
if _, has := opts[RoutesLimit]; has {
t.Errorf("*suppliers_limit wasn't deleted")
} else if _, has := opts[SuppliersOffset]; has {
} else if _, has := opts[RoutesOffset]; has {
t.Errorf("*suppliers_offset wasn't deleted")
}
if !reflect.DeepEqual(eOut, rcv) {
@@ -372,20 +372,20 @@ func TestCGREventconsumeRoutePaginator(t *testing.T) {
}
//check without *suppliers_limit, but with *suppliers_offset
opts = map[string]interface{}{
SuppliersOffset: 20,
RoutesOffset: 20,
}
eOut = &Paginator{
Offset: IntPointer(20),
}
rcv, err = getSupplierPaginatorFromOpts(opts)
rcv, err = getRoutePaginatorFromOpts(opts)
if err != nil {
t.Error(err)
}
//check if *suppliers_limit and *suppliers_offset was deleted
if _, has := opts[SuppliersLimit]; has {
if _, has := opts[RoutesLimit]; has {
t.Errorf("*suppliers_limit wasn't deleted")
} else if _, has := opts[SuppliersOffset]; has {
} else if _, has := opts[RoutesOffset]; has {
t.Errorf("*suppliers_offset wasn't deleted")
}
if !reflect.DeepEqual(eOut, rcv) {
@@ -393,10 +393,10 @@ func TestCGREventconsumeRoutePaginator(t *testing.T) {
}
//check with notAnInt at *suppliers_limit
opts = map[string]interface{}{
SuppliersLimit: "Not an int",
RoutesLimit: "Not an int",
}
eOut = new(Paginator)
rcv, err = getSupplierPaginatorFromOpts(opts)
rcv, err = getRoutePaginatorFromOpts(opts)
if err == nil {
t.Error("Expected error")
}
@@ -405,10 +405,10 @@ func TestCGREventconsumeRoutePaginator(t *testing.T) {
}
//check with notAnInt at and *suppliers_offset
opts = map[string]interface{}{
SuppliersOffset: "Not an int",
RoutesOffset: "Not an int",
}
eOut = new(Paginator)
rcv, err = getSupplierPaginatorFromOpts(opts)
rcv, err = getRoutePaginatorFromOpts(opts)
if err == nil {
t.Error("Expected error")
}
@@ -434,7 +434,7 @@ func TestCGREventConsumeArgs(t *testing.T) {
if err != nil {
t.Error(err)
}
eOut.SupplierPaginator = new(Paginator)
eOut.RoutePaginator = new(Paginator)
if !reflect.DeepEqual(eOut, rcv) {
t.Errorf("Expecting: %+v, received: %+v", eOut, rcv)
}
@@ -456,8 +456,8 @@ func TestCGREventConsumeArgs(t *testing.T) {
t.Error(err)
}
eOut = ExtractedArgs{
SupplierPaginator: new(Paginator),
ArgDispatcher: new(ArgDispatcher),
RoutePaginator: new(Paginator),
ArgDispatcher: new(ArgDispatcher),
}
if !reflect.DeepEqual(eOut, rcv) {
t.Errorf("Expecting: %+v, received: %+v", eOut, rcv)

View File

@@ -596,7 +596,7 @@ const (
MetaHdr = "*hdr"
MetaTrl = "*trl"
MetaTmp = "*tmp"
MetaOpts = "*opts"
MetaOpts = "*opts"
CGROriginHost = "cgr_originhost"
MetaInitiate = "*initiate"
MetaUpdate = "*update"
@@ -655,65 +655,65 @@ const (
Service = "Service"
MetaRoutesLimit = "*routes_limit"
MetaRoutesOffset = "*routes_offset"
ApierV = "ApierV"
MetaApier = "*apier"
MetaAnalyzer = "*analyzer"
CGREventString = "CGREvent"
MetaTextPlain = "*text_plain"
MetaIgnoreErrors = "*ignore_errors"
MetaRelease = "*release"
MetaAllocate = "*allocate"
MetaAuthorize = "*authorize"
MetaSTIRAuthenticate = "*stir_authenticate"
MetaSTIRInitiate = "*stir_initiate"
MetaInit = "*init"
MetaRatingPlanCost = "*rating_plan_cost"
RatingPlanIDs = "RatingPlanIDs"
ERs = "ERs"
Ratio = "Ratio"
Load = "Load"
Slash = "/"
UUID = "UUID"
ActionsID = "ActionsID"
MetaAct = "*act"
DestinationPrefix = "DestinationPrefix"
DestinationID = "DestinationID"
ExportTemplate = "ExportTemplate"
ExportFormat = "ExportFormat"
Synchronous = "Synchronous"
Attempts = "Attempts"
FieldSeparator = "FieldSeparator"
ExportPath = "ExportPath"
ExportID = "ExportID"
ExportFileName = "ExportFileName"
GroupID = "GroupID"
ThresholdType = "ThresholdType"
ThresholdValue = "ThresholdValue"
Recurrent = "Recurrent"
Executed = "Executed"
MinSleep = "MinSleep"
ActivationDate = "ActivationDate"
ExpirationDate = "ExpirationDate"
MinQueuedItems = "MinQueuedItems"
OrderIDStart = "OrderIDStart"
OrderIDEnd = "OrderIDEnd"
MinCost = "MinCost"
MaxCost = "MaxCost"
MetaLoaders = "*loaders"
TmpSuffix = ".tmp"
MetaDiamreq = "*diamreq"
MetaCost = "*cost"
MetaGroup = "*group"
InternalRPCSet = "InternalRPCSet"
FileName = "FileName"
MetaRadauth = "*radauth"
UserPassword = "UserPassword"
RadauthFailed = "RADAUTH_FAILED"
MetaPAP = "*pap"
MetaCHAP = "*chap"
MetaMSCHAPV2 = "*mschapv2"
MetaDynaprepaid = "*dynaprepaid"
MetaFD = "*fd"
ApierV = "ApierV"
MetaApier = "*apier"
MetaAnalyzer = "*analyzer"
CGREventString = "CGREvent"
MetaTextPlain = "*text_plain"
MetaIgnoreErrors = "*ignore_errors"
MetaRelease = "*release"
MetaAllocate = "*allocate"
MetaAuthorize = "*authorize"
MetaSTIRAuthenticate = "*stir_authenticate"
MetaSTIRInitiate = "*stir_initiate"
MetaInit = "*init"
MetaRatingPlanCost = "*rating_plan_cost"
RatingPlanIDs = "RatingPlanIDs"
ERs = "ERs"
Ratio = "Ratio"
Load = "Load"
Slash = "/"
UUID = "UUID"
ActionsID = "ActionsID"
MetaAct = "*act"
DestinationPrefix = "DestinationPrefix"
DestinationID = "DestinationID"
ExportTemplate = "ExportTemplate"
ExportFormat = "ExportFormat"
Synchronous = "Synchronous"
Attempts = "Attempts"
FieldSeparator = "FieldSeparator"
ExportPath = "ExportPath"
ExportID = "ExportID"
ExportFileName = "ExportFileName"
GroupID = "GroupID"
ThresholdType = "ThresholdType"
ThresholdValue = "ThresholdValue"
Recurrent = "Recurrent"
Executed = "Executed"
MinSleep = "MinSleep"
ActivationDate = "ActivationDate"
ExpirationDate = "ExpirationDate"
MinQueuedItems = "MinQueuedItems"
OrderIDStart = "OrderIDStart"
OrderIDEnd = "OrderIDEnd"
MinCost = "MinCost"
MaxCost = "MaxCost"
MetaLoaders = "*loaders"
TmpSuffix = ".tmp"
MetaDiamreq = "*diamreq"
MetaCost = "*cost"
MetaGroup = "*group"
InternalRPCSet = "InternalRPCSet"
FileName = "FileName"
MetaRadauth = "*radauth"
UserPassword = "UserPassword"
RadauthFailed = "RADAUTH_FAILED"
MetaPAP = "*pap"
MetaCHAP = "*chap"
MetaMSCHAPV2 = "*mschapv2"
MetaDynaprepaid = "*dynaprepaid"
MetaFD = "*fd"
SortingData = "SortingData"
Count = "Count"
ProfileID = "ProfileID"
@@ -2106,8 +2106,8 @@ const (
RouteID = "RouteID"
// SupplierS
SuppliersLimit = "SuppliersLimit"
SuppliersOffset = "SuppliersOffset"
RoutesLimit = "RoutesLimit"
RoutesOffset = "RoutesOffset"
)
func buildCacheInstRevPrefixes() {