mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-24 00:28:44 +05:00
Improving coverage of unit tests
This commit is contained in:
committed by
Dan Christian Bogos
parent
c4ca1d1315
commit
9f56532a4c
@@ -677,8 +677,11 @@ func TestCDRSThDSProcessEvent(t *testing.T) {
|
||||
// t.Error(err)
|
||||
// }
|
||||
// }
|
||||
<<<<<<< HEAD
|
||||
<<<<<<< Updated upstream
|
||||
=======
|
||||
=======
|
||||
>>>>>>> 9e7231e3a (Improving coverage of unit tests)
|
||||
|
||||
func TestCDRSV1StoreSessionCostCache(t *testing.T) {
|
||||
cfg, _ := config.NewDefaultCGRConfig()
|
||||
@@ -781,6 +784,7 @@ func TestCDRsV1ProcessEventAll(t *testing.T) {
|
||||
if err := cdrS.V1ProcessEvent(arg, &reply); err == nil { //unfinished
|
||||
t.Error(err)
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
}
|
||||
|
||||
func TestCDRSV2StoreCache(t *testing.T) {
|
||||
@@ -916,3 +920,7 @@ func TestCDRSV1ProcessCDRCache(t *testing.T) {
|
||||
|
||||
}
|
||||
>>>>>>> Stashed changes
|
||||
=======
|
||||
|
||||
}
|
||||
>>>>>>> 9e7231e3a (Improving coverage of unit tests)
|
||||
|
||||
@@ -1446,3 +1446,174 @@ func TestDmGetRatingPlanRmt(t *testing.T) {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDMGetTimingRmt(t *testing.T) {
|
||||
cfg, _ := config.NewDefaultCGRConfig()
|
||||
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
|
||||
cfg.DataDbCfg().Items[utils.MetaTimings].Remote = true
|
||||
cfg.DataDbCfg().RmtConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1)}
|
||||
Cache.Clear(nil)
|
||||
defer func() {
|
||||
cfg2, _ := config.NewDefaultCGRConfig()
|
||||
config.SetCgrConfig(cfg2)
|
||||
}()
|
||||
clientConn := make(chan rpcclient.ClientConnector, 1)
|
||||
clientConn <- clMock(func(serviceMethod string, _, reply interface{}) error {
|
||||
if serviceMethod == utils.ReplicatorSv1GetTiming {
|
||||
rpl := &utils.TPTiming{
|
||||
ID: "WEEKENDS",
|
||||
Years: utils.Years{},
|
||||
Months: utils.Months{},
|
||||
MonthDays: utils.MonthDays{},
|
||||
WeekDays: utils.WeekDays{time.Saturday, time.Sunday},
|
||||
StartTime: "00:00:00",
|
||||
}
|
||||
*reply.(**utils.TPTiming) = 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.GetTiming("ALWAYS", true, utils.NonTransactional); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetResourceProfileRPl(t *testing.T) {
|
||||
cfg, _ := config.NewDefaultCGRConfig()
|
||||
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
|
||||
cfg.DataDbCfg().Items[utils.MetaResourceProfile].Remote = true
|
||||
cfg.DataDbCfg().RmtConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1)}
|
||||
Cache.Clear(nil)
|
||||
defer func() {
|
||||
cfg2, _ := config.NewDefaultCGRConfig()
|
||||
config.SetCgrConfig(cfg2)
|
||||
}()
|
||||
clientConn := make(chan rpcclient.ClientConnector, 1)
|
||||
clientConn <- clMock(func(serviceMethod string, _, reply interface{}) error {
|
||||
if serviceMethod == utils.ReplicatorSv1GetResourceProfile {
|
||||
rpl := &ResourceProfile{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "RES_TEST",
|
||||
FilterIDs: []string{"FLTR_1"},
|
||||
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: "",
|
||||
Weight: 20,
|
||||
ThresholdIDs: []string{utils.META_NONE},
|
||||
}
|
||||
*reply.(**ResourceProfile) = 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.GetResourceProfile("cgrates.org", "RES_TEST", false, false, utils.NonTransactional); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDMGetActionTriggersRmt(t *testing.T) {
|
||||
cfg, _ := config.NewDefaultCGRConfig()
|
||||
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
|
||||
cfg.DataDbCfg().Items[utils.MetaActionTriggers].Remote = true
|
||||
cfg.DataDbCfg().RmtConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1)}
|
||||
Cache.Clear(nil)
|
||||
defer func() {
|
||||
cfg2, _ := config.NewDefaultCGRConfig()
|
||||
config.SetCgrConfig(cfg2)
|
||||
}()
|
||||
clientConn := make(chan rpcclient.ClientConnector, 1)
|
||||
clientConn <- clMock(func(serviceMethod string, _, reply interface{}) error {
|
||||
if serviceMethod == utils.ReplicatorSv1GetActionTriggers {
|
||||
rpl := 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,
|
||||
},
|
||||
}
|
||||
*reply.(*ActionTriggers) = 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.GetActionTriggers("ACT_1", true, ""); err == nil {
|
||||
t.Error(err)
|
||||
}
|
||||
//unfinished
|
||||
}
|
||||
|
||||
func TestDMRemSQPRepl(t *testing.T) {
|
||||
cfg, _ := config.NewDefaultCGRConfig()
|
||||
defer func() {
|
||||
cfg2, _ := config.NewDefaultCGRConfig()
|
||||
config.SetCgrConfig(cfg2)
|
||||
}()
|
||||
cfg.DataDbCfg().Items[utils.MetaStatQueueProfiles].Replicate = true
|
||||
cfg.DataDbCfg().RplConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1)}
|
||||
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
|
||||
clientConn := make(chan rpcclient.ClientConnector, 1)
|
||||
clientConn <- clMock(func(serviceMethod string, _, _ interface{}) error {
|
||||
if serviceMethod == utils.ReplicatorSv1RemoveStatQueueProfile {
|
||||
|
||||
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)
|
||||
dm.SetStatQueueProfile(&StatQueueProfile{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "SQ1",
|
||||
QueueLength: 10,
|
||||
TTL: time.Duration(0) * time.Second,
|
||||
Metrics: []*MetricWithFilters{
|
||||
{
|
||||
MetricID: utils.MetaACD,
|
||||
},
|
||||
},
|
||||
Blocker: false,
|
||||
Stored: true,
|
||||
Weight: float64(0),
|
||||
MinItems: 0}, true)
|
||||
config.SetCgrConfig(cfg)
|
||||
|
||||
if err := dm.RemoveStatQueueProfile("cgrates.org", "SQ1", "", true); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import (
|
||||
|
||||
"github.com/cgrates/cgrates/config"
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
"github.com/cgrates/rpcclient"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -669,12 +670,25 @@ func TestStatProcessEvent2(t *testing.T) {
|
||||
defer func() {
|
||||
dm = tpDm
|
||||
}()
|
||||
cfg.StatSCfg().ThresholdSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)}
|
||||
db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items)
|
||||
dm := NewDataManager(db, cfg.CacheCfg(), nil)
|
||||
sts, err := NewStatService(dm, cfg, nil, nil)
|
||||
clientConn := make(chan rpcclient.ClientConnector, 1)
|
||||
clientConn <- clMock(func(serviceMethod string, _, _ interface{}) error {
|
||||
if serviceMethod == utils.ThresholdSv1ProcessEvent {
|
||||
|
||||
return nil
|
||||
}
|
||||
return utils.ErrNotImplemented
|
||||
})
|
||||
connMgr := NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{
|
||||
utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds): clientConn,
|
||||
})
|
||||
sts, err := NewStatService(dm, cfg, NewFilterS(cfg, nil, dm), connMgr)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
args := &StatsArgsProcessEvent{
|
||||
CGREvent: &utils.CGREvent{
|
||||
Tenant: "cgrates.org",
|
||||
@@ -696,9 +710,9 @@ func TestStatProcessEvent2(t *testing.T) {
|
||||
ID: "FLTR_TH_Stats1",
|
||||
Rules: []*FilterRule{
|
||||
{
|
||||
Type: "*lt",
|
||||
Element: "~*req.Cost",
|
||||
Values: []string{"120.0"},
|
||||
Type: utils.MetaString,
|
||||
Element: "~*req.Account",
|
||||
Values: []string{"1001"},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -710,15 +724,29 @@ func TestStatProcessEvent2(t *testing.T) {
|
||||
Metrics: []*MetricWithFilters{{
|
||||
MetricID: "*sum:~*req.Usage",
|
||||
}},
|
||||
ThresholdIDs: []string{utils.META_NONE},
|
||||
ThresholdIDs: []string{"Th1"},
|
||||
Blocker: true,
|
||||
Stored: true,
|
||||
Weight: 20,
|
||||
MinItems: 0,
|
||||
}, true)
|
||||
|
||||
dm.SetStatQueue(&StatQueue{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "STS_PoccessCDR",
|
||||
SQMetrics: map[string]StatMetric{
|
||||
utils.MetaASR: &StatASR{
|
||||
Answered: 2,
|
||||
Count: 3,
|
||||
Events: map[string]*StatWithCompress{
|
||||
"cgrates.org:ev1": {Stat: 1},
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
SetDataStorage(dm)
|
||||
if _, err := sts.processEvent(args); err == nil {
|
||||
if _, err := sts.processEvent(args); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
//unfinished
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user