package container
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestSessionManager_New(t *testing.T) {
|
|
|
|
informationManager := NewInformationManager()
|
|
sessionManager := NewSessionManager(informationManager, transactionHandlerFactoryMock)
|
|
if sessionManager == nil {
|
|
t.Fatalf("创建失败!")
|
|
}
|
|
defaultSessionManager, ok := sessionManager.(*DefaultSessionManager)
|
|
if !ok {
|
|
t.Fatalf("会话管理器类型不正确!")
|
|
}
|
|
if defaultSessionManager.informationManager == nil {
|
|
t.Fatalf("组件信息管理器不能为空!")
|
|
}
|
|
if defaultSessionManager.transactionHandlerFactory == nil {
|
|
t.Fatalf("事务句柄工厂不能为空!")
|
|
}
|
|
if len(defaultSessionManager.user2SessionMapping) != 0 {
|
|
t.Fatalf("用户会话映射量错误!")
|
|
}
|
|
if len(defaultSessionManager.sessionMapping) != 0 {
|
|
t.Fatalf("会话映射数量错误!")
|
|
}
|
|
}
|
|
|
|
func TestSessionManager_New_NullInformationManager(t *testing.T) {
|
|
defer func() {
|
|
if err := recover(); err != "组件信息管理器不能为空!" {
|
|
t.Fatalf("意外错误:%s", err)
|
|
}
|
|
}()
|
|
|
|
_ = NewSessionManager(nil, transactionHandlerFactoryMock)
|
|
t.Fatalf("意外的没有错误!")
|
|
}
|
|
|
|
func TestSessionManager_New_NullTransactionHandlerFactoryMock(t *testing.T) {
|
|
defer func() {
|
|
if err := recover(); err != "事务句柄工厂不能为空!" {
|
|
t.Fatalf("意外错误:%s", err)
|
|
}
|
|
}()
|
|
|
|
informationManager := NewInformationManager()
|
|
_ = NewSessionManager(informationManager, nil)
|
|
t.Fatalf("意外的没有错误!")
|
|
}
|