From ccd286fd45ea0bc87907d3dd45a451d7dbd95e4b Mon Sep 17 00:00:00 2001 From: andronache Date: Thu, 4 Feb 2021 13:25:21 +0200 Subject: [PATCH] Tests in Services --- services/loaders_it_test.go | 48 ++++++++++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/services/loaders_it_test.go b/services/loaders_it_test.go index 4a2d2988f..c6727d7e3 100644 --- a/services/loaders_it_test.go +++ b/services/loaders_it_test.go @@ -20,19 +20,61 @@ along with this program. If not, see package services /* -func TestLoadersReload(t *testing.T) { +func TestLoaderSReload(t *testing.T) { cfg := config.NewDefaultCGRConfig() - cfg.SessionSCfg().Enabled = true + utils.Logger, _ = utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID) utils.Logger.SetLogLevel(7) + + shdChan := utils.NewSyncedChan() + shdWg := new(sync.WaitGroup) filterSChan := make(chan *engine.FilterS, 1) filterSChan <- nil - shdChan := utils.NewSyncedChan() + server := cores.NewServer(nil) + srvMngr := servmanager.NewServiceManager(cfg, shdChan, shdWg) srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} db := NewDataDBService(cfg, nil, srvDep) anz := NewAnalyzerService(cfg, server, filterSChan, shdChan, make(chan rpcclient.ClientConnector, 1), srvDep) srv := NewLoaderService(cfg, db, filterSChan, server, make(chan rpcclient.ClientConnector, 1), nil, anz, srvDep) + engine.NewConnManager(cfg, nil) + srvMngr.AddServices(srv, + NewLoaderService(cfg, db, filterSChan, server, make(chan rpcclient.ClientConnector, 1), nil, anz, srvDep), db) + if err := srvMngr.StartServices(); err != nil { + t.Error(err) + } + if srv.IsRunning() { + t.Errorf("Expected service to be down") + } + if db.IsRunning() { + t.Errorf("Expected service to be down") + } + + var reply string + if err := cfg.V1ReloadConfig(&config.ReloadArgs{ + Path: path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmysql_internal"), + Section: config.LoaderJson, + }, &reply); err != nil { + t.Error(err) + } else if reply != utils.OK { + t.Errorf("Expecting OK ,received %s", reply) + } + + err := srv.Start() + if err == nil || err != utils.ErrServiceAlreadyRunning { + t.Errorf("\nExpecting <%+v>,\n Received <%+v>", utils.ErrServiceAlreadyRunning, err) + } + + cfg.AccountSCfg().Enabled = false + cfg.GetReloadChan(config.LoaderJson) <- struct{}{} + time.Sleep(10 * time.Millisecond) + + if srv.IsRunning() { + t.Errorf("Expected service to be down") + } + + shdChan.CloseOnce() + time.Sleep(10 * time.Millisecond) } */