mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Tests in services
This commit is contained in:
committed by
Dan Christian Bogos
parent
904a43ded4
commit
ecc52c353e
@@ -130,7 +130,7 @@ func (resp *ResponderService) ShouldRun() bool {
|
||||
return resp.cfg.RalsCfg().Enabled
|
||||
}
|
||||
|
||||
// RegisterSyncChan used by dependent subsystems to register a chanel to reload only the responder(thread safe)
|
||||
// RegisterSyncChan used by dependent subsystems to register a channel to reload only the responder(thread safe)
|
||||
func (resp *ResponderService) RegisterSyncChan(srv string, c chan *engine.Responder) {
|
||||
resp.Lock()
|
||||
resp.syncChans[srv] = c
|
||||
@@ -140,7 +140,7 @@ func (resp *ResponderService) RegisterSyncChan(srv string, c chan *engine.Respon
|
||||
resp.Unlock()
|
||||
}
|
||||
|
||||
// UnregisterSyncChan used by dependent subsystems to unregister a chanel
|
||||
// UnregisterSyncChan used by dependent subsystems to unregister a channel
|
||||
func (resp *ResponderService) UnregisterSyncChan(srv string) {
|
||||
resp.Lock()
|
||||
c, has := resp.syncChans[srv]
|
||||
@@ -151,7 +151,7 @@ func (resp *ResponderService) UnregisterSyncChan(srv string) {
|
||||
resp.Unlock()
|
||||
}
|
||||
|
||||
// sync sends the responder over syncChansv (not thrad safe)
|
||||
// sync sends the responder over syncChansv (not thread safe)
|
||||
func (resp *ResponderService) sync() {
|
||||
if resp.isRunning() {
|
||||
for _, c := range resp.syncChans {
|
||||
|
||||
@@ -75,7 +75,9 @@ func TestResponderSReload(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err)
|
||||
}
|
||||
|
||||
srv.syncChans = map[string]chan *engine.Responder{
|
||||
"srv": make(chan *engine.Responder, 1),
|
||||
}
|
||||
err = srv.Shutdown()
|
||||
if err != nil {
|
||||
t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err)
|
||||
@@ -86,3 +88,57 @@ func TestResponderSReload(t *testing.T) {
|
||||
}
|
||||
|
||||
}
|
||||
func TestResponderSReload2(t *testing.T) {
|
||||
// utils.Logger.SetLogLevel(7)
|
||||
cfg := config.NewDefaultCGRConfig()
|
||||
|
||||
utils.Logger, _ = utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID)
|
||||
utils.Logger.SetLogLevel(7)
|
||||
cfg.ThresholdSCfg().Enabled = true
|
||||
filterSChan := make(chan *engine.FilterS, 1)
|
||||
filterSChan <- nil
|
||||
shdChan := utils.NewSyncedChan()
|
||||
server := cores.NewServer(nil)
|
||||
srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)}
|
||||
anz := NewAnalyzerService(cfg, server, filterSChan, shdChan, make(chan rpcclient.ClientConnector, 1), srvDep)
|
||||
internalChan := make(chan rpcclient.ClientConnector, 1)
|
||||
srv := NewResponderService(cfg, server, internalChan,
|
||||
shdChan, anz, srvDep)
|
||||
|
||||
srvName := srv.ServiceName()
|
||||
if srvName != utils.ResponderS {
|
||||
t.Errorf("\nExpected <%+v>, \nReceived <%+v>", utils.ResponderS, srvName)
|
||||
}
|
||||
|
||||
if srv.IsRunning() {
|
||||
t.Errorf("Expected service to be down")
|
||||
}
|
||||
|
||||
err := srv.Start()
|
||||
if err != nil {
|
||||
t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err)
|
||||
}
|
||||
|
||||
if !srv.IsRunning() {
|
||||
t.Errorf("Expected service to be running")
|
||||
}
|
||||
|
||||
err = srv.Start()
|
||||
if err != utils.ErrServiceAlreadyRunning {
|
||||
t.Errorf("\nExpected <%+v>, \nReceived <%+v>", utils.ErrServiceAlreadyRunning, err)
|
||||
}
|
||||
|
||||
srv.syncChans = map[string]chan *engine.Responder{
|
||||
"srv": make(chan *engine.Responder, 1),
|
||||
}
|
||||
srv.resp = &engine.Responder{
|
||||
ShdChan: shdChan,
|
||||
Timeout: 1,
|
||||
Timezone: "",
|
||||
MaxComputedUsage: nil,
|
||||
}
|
||||
srv.sync()
|
||||
srv.RegisterSyncChan("srv", make(chan *engine.Responder, 1))
|
||||
srv.resp = nil
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user