Prepared code for pull request, commented not fully integrated code

This commit is contained in:
edwardro22
2018-01-03 12:36:31 +02:00
committed by Dan Christian Bogos
parent 67a039c0bd
commit 9ad0e2cefe
2 changed files with 111 additions and 92 deletions

View File

@@ -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)
}

View File

@@ -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])
}
}
}