Tests in services

This commit is contained in:
andronache
2021-02-11 15:16:16 +02:00
committed by Dan Christian Bogos
parent 164180bca3
commit 3d663d14c4
2 changed files with 41 additions and 19 deletions

View File

@@ -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

View File

@@ -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()
}