diff --git a/services/freeswitchagent_test.go b/services/freeswitchagent_test.go
new file mode 100644
index 000000000..5e568ea85
--- /dev/null
+++ b/services/freeswitchagent_test.go
@@ -0,0 +1 @@
+package services
diff --git a/services/httpagent_it_test.go b/services/httpagent_test.go
similarity index 100%
rename from services/httpagent_it_test.go
rename to services/httpagent_test.go
diff --git a/services/kamailioagent_test.go b/services/kamailioagent_test.go
new file mode 100644
index 000000000..5e568ea85
--- /dev/null
+++ b/services/kamailioagent_test.go
@@ -0,0 +1 @@
+package services
diff --git a/services/loaders_it_test.go b/services/loaders_it_test.go
deleted file mode 100644
index 7080ba3c8..000000000
--- a/services/loaders_it_test.go
+++ /dev/null
@@ -1,74 +0,0 @@
-// +build integration
-
-/*
-Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments
-Copyright (C) ITsysCOM GmbH
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see
-*/
-package services
-
-import (
- "reflect"
- "sync"
- "testing"
-
- "github.com/cgrates/cgrates/loaders"
-
- "github.com/cgrates/cgrates/config"
- "github.com/cgrates/cgrates/cores"
- "github.com/cgrates/cgrates/engine"
- "github.com/cgrates/cgrates/utils"
- "github.com/cgrates/rpcclient"
-)
-
-//TestLoaderSCoverage for cover testing
-func TestLoaderSCoverage(t *testing.T) {
- cfg := config.NewDefaultCGRConfig()
- 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)}
- db := NewDataDBService(cfg, nil, srvDep)
- internalLoaderSChan := make(chan rpcclient.ClientConnector, 1)
- rpcInternal := map[string]chan rpcclient.ClientConnector{}
- cM := engine.NewConnManager(cfg, rpcInternal)
- anz := NewAnalyzerService(cfg, server, filterSChan, shdChan, make(chan rpcclient.ClientConnector, 1), srvDep)
- srv := NewLoaderService(cfg, db,
- filterSChan, server, internalLoaderSChan,
- cM, anz, srvDep)
- if srv == nil {
- t.Errorf("\nExpecting ,\n Received <%+v>", utils.ToJSON(srv))
- }
- if srv.IsRunning() {
- t.Errorf("Expected service to be down")
- }
- srv.ldrs = loaders.NewLoaderService(&engine.DataManager{}, []*config.LoaderSCfg{{
- ID: "test_id",
- Enabled: true,
- }},
- "test", &engine.FilterS{}, &engine.ConnManager{})
- if !srv.IsRunning() {
- t.Errorf("Expected service to be running")
- }
- if !reflect.DeepEqual(srv.GetLoaderS(), srv.ldrs) {
- t.Errorf("\nExpecting <%+v>,\n Received <%+v>", srv.ldrs, srv.GetLoaderS())
- }
- errStart := srv.Start()
- if errStart == nil || errStart != utils.ErrServiceAlreadyRunning {
- t.Errorf("\nExpecting <%+v>,\n Received <%+v>", utils.ErrServiceAlreadyRunning, errStart)
- }
-
-}
diff --git a/services/loaders_test.go b/services/loaders_test.go
new file mode 100644
index 000000000..5e568ea85
--- /dev/null
+++ b/services/loaders_test.go
@@ -0,0 +1 @@
+package services
diff --git a/services/radiusagent_test.go b/services/radiusagent_test.go
new file mode 100644
index 000000000..5e568ea85
--- /dev/null
+++ b/services/radiusagent_test.go
@@ -0,0 +1 @@
+package services
diff --git a/services/rals_test.go b/services/rals_test.go
new file mode 100644
index 000000000..5e568ea85
--- /dev/null
+++ b/services/rals_test.go
@@ -0,0 +1 @@
+package services
diff --git a/services/rates_test.go b/services/rates_test.go
new file mode 100644
index 000000000..5e568ea85
--- /dev/null
+++ b/services/rates_test.go
@@ -0,0 +1 @@
+package services
diff --git a/services/resources_test.go b/services/resources_test.go
new file mode 100644
index 000000000..5e568ea85
--- /dev/null
+++ b/services/resources_test.go
@@ -0,0 +1 @@
+package services
diff --git a/services/responders_it_test.go b/services/responders_it_test.go
deleted file mode 100644
index ca530a8bc..000000000
--- a/services/responders_it_test.go
+++ /dev/null
@@ -1,76 +0,0 @@
-// +build integration
-
-/*
-Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments
-Copyright (C) ITsysCOM GmbH
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see
-*/
-package services
-
-import (
- "reflect"
- "sync"
- "testing"
-
- "github.com/cgrates/cgrates/engine"
-
- "github.com/cgrates/cgrates/utils"
- "github.com/cgrates/rpcclient"
-
- "github.com/cgrates/cgrates/cores"
-
- "github.com/cgrates/cgrates/config"
-)
-
-//TestResponderCoverage for cover testing
-func TestResponderCoverage(t *testing.T) {
- cfg := config.NewDefaultCGRConfig()
- server := cores.NewServer(nil)
- internalChan := make(chan rpcclient.ClientConnector, 1)
- shdChan := utils.NewSyncedChan()
- filterSChan := make(chan *engine.FilterS, 1)
- filterSChan <- nil
- srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)}
- anz := NewAnalyzerService(cfg, server, filterSChan,
- shdChan, make(chan rpcclient.ClientConnector, 1), srvDep)
- srv := NewResponderService(cfg, server, internalChan,
- shdChan, anz, srvDep)
- if srv == nil {
- t.Errorf("\nExpecting ,\n Received <%+v>", utils.ToJSON(srv))
- }
- if srv.IsRunning() {
- t.Errorf("Expected service to be down")
- }
- srv.resp = &engine.Responder{}
- if !srv.IsRunning() {
- t.Errorf("Expected service to be running")
- }
- err := srv.Start()
- if err == nil || err != utils.ErrServiceAlreadyRunning {
- t.Errorf("\nExpecting <%+v>,\n Received <%+v>", utils.ErrServiceAlreadyRunning, err)
- }
- serviceName := srv.ServiceName()
- if !reflect.DeepEqual(serviceName, utils.ResponderS) {
- t.Errorf("\nExpecting <%+v>,\n Received <%+v>", utils.ResponderS, serviceName)
- }
- getResponder := srv.GetResponder()
- if !reflect.DeepEqual(getResponder, srv.resp) {
- t.Errorf("\nExpecting <%+v>,\n Received <%+v>", srv.resp, getResponder)
- }
- shouldRun := srv.ShouldRun()
- if !reflect.DeepEqual(shouldRun, false) {
- t.Errorf("\nExpecting <%+v>,\n Received <%+v>", false, shouldRun)
- }
-}
diff --git a/services/responders_test.go b/services/responders_test.go
new file mode 100644
index 000000000..5e568ea85
--- /dev/null
+++ b/services/responders_test.go
@@ -0,0 +1 @@
+package services
diff --git a/services/routes_it_test.go b/services/routes_it_test.go
deleted file mode 100644
index 249f9b928..000000000
--- a/services/routes_it_test.go
+++ /dev/null
@@ -1,104 +0,0 @@
-// +build integration
-
-/*
-Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments
-Copyright (C) ITsysCOM GmbH
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see
-*/
-package services
-
-import (
- "path"
- "sync"
- "testing"
- "time"
-
- "github.com/cgrates/rpcclient"
-
- "github.com/cgrates/cgrates/config"
- "github.com/cgrates/cgrates/cores"
- "github.com/cgrates/cgrates/engine"
- "github.com/cgrates/cgrates/servmanager"
- "github.com/cgrates/cgrates/utils"
-)
-
-func TestSupplierSReload(t *testing.T) {
- cfg := config.NewDefaultCGRConfig()
-
- utils.Logger, _ = utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID)
- utils.Logger.SetLogLevel(7)
- cfg.StatSCfg().Enabled = true
- filterSChan := make(chan *engine.FilterS, 1)
- filterSChan <- nil
- shdChan := utils.NewSyncedChan()
- shdWg := new(sync.WaitGroup)
- chS := engine.NewCacheS(cfg, nil, nil)
- close(chS.GetPrecacheChannel(utils.CacheRouteProfiles))
- close(chS.GetPrecacheChannel(utils.CacheRouteFilterIndexes))
- close(chS.GetPrecacheChannel(utils.CacheStatQueueProfiles))
- close(chS.GetPrecacheChannel(utils.CacheStatQueues))
- close(chS.GetPrecacheChannel(utils.CacheStatFilterIndexes))
- 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)
- sts := NewStatService(cfg, db, chS, filterSChan, server, make(chan rpcclient.ClientConnector, 1), nil, anz, srvDep)
- supS := NewRouteService(cfg, db, chS, filterSChan, server, make(chan rpcclient.ClientConnector, 1), nil, anz, srvDep)
- engine.NewConnManager(cfg, nil)
- srvMngr.AddServices(supS, sts,
- NewLoaderService(cfg, db, filterSChan, server, make(chan rpcclient.ClientConnector, 1), nil, anz, srvDep), db)
- if err := srvMngr.StartServices(); err != nil {
- t.Error(err)
- }
- if supS.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", "tutmongonew"),
- Section: config.RouteSJson,
- }, &reply); err != nil {
- t.Error(err)
- } else if reply != utils.OK {
- t.Errorf("Expecting OK ,received %s", reply)
- }
- time.Sleep(10 * time.Millisecond) //need to switch to gorutine
- if !supS.IsRunning() {
- t.Errorf("Expected service to be running")
- }
- if !db.IsRunning() {
- t.Errorf("Expected service to be running")
- }
- err := supS.Start()
- if err == nil || err != utils.ErrServiceAlreadyRunning {
- t.Errorf("\nExpecting <%+v>,\n Received <%+v>", utils.ErrServiceAlreadyRunning, err)
- }
- err = supS.Reload()
- if err != nil {
- t.Errorf("\nExpecting ,\n Received <%+v>", err)
- }
- cfg.RouteSCfg().Enabled = false
- cfg.GetReloadChan(config.RouteSJson) <- struct{}{}
- time.Sleep(10 * time.Millisecond)
- if supS.IsRunning() {
- t.Errorf("Expected service to be down")
- }
- shdChan.CloseOnce()
- time.Sleep(10 * time.Millisecond)
-}
diff --git a/services/routes_test.go b/services/routes_test.go
new file mode 100644
index 000000000..5e568ea85
--- /dev/null
+++ b/services/routes_test.go
@@ -0,0 +1 @@
+package services
diff --git a/services/schedulers_test.go b/services/schedulers_test.go
new file mode 100644
index 000000000..5e568ea85
--- /dev/null
+++ b/services/schedulers_test.go
@@ -0,0 +1 @@
+package services