From 7f03bafbc996da91e4b5900317b7ffae7393e99f Mon Sep 17 00:00:00 2001 From: andronache Date: Wed, 10 Feb 2021 12:41:29 +0200 Subject: [PATCH] Fixed function and test in services --- services/freeswitchagent.go | 6 +++--- services/freeswitchagent_it_test.go | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/services/freeswitchagent.go b/services/freeswitchagent.go index 6e111c35c..3113b92f6 100644 --- a/services/freeswitchagent.go +++ b/services/freeswitchagent.go @@ -75,11 +75,11 @@ func (fS *FreeswitchAgent) Start() (err error) { // Reload handles the change of config func (fS *FreeswitchAgent) Reload() (err error) { - if err = fS.Shutdown(); err != nil { - return - } fS.Lock() defer fS.Unlock() + if err = fS.fS.Shutdown(); err != nil { + return + } fS.fS.Reload() go func(f *agents.FSsessions) { if err := fS.fS.Connect(); err != nil { diff --git a/services/freeswitchagent_it_test.go b/services/freeswitchagent_it_test.go index 42861e874..ddb66e941 100644 --- a/services/freeswitchagent_it_test.go +++ b/services/freeswitchagent_it_test.go @@ -26,6 +26,8 @@ import ( "testing" "time" + "github.com/cgrates/cgrates/agents" + "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/cores" "github.com/cgrates/cgrates/engine" @@ -75,11 +77,26 @@ func TestFreeSwitchAgentReload(t *testing.T) { } else if reply != utils.OK { t.Errorf("Expecting OK ,received %s", reply) } + time.Sleep(10 * time.Millisecond) //need to switch to gorutine // the engine should be stopped as we could not connect to freeswitch if srv.IsRunning() { t.Errorf("Expected service to be down") } + + agentCfg := &config.FsAgentCfg{ + Enabled: true, + CreateCdr: true, + SubscribePark: true, + EventSocketConns: []*config.FsConnCfg{}, + } + + srv.(*FreeswitchAgent).fS = agents.NewFSsessions(agentCfg, "", nil) + //srv.(*FreeswitchAgent).fS = new(agents.FSsessions) + err := srv.Reload() + if err != nil { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) + } time.Sleep(10 * time.Millisecond) shdChan.CloseOnce() runtime.Gosched()