mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
More tests in sessions
This commit is contained in:
committed by
Dan Christian Bogos
parent
df893a3034
commit
0c18098bdd
@@ -76,7 +76,9 @@ var (
|
||||
testUpdateSession,
|
||||
testEndSession,
|
||||
testCallBiRPC,
|
||||
testBiRPCv1GetActiveSessions,
|
||||
testBiRPCv1GetActivePassiveSessions,
|
||||
testBiRPCv1SetPassiveSession,
|
||||
testBiRPCv1ReplicateSessions,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -2137,7 +2139,7 @@ func testCallBiRPC(t *testing.T) {
|
||||
*/
|
||||
}
|
||||
|
||||
func testBiRPCv1GetActiveSessions(t *testing.T) {
|
||||
func testBiRPCv1GetActivePassiveSessions(t *testing.T) {
|
||||
clnt := &testMockClients{}
|
||||
|
||||
cfg := config.NewDefaultCGRConfig()
|
||||
@@ -2199,6 +2201,7 @@ func testBiRPCv1GetActiveSessions(t *testing.T) {
|
||||
sr2[utils.Subject] = "subject2"
|
||||
sr2[utils.CGRID] = GetSetCGRID(sEv)
|
||||
sessions.registerSession(session, false)
|
||||
|
||||
st, err := utils.IfaceAsTime("2015-11-09T14:21:24Z", "")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -2232,6 +2235,7 @@ func testBiRPCv1GetActiveSessions(t *testing.T) {
|
||||
},
|
||||
NodeID: sessions.cgrCfg.GeneralCfg().NodeID,
|
||||
}
|
||||
|
||||
expSess := []*ExternalSession{
|
||||
eses1,
|
||||
}
|
||||
@@ -2242,4 +2246,135 @@ func testBiRPCv1GetActiveSessions(t *testing.T) {
|
||||
} else if !reflect.DeepEqual(expSess, reply) {
|
||||
t.Errorf("Expected %s , received: %s", utils.ToJSON(expSess), utils.ToJSON(reply))
|
||||
}
|
||||
|
||||
var newReply1 int
|
||||
//nil args, but it will be an empty SessionFilter
|
||||
if err := sessions.BiRPCv1GetActiveSessionsCount(clnt, nil, &newReply1); err != nil {
|
||||
t.Error(err)
|
||||
} else if newReply1 != 2 {
|
||||
t.Errorf("Expected %+v, received: %+v", 2, newReply1)
|
||||
}
|
||||
|
||||
if err := sessions.BiRPCv1GetActiveSessionsCount(clnt, args, &newReply1); err != nil {
|
||||
t.Error(err)
|
||||
} else if newReply1 != 1 {
|
||||
t.Errorf("Expected %+v, received: %+v", 1, newReply1)
|
||||
}
|
||||
|
||||
//Passive session
|
||||
reply = []*ExternalSession{}
|
||||
if err := sessions.BiRPCv1GetPassiveSessions(clnt, nil, &reply); err == nil || err != utils.ErrNotFound {
|
||||
t.Errorf("Expected %+v, received %+v", utils.ErrNotFound, err)
|
||||
}
|
||||
|
||||
sessions.pSessions = map[string]*Session{
|
||||
utils.EmptyString: {
|
||||
SRuns: []*SRun{
|
||||
{
|
||||
EventCost: &engine.EventCost{},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
//empty filters
|
||||
sessions.cgrCfg.GeneralCfg().NodeID = "TEST_ID"
|
||||
args = &utils.SessionFilter{}
|
||||
expSess = []*ExternalSession{
|
||||
{
|
||||
Source: "SessionS_",
|
||||
NodeID: "TEST_ID",
|
||||
ExtraFields: map[string]string{},
|
||||
},
|
||||
}
|
||||
if err := sessions.BiRPCv1GetPassiveSessions(clnt, args, &reply); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(reply, expSess) {
|
||||
t.Errorf("Expected %+v\n, received: %+v", utils.ToJSON(expSess), utils.ToJSON(reply))
|
||||
}
|
||||
|
||||
if err := sessions.BiRPCv1GetPassiveSessionsCount(clnt, nil, &newReply1); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func testBiRPCv1SetPassiveSession(t *testing.T) {
|
||||
clnt := &testMockClients{}
|
||||
|
||||
cfg := config.NewDefaultCGRConfig()
|
||||
data := engine.NewInternalDB(nil, nil, true)
|
||||
dm := engine.NewDataManager(data, cfg.CacheCfg(), nil)
|
||||
sessions := NewSessionS(cfg, dm, nil)
|
||||
|
||||
var reply string
|
||||
ss := &Session{
|
||||
Tenant: "cgrates.org",
|
||||
SRuns: []*SRun{},
|
||||
}
|
||||
expected := "MANDATORY_IE_MISSING: [CGRID]"
|
||||
if err := sessions.BiRPCv1SetPassiveSession(clnt, ss, &reply); err == nil || err.Error() != expected {
|
||||
t.Errorf("Expected %+v\n, received: %+v", expected, err)
|
||||
} else if reply != utils.EmptyString {
|
||||
t.Errorf("Expected %+v\n, received: %+v", utils.EmptyString, err)
|
||||
}
|
||||
|
||||
ss.CGRID = "CGR_ID"
|
||||
if err := sessions.BiRPCv1SetPassiveSession(clnt, ss, &reply); err == nil || err != utils.ErrNotFound {
|
||||
t.Errorf("Expected %+v\n, received: %+v", utils.ErrNotFound, err)
|
||||
} else if reply != utils.EmptyString {
|
||||
t.Errorf("Expected %+v\n, received: %+v", utils.EmptyString, err)
|
||||
}
|
||||
|
||||
sessions.pSessions = map[string]*Session{
|
||||
"CGR_ID": ss,
|
||||
}
|
||||
if err := sessions.BiRPCv1SetPassiveSession(clnt, ss, &reply); err != nil {
|
||||
t.Error(err)
|
||||
} else if reply != utils.OK {
|
||||
t.Errorf("Expected %+v\n, received: %+v", utils.OK, err)
|
||||
}
|
||||
|
||||
sessions.aSessions = map[string]*Session{
|
||||
"CGR_ID": ss,
|
||||
}
|
||||
ss.EventStart = engine.MapEvent{}
|
||||
if err := sessions.BiRPCv1SetPassiveSession(clnt, ss, &reply); err != nil {
|
||||
t.Error(err)
|
||||
} else if reply != utils.OK {
|
||||
t.Errorf("Expected %+v\n, received: %+v", utils.OK, err)
|
||||
}
|
||||
}
|
||||
|
||||
func testBiRPCv1ReplicateSessions(t *testing.T) {
|
||||
clnt := &testMockClients{
|
||||
calls: map[string]func(args interface{}, reply interface{}) error{
|
||||
utils.SessionSv1SetPassiveSession: func(args interface{}, reply interface{}) error {
|
||||
return utils.ErrNotImplemented
|
||||
},
|
||||
},
|
||||
}
|
||||
chanInternal := make(chan rpcclient.ClientConnector, 1)
|
||||
chanInternal <- clnt
|
||||
cfg := config.NewDefaultCGRConfig()
|
||||
data := engine.NewInternalDB(nil, nil, true)
|
||||
connMgr := engine.NewConnManager(cfg, map[string]chan rpcclient.ClientConnector{
|
||||
"conn1": chanInternal,
|
||||
})
|
||||
dm := engine.NewDataManager(data, cfg.CacheCfg(), connMgr)
|
||||
sessions := NewSessionS(cfg, dm, connMgr)
|
||||
|
||||
args := ArgsReplicateSessions{
|
||||
CGRID: "CGRID_TEST",
|
||||
Passive: false,
|
||||
ConnIDs: []string{},
|
||||
}
|
||||
|
||||
var reply string
|
||||
if err := sessions.BiRPCv1ReplicateSessions(clnt, args, &reply); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
args.ConnIDs = []string{"conn1"}
|
||||
if err := sessions.BiRPCv1ReplicateSessions(clnt, args, &reply); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user