mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Improving unit tests coverage
This commit is contained in:
committed by
Dan Christian Bogos
parent
8a6d262521
commit
ddfded6c05
@@ -2553,6 +2553,63 @@ func TestAccountPublishAct(t *testing.T) {
|
||||
ub.ExecuteActionTriggers(a)
|
||||
}
|
||||
|
||||
func TestTestAccountActUnSetCurr(t *testing.T) {
|
||||
cfg, _ := config.NewDefaultCGRConfig()
|
||||
tmpDm := dm
|
||||
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
|
||||
dm := NewDataManager(db, cfg.CacheCfg(), nil)
|
||||
defer func() {
|
||||
cfg2, _ := config.NewDefaultCGRConfig()
|
||||
config.SetCgrConfig(cfg2)
|
||||
SetDataStorage(tmpDm)
|
||||
}()
|
||||
acc := &Account{
|
||||
ID: "cgrates.org:1001",
|
||||
BalanceMap: map[string]Balances{
|
||||
utils.VOICE: {
|
||||
&Balance{
|
||||
Weight: 20,
|
||||
DestinationIDs: utils.StringMap{"DEST1": true},
|
||||
ExpirationDate: time.Date(2023, 3, 12, 0, 0, 0, 0, time.UTC),
|
||||
},
|
||||
},
|
||||
},
|
||||
ActionTriggers: ActionTriggers{
|
||||
&ActionTrigger{
|
||||
Recurrent: true,
|
||||
Balance: &BalanceFilter{
|
||||
Type: utils.StringPointer(utils.VOICE),
|
||||
ExpirationDate: utils.TimePointer(time.Date(2023, 3, 12, 0, 0, 0, 0, time.UTC)),
|
||||
Weight: utils.Float64Pointer(20),
|
||||
DestinationIDs: &utils.StringMap{
|
||||
"DEST1": true,
|
||||
},
|
||||
},
|
||||
ThresholdValue: 2,
|
||||
ThresholdType: utils.TRIGGER_BALANCE_EXPIRED,
|
||||
ActionsID: "ACT_1",
|
||||
Executed: false},
|
||||
},
|
||||
}
|
||||
a := &Action{
|
||||
ActionType: utils.UNSET_RECURRENT,
|
||||
Balance: &BalanceFilter{
|
||||
Type: utils.StringPointer(utils.VOICE),
|
||||
ExpirationDate: utils.TimePointer(time.Date(2023, 3, 12, 0, 0, 0, 0, time.UTC)),
|
||||
Weight: utils.Float64Pointer(20),
|
||||
DestinationIDs: &utils.StringMap{
|
||||
"DEST1": true,
|
||||
},
|
||||
},
|
||||
}
|
||||
dm.SetActions("ACT_1", Actions{a}, utils.NonTransactional)
|
||||
SetDataStorage(dm)
|
||||
acc.ExecuteActionTriggers(a)
|
||||
if acc, err := dm.GetAccount("cgrates.org:1001"); err != nil || acc.ActionTriggers[0].Recurrent {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
/*********************************** Benchmarks *******************************/
|
||||
|
||||
func BenchmarkGetSecondForPrefix(b *testing.B) {
|
||||
|
||||
@@ -354,3 +354,30 @@ func TestChargerV1ProcessEvent(t *testing.T) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestChSListenAndServe(t *testing.T) {
|
||||
cfg, _ := config.NewDefaultCGRConfig()
|
||||
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
|
||||
dm := NewDataManager(db, cfg.CacheCfg(), nil)
|
||||
exitChan := make(chan bool)
|
||||
|
||||
go func() {
|
||||
time.Sleep(3 * time.Millisecond)
|
||||
exitChan <- true
|
||||
}()
|
||||
cS, err := NewChargerService(dm, nil, cfg, nil)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
go func() {
|
||||
if err := cS.ListenAndServe(exitChan); err != nil {
|
||||
t.Errorf("ListenAndServe returned an error: %v", err)
|
||||
}
|
||||
}()
|
||||
|
||||
time.Sleep(5 * time.Millisecond)
|
||||
|
||||
exitChan <- true
|
||||
|
||||
time.Sleep(5 * time.Millisecond)
|
||||
}
|
||||
|
||||
@@ -1217,5 +1217,98 @@ func TestRemoveDispatcherPrfRpl(t *testing.T) {
|
||||
if err := dm.RemoveDispatcherProfile("cgrates.org", "DSP_Test2", utils.NonTransactional, true); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDMReconnect(t *testing.T) {
|
||||
cfg, _ := config.NewDefaultCGRConfig()
|
||||
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
|
||||
dm := NewDataManager(db, cfg.CacheCfg(), nil)
|
||||
if err := dm.Reconnect(cfg.GeneralCfg().DBDataEncoding, cfg.DataDbCfg()); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestDMRemAccountActionPlans(t *testing.T) {
|
||||
cfg, _ := config.NewDefaultCGRConfig()
|
||||
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
|
||||
dm := NewDataManager(db, cfg.CacheCfg(), nil)
|
||||
acc := &Account{
|
||||
ID: "cgrates.org:1001",
|
||||
BalanceMap: map[string]Balances{
|
||||
utils.MONETARY: {
|
||||
&Balance{
|
||||
Value: 10,
|
||||
},
|
||||
}}}
|
||||
dm.SetAccount(acc)
|
||||
apIDs := []string{"PACKAGE_10_SHARED_A_5", "USE_SHARED_A"}
|
||||
if err := dm.SetAccountActionPlans(acc.ID, apIDs, false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := dm.RemAccountActionPlans(acc.ID, apIDs); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestDMGetDispacherHost(t *testing.T) {
|
||||
cfg, _ := config.NewDefaultCGRConfig()
|
||||
cfg.DataDbCfg().Items[utils.MetaDispatcherHosts].Remote = true
|
||||
cfg.DataDbCfg().RmtConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1)}
|
||||
Cache.Clear(nil)
|
||||
defer func() {
|
||||
cfg2, _ := config.NewDefaultCGRConfig()
|
||||
config.SetCgrConfig(cfg2)
|
||||
}()
|
||||
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
|
||||
clientConn := make(chan rpcclient.ClientConnector, 1)
|
||||
clientConn <- clMock(func(serviceMethod string, _, reply interface{}) error {
|
||||
if serviceMethod == utils.ReplicatorSv1GetDispatcherHost {
|
||||
|
||||
rpl := &DispatcherHost{
|
||||
Tenant: " cgrates.org",
|
||||
ID: "DP_1",
|
||||
}
|
||||
*reply.(**DispatcherHost) = rpl
|
||||
return nil
|
||||
}
|
||||
return utils.ErrNotImplemented
|
||||
})
|
||||
connMgr := NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{
|
||||
utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn,
|
||||
})
|
||||
dm := NewDataManager(db, cfg.CacheCfg(), connMgr)
|
||||
config.SetCgrConfig(cfg)
|
||||
if _, err := dm.GetDispatcherHost("cgrates.org", "DP_1", false, true, utils.NonTransactional); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDmRemoveStatQueue(t *testing.T) {
|
||||
cfg, _ := config.NewDefaultCGRConfig()
|
||||
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
|
||||
cfg.DataDbCfg().RplConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1)}
|
||||
cfg.DataDbCfg().Items[utils.MetaStatQueues].Replicate = true
|
||||
defer func() {
|
||||
cfg2, _ := config.NewDefaultCGRConfig()
|
||||
config.SetCgrConfig(cfg2)
|
||||
}()
|
||||
clientConn := make(chan rpcclient.ClientConnector, 1)
|
||||
clientConn <- clMock(func(serviceMethod string, _, _ interface{}) error {
|
||||
if serviceMethod == utils.ReplicatorSv1RemoveStatQueue {
|
||||
return nil
|
||||
}
|
||||
return utils.ErrNotImplemented
|
||||
})
|
||||
connMgr := NewConnManager(cfg,
|
||||
map[string]chan rpcclient.ClientConnector{
|
||||
utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn,
|
||||
})
|
||||
dm := NewDataManager(db, cfg.CacheCfg(), connMgr)
|
||||
config.SetCgrConfig(cfg)
|
||||
if err := dm.RemoveStatQueue("cgrates.org", "SQ1", utils.NonTransactional); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -725,3 +725,27 @@ func TestThSStoreThreshold(t *testing.T) {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestV1GetThreshold(t *testing.T) {
|
||||
cfg, _ := config.NewDefaultCGRConfig()
|
||||
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
|
||||
dm := NewDataManager(db, cfg.CacheCfg(), nil)
|
||||
thS, err := NewThresholdService(dm, cfg, nil)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
dm.SetThreshold(&Threshold{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "TH_3",
|
||||
Hits: 0,
|
||||
})
|
||||
var reply Threshold
|
||||
tntID := &utils.TenantID{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "TH_3",
|
||||
}
|
||||
if err := thS.V1GetThreshold(tntID, &reply); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user