From 62a20d1ce8ba40bd18315ab39f660125f2310191 Mon Sep 17 00:00:00 2001 From: armirveliaj Date: Tue, 11 Jun 2024 11:00:04 -0400 Subject: [PATCH] Add new unit tests on services --- services/asteriskagent_test.go | 35 +++++++++++++++++++ services/janusagent_test.go | 63 ++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 services/janusagent_test.go diff --git a/services/asteriskagent_test.go b/services/asteriskagent_test.go index 65d7f8904..7c953aa81 100644 --- a/services/asteriskagent_test.go +++ b/services/asteriskagent_test.go @@ -84,3 +84,38 @@ func TestAsteriskAgentCoverage(t *testing.T) { t.Errorf("Expected service to be down") } } + +func TestAsteriskReload(t *testing.T) { + cfg := config.NewDefaultCGRConfig() + cfg.SessionSCfg().Enabled = true + cfg.SessionSCfg().ListenBijson = "" + filterSChan := make(chan *engine.FilterS, 1) + filterSChan <- nil + shdChan := utils.NewSyncedChan() + chS := engine.NewCacheS(cfg, nil, nil) + cacheSrv, err := engine.NewService(chS) + if err != nil { + t.Error(err) + } + cacheSChan := make(chan birpc.ClientConnector, 1) + cacheSChan <- cacheSrv + srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} + astSrv := NewAsteriskAgent(cfg, shdChan, nil, srvDep) + if astSrv == nil { + t.Errorf("\nExpecting ,\n Received <%+v>", utils.ToJSON(astSrv)) + } + srv2 := &AsteriskAgent{ + RWMutex: sync.RWMutex{}, + cfg: cfg, + shdChan: shdChan, + stopChan: nil, + smas: nil, + connMgr: nil, + srvDep: srvDep, + } + srv2.stopChan = make(chan struct{}, 1) + err3 := srv2.Reload() + if err3 != nil { + t.Errorf("\nExpecting ,\n Received <%+v>", err3) + } +} diff --git a/services/janusagent_test.go b/services/janusagent_test.go new file mode 100644 index 000000000..22badb420 --- /dev/null +++ b/services/janusagent_test.go @@ -0,0 +1,63 @@ +/* +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/birpc" + "github.com/cgrates/cgrates/config" + "github.com/cgrates/cgrates/cores" + "github.com/cgrates/cgrates/engine" + "github.com/cgrates/cgrates/utils" +) + +func TestJanusAgentCoverage(t *testing.T) { + cfg := config.NewDefaultCGRConfig() + server := cores.NewServer(nil) + filterSChan := make(chan *engine.FilterS, 1) + filterSChan <- nil + srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} + rpcInternal := map[string]chan birpc.ClientConnector{} + cM := engine.NewConnManager(cfg, rpcInternal) + srv := NewJanusAgent(cfg, filterSChan, server, cM, srvDep) + if srv == nil { + t.Errorf("\nExpecting ,\n Received <%+v>", utils.ToJSON(srv)) + } + if srv.IsRunning() { + t.Errorf("Expected service to be down") + } + srv2 := &JanusAgent{ + cfg: cfg, + filterSChan: filterSChan, + server: server, + started: true, + connMgr: cM, + srvDep: srvDep, + } + if !srv2.IsRunning() { + t.Errorf("Expected service to be running") + } + serviceName := srv2.ServiceName() + if !reflect.DeepEqual(serviceName, utils.JanusAgent) { + t.Errorf("\nExpecting <%+v>,\n Received <%+v>", utils.JanusAgent, serviceName) + } +}