mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Covered cores to 100%
This commit is contained in:
committed by
Dan Christian Bogos
parent
1f7e47248c
commit
907cd168c9
@@ -22,6 +22,7 @@ import (
|
||||
"net/rpc"
|
||||
"net/rpc/jsonrpc"
|
||||
"reflect"
|
||||
"syscall"
|
||||
"testing"
|
||||
|
||||
"github.com/cgrates/cgrates/analyzers"
|
||||
@@ -102,7 +103,7 @@ func TestNewCapsServerCodec(t *testing.T) {
|
||||
|
||||
type mockConn struct{}
|
||||
|
||||
func (*mockConn) Read(b []byte) (n int, err error) { return }
|
||||
func (*mockConn) Read(b []byte) (n int, err error) { return 0, syscall.EINVAL }
|
||||
func (*mockConn) Write(b []byte) (n int, err error) { return }
|
||||
func (*mockConn) Close() error { return nil }
|
||||
func (*mockConn) LocalAddr() net.Addr { return utils.LocalAddr() }
|
||||
|
||||
@@ -22,6 +22,8 @@ package cores
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"net"
|
||||
@@ -36,6 +38,8 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"golang.org/x/net/websocket"
|
||||
|
||||
sessions2 "github.com/cgrates/cgrates/sessions"
|
||||
|
||||
"github.com/cenkalti/rpc2"
|
||||
@@ -75,6 +79,7 @@ var (
|
||||
testHandleRequest,
|
||||
testBiRPCRegisterName,
|
||||
testAcceptBiRPC,
|
||||
testAcceptBiRPCError,
|
||||
testRpcRegisterActions,
|
||||
testWebSocket,
|
||||
}
|
||||
@@ -700,6 +705,26 @@ func testAcceptBiRPC(t *testing.T) {
|
||||
runtime.Gosched()
|
||||
}
|
||||
|
||||
type mockListenError struct {
|
||||
*mockListener
|
||||
}
|
||||
|
||||
func (mK *mockListenError) Accept() (net.Conn, error) {
|
||||
return nil, errors.New("use of closed network connection")
|
||||
}
|
||||
|
||||
func testAcceptBiRPCError(t *testing.T) {
|
||||
caps := engine.NewCaps(0, utils.MetaBusy)
|
||||
server := NewServer(caps)
|
||||
server.RpcRegister(new(mockRegister))
|
||||
server.birpcSrv = rpc2.NewServer()
|
||||
|
||||
//it will contain "use of closed network connection"
|
||||
l := new(mockListenError)
|
||||
go server.acceptBiRPC(l)
|
||||
runtime.Gosched()
|
||||
}
|
||||
|
||||
func testRpcRegisterActions(t *testing.T) {
|
||||
caps := engine.NewCaps(0, utils.MetaBusy)
|
||||
server := NewServer(caps)
|
||||
@@ -732,29 +757,37 @@ func testRpcRegisterActions(t *testing.T) {
|
||||
}
|
||||
|
||||
func testWebSocket(t *testing.T) {
|
||||
cfgDflt := config.NewDefaultCGRConfig()
|
||||
caps := engine.NewCaps(100, utils.MetaBusy)
|
||||
server = NewServer(caps)
|
||||
server.RpcRegister(new(mockRegister))
|
||||
server.RpcRegisterName("mockRegister", new(mockRegister))
|
||||
|
||||
shdChan := utils.NewSyncedChan()
|
||||
|
||||
authUsers := map[string]string{
|
||||
"admin": "password",
|
||||
s := httptest.NewServer(websocket.Handler(server.handleWebSocket))
|
||||
config, err := websocket.NewConfig(fmt.Sprintf("ws://%s", s.Listener.Addr().String()), "http://localhost")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
//Invalid port address
|
||||
go server.ServeHTTPTLS(
|
||||
"57235",
|
||||
"/usr/share/cgrates/tls/inexisting_file",
|
||||
"/usr/share/cgrates/tls/server.key",
|
||||
"/usr/share/cgrates/tls/ca.crt",
|
||||
cfgDflt.TLSCfg().ServerPolicy,
|
||||
cfgDflt.TLSCfg().ServerName,
|
||||
utils.EmptyString,
|
||||
cfgDflt.HTTPCfg().HTTPWSURL,
|
||||
true,
|
||||
authUsers,
|
||||
shdChan)
|
||||
runtime.Gosched()
|
||||
c1, err := net.Dial(utils.TCP, s.Listener.Addr().String())
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
conn1, err := websocket.NewClient(config, c1)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
rpc := jsonrpc.NewClient(conn1)
|
||||
var reply string
|
||||
err = rpc.Call("mockRegister.Ping", "", &reply)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if reply != utils.Pong {
|
||||
t.Errorf("Expected Pong, receive %+s", reply)
|
||||
}
|
||||
|
||||
conn1.Close()
|
||||
|
||||
s.Close()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user