Finished tests for registrarc/libregistrarc.go

This commit is contained in:
andronache
2021-03-09 10:13:45 +02:00
committed by Dan Christian Bogos
parent 78cbb5932b
commit f9045d1c90

View File

@@ -527,6 +527,7 @@ func TestRegisterRegistrarSv1UnregisterRPCHostsError(t *testing.T) {
t.Fatal(err)
}
delete(config.CgrConfig().RPCConns(), "errCon")
engine.SetCache(engine.NewCacheS(config.CgrConfig(), nil, nil))
}
func TestRegisterRegistrarSv1RegisterRPCHosts(t *testing.T) {
@@ -571,3 +572,63 @@ func TestRegisterRegistrarSv1RegisterRPCHosts(t *testing.T) {
}
engine.Cache = engine.NewCacheS(config.CgrConfig(), nil, nil)
}
func TestRegisterRegistrarSv1RegisterRPCHostsError(t *testing.T) {
ra := &RegisterArgs{
Tenant: "cgrates.org",
Hosts: []*RegisterHostCfg{
{
ID: "Host1",
Port: "2012",
TLS: true,
Transport: utils.MetaJSON,
},
{
ID: "Host2",
Port: "2013",
TLS: false,
Transport: utils.MetaGOB,
},
},
Opts: make(map[string]interface{}),
}
raJSON, err := json.Marshal([]interface{}{ra})
id := json.RawMessage("1")
if err != nil {
t.Fatal(err)
}
args := utils.NewServerRequest(utils.RegistrarSv1RegisterRPCHosts, raJSON, id)
argsJSON, err := json.Marshal(args)
if err != nil {
t.Fatal(err)
}
req, err := http.NewRequest(http.MethodPost, "http://127.0.0.1:2080/json_rpc", bytes.NewBuffer(argsJSON))
if err != nil {
t.Fatal(err)
}
req.RemoteAddr = "127.0.0.1:3000"
cfg := config.NewDefaultCGRConfig()
config.CgrConfig().RPCConns()["errCon1"] = &config.RPCConn{
Strategy: utils.MetaFirst,
PoolSize: 1,
Conns: []*config.RemoteHost{
{
ID: "Host1",
Address: "127.0.0.1:9999",
Transport: "*json",
Synchronous: true,
},
},
}
engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{})
cfg.RPCConns()["errCon1"] = config.CgrConfig().RPCConns()["errCon1"]
cfg.CacheCfg().ReplicationConns = []string{"errCon1"}
cfg.CacheCfg().Partitions[utils.CacheRPCConnections].Replicate = true
engine.Cache = engine.NewCacheS(cfg, nil, nil)
_, err = register(req)
if err == nil || err != utils.ErrPartiallyExecuted {
t.Fatal(err)
}
delete(config.CgrConfig().RPCConns(), "errCon1")
engine.SetCache(engine.NewCacheS(config.CgrConfig(), nil, nil))
}