mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
ApierV1.StartService, ApierV1.StopService, ApierV1.ServiceStatus implementation with tests
This commit is contained in:
@@ -45,10 +45,10 @@ type ApierV1 struct {
|
||||
CdrDb engine.CdrStorage
|
||||
Config *config.CGRConfig
|
||||
Responder *engine.Responder
|
||||
ServManager *servmanager.ServiceManager
|
||||
CdrStatsSrv rpcclient.RpcClientConnection
|
||||
Users rpcclient.RpcClientConnection
|
||||
CDRs rpcclient.RpcClientConnection // FixMe: populate it from cgr-engine
|
||||
ServManager *servmanager.ServiceManager // Need to have them capitalize so we can export in V2
|
||||
}
|
||||
|
||||
func (self *ApierV1) GetDestination(dstId string, reply *engine.Destination) error {
|
||||
@@ -1115,3 +1115,15 @@ func (self *ApierV1) RemoteUnlock(lockIDs []string, reply *string) error {
|
||||
*reply = utils.OK
|
||||
return nil
|
||||
}
|
||||
|
||||
func (v1 *ApierV1) StartService(args servmanager.ArgStartService, reply *string) (err error) {
|
||||
return v1.ServManager.V1StartService(args, reply)
|
||||
}
|
||||
|
||||
func (v1 *ApierV1) StopService(args servmanager.ArgStartService, reply *string) (err error) {
|
||||
return v1.ServManager.V1StopService(args, reply)
|
||||
}
|
||||
|
||||
func (v1 *ApierV1) ServiceStatus(args servmanager.ArgStartService, reply *string) (err error) {
|
||||
return v1.ServManager.V1ServiceStatus(args, reply)
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ import (
|
||||
|
||||
"github.com/cgrates/cgrates/config"
|
||||
"github.com/cgrates/cgrates/engine"
|
||||
"github.com/cgrates/cgrates/servmanager"
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
)
|
||||
|
||||
@@ -1606,6 +1607,49 @@ func TestApierLoadTariffPlanFromStorDb(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestApierStartStopServiceStatus(t *testing.T) {
|
||||
var reply string
|
||||
if err := rater.Call("ApierV1.ServiceStatus", servmanager.ArgStartService{ServiceID: utils.MetaScheduler},
|
||||
&reply); err != nil {
|
||||
t.Error(err)
|
||||
} else if reply != utils.RunningCaps {
|
||||
t.Errorf("Received: <%s>", reply)
|
||||
}
|
||||
if err := rater.Call("ApierV1.StopService", servmanager.ArgStartService{ServiceID: "INVALID"},
|
||||
&reply); err == nil || err.Error() != utils.UnsupportedServiceIDCaps {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := rater.Call("ApierV1.StopService", servmanager.ArgStartService{ServiceID: utils.MetaScheduler},
|
||||
&reply); err != nil {
|
||||
t.Error(err)
|
||||
} else if reply != utils.OK {
|
||||
t.Errorf("Received: <%s>", reply)
|
||||
}
|
||||
if err := rater.Call("ApierV1.ServiceStatus", servmanager.ArgStartService{ServiceID: utils.MetaScheduler},
|
||||
&reply); err != nil {
|
||||
t.Error(err)
|
||||
} else if reply != utils.StoppedCaps {
|
||||
t.Errorf("Received: <%s>", reply)
|
||||
}
|
||||
if err := rater.Call("ApierV1.StartService", servmanager.ArgStartService{ServiceID: utils.MetaScheduler},
|
||||
&reply); err != nil {
|
||||
t.Error(err)
|
||||
} else if reply != utils.OK {
|
||||
t.Errorf("Received: <%s>", reply)
|
||||
}
|
||||
if err := rater.Call("ApierV1.ServiceStatus", servmanager.ArgStartService{ServiceID: utils.MetaScheduler},
|
||||
&reply); err != nil {
|
||||
t.Error(err)
|
||||
} else if reply != utils.RunningCaps {
|
||||
t.Errorf("Received: <%s>", reply)
|
||||
}
|
||||
if err := rater.Call("ApierV1.ReloadScheduler", reply, &reply); err != nil {
|
||||
t.Error("Got error on ApierV1.ReloadScheduler: ", err.Error())
|
||||
} else if reply != utils.OK {
|
||||
t.Error("Calling ApierV1.ReloadScheduler got reply: ", reply)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
func TestApierGetCacheStats3(t *testing.T) {
|
||||
var rcvStats *utils.CacheStats
|
||||
|
||||
@@ -126,7 +126,7 @@ func (srvMngr *ServiceManager) Call(serviceMethod string, args interface{}, repl
|
||||
return err
|
||||
}
|
||||
|
||||
// ArgShutdownService are passed to ShutdownService RPC method
|
||||
// ArgShutdownService are passed to Start/StopService/Status RPC methods
|
||||
type ArgStartService struct {
|
||||
ServiceID string
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user