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
164180bca3
commit
3d663d14c4
@@ -84,28 +84,30 @@ func (anz *AnalyzerService) Start() (err error) {
|
||||
anz.server.SetAnalyzer(anz.anz)
|
||||
anz.rpc = v1.NewAnalyzerSv1(anz.anz)
|
||||
//separa in propria functie
|
||||
go func() {
|
||||
var fS *engine.FilterS
|
||||
select {
|
||||
case <-anz.stopChan:
|
||||
return
|
||||
case fS = <-anz.filterSChan:
|
||||
if !anz.IsRunning() {
|
||||
return
|
||||
}
|
||||
anz.Lock()
|
||||
defer anz.Unlock()
|
||||
anz.filterSChan <- fS
|
||||
anz.anz.SetFilterS(fS)
|
||||
}
|
||||
if !anz.cfg.DispatcherSCfg().Enabled {
|
||||
anz.server.RpcRegister(anz.rpc)
|
||||
}
|
||||
anz.connChan <- anz.rpc
|
||||
}()
|
||||
go anz.start()
|
||||
return
|
||||
}
|
||||
|
||||
func (anz *AnalyzerService) start() {
|
||||
var fS *engine.FilterS
|
||||
select {
|
||||
case <-anz.stopChan:
|
||||
return
|
||||
case fS = <-anz.filterSChan:
|
||||
if !anz.IsRunning() {
|
||||
return
|
||||
}
|
||||
anz.Lock()
|
||||
defer anz.Unlock()
|
||||
anz.filterSChan <- fS
|
||||
anz.anz.SetFilterS(fS)
|
||||
}
|
||||
if !anz.cfg.DispatcherSCfg().Enabled {
|
||||
anz.server.RpcRegister(anz.rpc)
|
||||
}
|
||||
anz.connChan <- anz.rpc
|
||||
}
|
||||
|
||||
// Reload handles the change of config
|
||||
func (anz *AnalyzerService) Reload() (err error) {
|
||||
return // for the momment nothing to reload
|
||||
|
||||
@@ -102,3 +102,23 @@ func TestAnalyzerSReload(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestAnalyzerSReload2(t *testing.T) {
|
||||
cfg := config.NewDefaultCGRConfig()
|
||||
if err := os.MkdirAll("/tmp/analyzers", 0700); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
utils.Logger, _ = utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID)
|
||||
utils.Logger.SetLogLevel(7)
|
||||
shdChan := utils.NewSyncedChan()
|
||||
filterSChan := make(chan *engine.FilterS, 1)
|
||||
filterSChan <- nil
|
||||
server := cores.NewServer(nil)
|
||||
srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)}
|
||||
anzRPC := make(chan rpcclient.ClientConnector, 1)
|
||||
anz := NewAnalyzerService(cfg, server, filterSChan, shdChan, anzRPC, srvDep)
|
||||
anz.stopChan = make(chan struct{})
|
||||
anz.start()
|
||||
close(anz.stopChan)
|
||||
anz.start()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user