Improving coverage tests

This commit is contained in:
gezimbll
2023-05-02 10:57:43 -04:00
committed by Dan Christian Bogos
parent f62dea0768
commit e142f5efd7
2 changed files with 136 additions and 1 deletions

View File

@@ -2707,6 +2707,61 @@ func TestAccActDisable(t *testing.T) {
}
}
func TestAccActCdrLog(t *testing.T) {
cfgfunc := func() *config.CGRConfig {
cfg2, _ := config.NewDefaultCGRConfig()
config.SetCgrConfig(cfg2)
return cfg2
}
Cache.Clear(nil)
cfg := cfgfunc()
cfg.SchedulerCfg().CDRsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCDRs)}
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
tmpDm := dm
dm := NewDataManager(db, cfg.CacheCfg(), nil)
dm.SetActions("ACTS", Actions{
&Action{
ActionType: utils.CDRLOG,
ExtraParameters: `{"BalanceType": "60.0"}`,
},
}, "")
defer func() {
cfgfunc()
SetDataStorage(tmpDm)
}()
acc := &Account{
ID: "cgrates.org:1001",
ActionTriggers: ActionTriggers{
&ActionTrigger{
ActionsID: "ACTS",
UniqueID: "TestTR1",
ThresholdType: utils.TRIGGER_MAX_EVENT_COUNTER,
ThresholdValue: 20,
Balance: &BalanceFilter{
Type: utils.StringPointer(utils.VOICE),
Weight: utils.Float64Pointer(20.0),
},
},
},
UnitCounters: UnitCounters{
utils.MONETARY: []*UnitCounter{{
CounterType: "max_event_counter",
Counters: CounterFilters{&CounterFilter{Value: 21, Filter: &BalanceFilter{
ID: utils.StringPointer("TestTR1"),
}}}}},
},
BalanceMap: map[string]Balances{
utils.VOICE: {
&Balance{Value: 10, Weight: 20, DestinationIDs: utils.NewStringMap(utils.MetaDDC + "DEST1")},
},
},
}
SetDataStorage(dm)
a := &Action{}
acc.ExecuteActionTriggers(a)
}
func TestAccActDebitResetAction(t *testing.T) {
cfgfunc := func() *config.CGRConfig {
cfg2, _ := config.NewDefaultCGRConfig()

View File

@@ -1712,9 +1712,89 @@ func TestConnManagerCallWithConnIDs(t *testing.T) {
},
}
connMgr := NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{})
if err := connMgr.CallWithConnIDs([]string{connId}, utils.StringSet{utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): {}}, utils.ReplicatorSv1GetAccount, nil, nil); err == nil {
t.Error(err)
}
}
func TestDMRemResourceProfile(t *testing.T) {
cfg, _ := config.NewDefaultCGRConfig()
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
defer func() {
cfg2, _ := config.NewDefaultCGRConfig()
config.SetCgrConfig(cfg2)
}()
cfg.DataDbCfg().Items[utils.MetaResourceProfile].Replicate = true
cfg.DataDbCfg().RplConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1)}
clientConn := make(chan rpcclient.ClientConnector, 1)
clientConn <- clMock(func(serviceMethod string, _, _ interface{}) error {
if serviceMethod == utils.ReplicatorSv1RemoveResourceProfile {
return nil
}
return utils.ErrNotImplemented
})
dm := NewDataManager(db, cfg.CacheCfg(), NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{
utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn,
}))
rsP := &ResourceProfile{
Tenant: "cgrates.org",
ID: "RES_TEST",
FilterIDs: []string{"*string:~*req.Account:1001"},
ActivationInterval: &utils.ActivationInterval{
ActivationTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
ExpiryTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
},
UsageTTL: time.Duration(-1),
Limit: 2,
AllocationMessage: "Account1Channels",
Weight: 20,
ThresholdIDs: []string{utils.META_NONE},
}
config.SetCgrConfig(cfg)
dm.SetResourceProfile(rsP, true)
if err := dm.RemoveResourceProfile("cgrates.org", "RES_TEST", utils.NonTransactional, true); err != nil {
t.Error(err)
}
}
func TestDMSetSQPrf(t *testing.T) {
cfg, _ := config.NewDefaultCGRConfig()
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
defer func() {
cfg2, _ := config.NewDefaultCGRConfig()
config.SetCgrConfig(cfg2)
}()
Cache.Clear(nil)
cfg.DataDbCfg().Items[utils.MetaStatQueueProfiles].Replicate = true
cfg.DataDbCfg().RplConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1)}
clientConn := make(chan rpcclient.ClientConnector, 1)
clientConn <- clMock(func(serviceMethod string, _, _ interface{}) error {
if serviceMethod == utils.ReplicatorSv1SetStatQueueProfile {
return nil
}
return utils.ErrNotImplemented
})
dm := NewDataManager(db, cfg.CacheCfg(), NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{
utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn,
}))
sqp := &StatQueueProfile{
Tenant: "cgrates.org",
ID: "DistinctMetricProfile",
QueueLength: 10,
TTL: time.Duration(10) * time.Second,
Metrics: []*MetricWithFilters{
{
MetricID: utils.MetaDDC,
},
},
ThresholdIDs: []string{utils.META_NONE},
Stored: true,
Weight: 20,
}
config.SetCgrConfig(cfg)
if err := dm.SetStatQueueProfile(sqp, true); err != nil {
t.Error(err)
}
}