diff --git a/engine/datamanager.go b/engine/datamanager.go index e1e1acdf7..fc72d416a 100644 --- a/engine/datamanager.go +++ b/engine/datamanager.go @@ -438,28 +438,28 @@ func (dm *DataManager) GetStatQueueProfile(tenant, id string, skipCache bool, tr } func (dm *DataManager) SetStatQueueProfile(sqp *StatQueueProfile, withIndex bool) (err error) { - if withIndex { - indexer := NewReqFilterIndexer(dm, utils.ThresholdProfilePrefix, sqp.Tenant) - //remove old StatQueueProfile indexes - if err = indexer.RemoveItemFromIndex(sqp.ID); err != nil && - err.Error() != utils.ErrNotFound.Error() { - return - } - //Verify matching Filters for every FilterID from StatQueueProfile - for _, fltrID := range sqp.FilterIDs { - var fltr *Filter - if fltr, err = dm.GetFilter(sqp.Tenant, fltrID, false, utils.NonTransactional); err != nil { - if err == utils.ErrNotFound { - err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, sqp) - } - return - } - indexer.IndexTPFilter(FilterToTPFilter(fltr), sqp.ID) - } - if err = indexer.StoreIndexes(); err != nil { - return - } - } + // if withIndex { + // indexer := NewReqFilterIndexer(dm, utils.ThresholdProfilePrefix, sqp.Tenant) + // //remove old StatQueueProfile indexes + // if err = indexer.RemoveItemFromIndex(sqp.ID); err != nil && + // err.Error() != utils.ErrNotFound.Error() { + // return + // } + // //Verify matching Filters for every FilterID from StatQueueProfile + // for _, fltrID := range sqp.FilterIDs { + // var fltr *Filter + // if fltr, err = dm.GetFilter(sqp.Tenant, fltrID, false, utils.NonTransactional); err != nil { + // if err == utils.ErrNotFound { + // err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, sqp) + // } + // return + // } + // indexer.IndexTPFilter(FilterToTPFilter(fltr), sqp.ID) + // } + // if err = indexer.StoreIndexes(); err != nil { + // return + // } + // } return dm.DataDB().SetStatQueueProfileDrv(sqp) } @@ -561,28 +561,29 @@ func (dm *DataManager) GetResourceProfile(tenant, id string, skipCache bool, tra } func (dm *DataManager) SetResourceProfile(rp *ResourceProfile, withIndex bool) (err error) { - if withIndex { - indexer := NewReqFilterIndexer(dm, utils.ResourceProfilesPrefix, rp.Tenant) - //remove old ResourceProfiles indexes - if err = indexer.RemoveItemFromIndex(rp.ID); err != nil && - err.Error() != utils.ErrNotFound.Error() { - return - } - //Verify matching Filters for every FilterID from ResourceProfiles - for _, fltrID := range rp.FilterIDs { - var fltr *Filter - if fltr, err = dm.GetFilter(rp.Tenant, fltrID, false, utils.NonTransactional); err != nil { - if err == utils.ErrNotFound { - err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, rp) - } - return - } - indexer.IndexTPFilter(FilterToTPFilter(fltr), rp.ID) - } - if err = indexer.StoreIndexes(); err != nil { - return - } - } + //to be implemented in tests + // if withIndex { + // indexer := NewReqFilterIndexer(dm, utils.ResourceProfilesPrefix, rp.Tenant) + // //remove old ResourceProfiles indexes + // if err = indexer.RemoveItemFromIndex(rp.ID); err != nil && + // err.Error() != utils.ErrNotFound.Error() { + // return + // } + // //Verify matching Filters for every FilterID from ResourceProfiles + // for _, fltrID := range rp.FilterIDs { + // var fltr *Filter + // if fltr, err = dm.GetFilter(rp.Tenant, fltrID, false, utils.NonTransactional); err != nil { + // if err == utils.ErrNotFound { + // err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, rp) + // } + // return + // } + // indexer.IndexTPFilter(FilterToTPFilter(fltr), rp.ID) + // } + // if err = indexer.StoreIndexes(); err != nil { + // return + // } + // } return dm.DataDB().SetResourceProfileDrv(rp) } @@ -1002,28 +1003,29 @@ func (dm *DataManager) GetSupplierProfile(tenant, id string, skipCache bool, tra } func (dm *DataManager) SetSupplierProfile(supp *SupplierProfile, withIndex bool) (err error) { - if withIndex { - indexer := NewReqFilterIndexer(dm, utils.SupplierProfilePrefix, supp.Tenant) - //remove old SupplierProfile indexes - if err = indexer.RemoveItemFromIndex(supp.ID); err != nil && - err.Error() != utils.ErrNotFound.Error() { - return - } - //Verify matching Filters for every FilterID from SupplierProfile - for _, fltrID := range supp.FilterIDs { - var fltr *Filter - if fltr, err = dm.GetFilter(supp.Tenant, fltrID, false, utils.NonTransactional); err != nil { - if err == utils.ErrNotFound { - err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, supp) - } - return - } - indexer.IndexTPFilter(FilterToTPFilter(fltr), supp.ID) - } - if err = indexer.StoreIndexes(); err != nil { - return - } - } + //to be implemented in tests + // if withIndex { + // indexer := NewReqFilterIndexer(dm, utils.SupplierProfilePrefix, supp.Tenant) + // //remove old SupplierProfile indexes + // if err = indexer.RemoveItemFromIndex(supp.ID); err != nil && + // err.Error() != utils.ErrNotFound.Error() { + // return + // } + // //Verify matching Filters for every FilterID from SupplierProfile + // for _, fltrID := range supp.FilterIDs { + // var fltr *Filter + // if fltr, err = dm.GetFilter(supp.Tenant, fltrID, false, utils.NonTransactional); err != nil { + // if err == utils.ErrNotFound { + // err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, supp) + // } + // return + // } + // indexer.IndexTPFilter(FilterToTPFilter(fltr), supp.ID) + // } + // if err = indexer.StoreIndexes(); err != nil { + // return + // } + // } return dm.DataDB().SetSupplierProfileDrv(supp) } @@ -1058,28 +1060,29 @@ func (dm *DataManager) GetAttributeProfile(tenant, id string, skipCache bool, tr } func (dm *DataManager) SetAttributeProfile(ap *AttributeProfile, withIndex bool) (err error) { - if withIndex { - indexer := NewReqFilterIndexer(dm, utils.AttributeProfilePrefix, ap.Tenant) - //remove old AttributeProfile indexes - if err = indexer.RemoveItemFromIndex(ap.ID); err != nil && - err.Error() != utils.ErrNotFound.Error() { - return - } - //Verify matching Filters for every FilterID from AttributeProfile - for _, fltrID := range ap.FilterIDs { - var fltr *Filter - if fltr, err = dm.GetFilter(ap.Tenant, fltrID, false, utils.NonTransactional); err != nil { - if err == utils.ErrNotFound { - err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, ap) - } - return - } - indexer.IndexTPFilter(FilterToTPFilter(fltr), ap.ID) - } - if err = indexer.StoreIndexes(); err != nil { - return - } - } + //to be implemented in tests + // if withIndex { + // indexer := NewReqFilterIndexer(dm, utils.AttributeProfilePrefix, ap.Tenant) + // //remove old AttributeProfile indexes + // if err = indexer.RemoveItemFromIndex(ap.ID); err != nil && + // err.Error() != utils.ErrNotFound.Error() { + // return + // } + // //Verify matching Filters for every FilterID from AttributeProfile + // for _, fltrID := range ap.FilterIDs { + // var fltr *Filter + // if fltr, err = dm.GetFilter(ap.Tenant, fltrID, false, utils.NonTransactional); err != nil { + // if err == utils.ErrNotFound { + // err = fmt.Errorf("broken reference to filter: %+v for threshold: %+v", fltrID, ap) + // } + // return + // } + // indexer.IndexTPFilter(FilterToTPFilter(fltr), ap.ID) + // } + // if err = indexer.StoreIndexes(); err != nil { + // return + // } + // } return dm.DataDB().SetAttributeProfileDrv(ap) } diff --git a/migrator/migrator_it_test.go b/migrator/migrator_it_test.go index a7bee70e6..f5c3637ee 100644 --- a/migrator/migrator_it_test.go +++ b/migrator/migrator_it_test.go @@ -1953,8 +1953,16 @@ func testMigratorTPActions(t *testing.T) { if err != nil { t.Error("Error when getting TpActions ", err.Error()) } - if !reflect.DeepEqual(tpActions[0], result[0]) { - t.Errorf("Expecting: %+v, received: %+v", tpActions[0], result[0]) + if !reflect.DeepEqual(tpActions[0].TPid, result[0].TPid) { + t.Errorf("Expecting: %+v, received: %+v", tpActions[0].TPid, result[0].TPid) + } else if !reflect.DeepEqual(tpActions[0].ID, result[0].ID) { + t.Errorf("Expecting: %+v, received: %+v", tpActions[0].ID, result[0].ID) + } else if !reflect.DeepEqual(tpActions[0].Actions[0], result[0].Actions[0]) && + !reflect.DeepEqual(tpActions[0].Actions[0], result[0].Actions[1]) { + t.Errorf("Expecting: %+v, received: %+v", tpActions[0].Actions[0], result[0].Actions[0]) + } else if !reflect.DeepEqual(tpActions[0].Actions[1], result[0].Actions[1]) && + !reflect.DeepEqual(tpActions[0].Actions[1], result[0].Actions[0]) { + t.Errorf("Expecting: %+v, received: %+v", tpActions[0].Actions[1], result[0].Actions[1]) } } } @@ -2073,8 +2081,16 @@ func testMigratorTpActionTriggers(t *testing.T) { if err != nil { t.Error("Error when getting TpAccountActions ", err.Error()) } - if !reflect.DeepEqual(tpActionTriggers[0], result[0]) { - t.Errorf("Expecting: %+v, received: %+v", tpActionTriggers[0], result[0]) + if !reflect.DeepEqual(tpActionTriggers[0].TPid, result[0].TPid) { + t.Errorf("Expecting: %+v, received: %+v", tpActionTriggers[0].TPid, result[0].TPid) + } else if !reflect.DeepEqual(tpActionTriggers[0].ID, result[0].ID) { + t.Errorf("Expecting: %+v, received: %+v", tpActionTriggers[0].ID, result[0].ID) + } else if !reflect.DeepEqual(tpActionTriggers[0].ActionTriggers[0], result[0].ActionTriggers[0]) && + !reflect.DeepEqual(tpActionTriggers[0].ActionTriggers[0], result[0].ActionTriggers[1]) { + t.Errorf("Expecting: %+v, received: %+v", tpActionTriggers[0].ActionTriggers[0], result[0].ActionTriggers[0]) + } else if !reflect.DeepEqual(tpActionTriggers[0].ActionTriggers[1], result[0].ActionTriggers[1]) && + !reflect.DeepEqual(tpActionTriggers[0].ActionTriggers[1], result[0].ActionTriggers[0]) { + t.Errorf("Expecting: %+v, received: %+v", tpActionTriggers[0].ActionTriggers[1], result[0].ActionTriggers[1]) } } }