苏州瑞玛APS项目web后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

175 lines
4.7 KiB

package container
import (
"fmt"
"leit.com/LAPP_CHEERSSON_BACKEND/global"
"testing"
)
func TestSession_New(t *testing.T) {
sessionId := "sessionId"
userId := "userId"
user := &global.User{UserId: userId}
handlerManager, err := NewHandlerManager(map[Interface]ComponentHandler{})
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
sessionContext, err := NewSessionContext(user, transactionHandlerFactoryMock)
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
session, err := NewSession(sessionContext, sessionId, handlerManager)
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
if session == nil {
t.Fatalf("创建失败!")
}
if session.user.UserId != userId {
t.Fatalf("用户标识错误!")
}
if session.sessionId != sessionId {
t.Fatalf("会话标识错误!")
}
if session.user != user {
t.Fatalf("用户信息错误!")
}
if session.handlers != handlerManager {
t.Fatalf("组件句柄管理器错误!")
}
if session.transactionHandlerFactory != transactionHandlerFactoryMock {
t.Fatalf("事务句柄工厂不能为空!")
}
}
func TestSession_New_EmptySessionId(t *testing.T) {
sessionId := ""
userId := "userId"
user := &global.User{UserId: userId}
handlerManager, err := NewHandlerManager(map[Interface]ComponentHandler{})
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
sessionContext, err := NewSessionContext(user, transactionHandlerFactoryMock)
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
_, err = NewSession(sessionContext, sessionId, handlerManager)
if err == nil {
t.Fatalf("意外的没有错误!")
}
if err.Error() != fmt.Sprintf("会话标识不能为空!") {
t.Fatalf("意外错误:%s", err.Error())
}
}
func TestSession_New_NullContext(t *testing.T) {
sessionId := "sessionId"
handlerManager, err := NewHandlerManager(map[Interface]ComponentHandler{})
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
_, err = NewSession(nil, sessionId, handlerManager)
if err == nil {
t.Fatalf("意外的没有错误!")
}
if err.Error() != fmt.Sprintf("会话上下文不能为空!") {
t.Fatalf("意外错误:%s", err.Error())
}
}
func TestSession_New_NullHandlerManager(t *testing.T) {
sessionId := "sessionId"
userId := "userId"
user := &global.User{UserId: userId}
sessionContext, err := NewSessionContext(user, transactionHandlerFactoryMock)
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
_, err = NewSession(sessionContext, sessionId, nil)
if err == nil {
t.Fatalf("意外的没有错误!")
}
if err.Error() != fmt.Sprintf("组件句柄管理器不能为空!") {
t.Fatalf("意外错误:%s", err.Error())
}
}
func TestSession_User(t *testing.T) {
sessionId := "sessionId"
userId := "userId"
user := &global.User{UserId: userId}
handlerManager, err := NewHandlerManager(map[Interface]ComponentHandler{})
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
sessionContext, err := NewSessionContext(user, transactionHandlerFactoryMock)
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
session, err := NewSession(sessionContext, sessionId, handlerManager)
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
user = &global.User{UserId: "userId1"}
session.user = user
if session.User() != user {
t.Fatalf("用户标识错误!")
}
}
func TestSession_SessionId(t *testing.T) {
sessionId := "sessionId"
userId := "userId"
user := &global.User{UserId: userId}
handlerManager, err := NewHandlerManager(map[Interface]ComponentHandler{})
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
sessionContext, err := NewSessionContext(user, transactionHandlerFactoryMock)
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
session, err := NewSession(sessionContext, sessionId, handlerManager)
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
sessionId = "sessionId1"
session.sessionId = sessionId
if session.SessionId() != sessionId {
t.Fatalf("用户标识错误!")
}
}
func TestSession_Handlers(t *testing.T) {
sessionId := "sessionId"
userId := "userId"
user := &global.User{UserId: userId}
handlerManager, err := NewHandlerManager(map[Interface]ComponentHandler{})
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
sessionContext, err := NewSessionContext(user, transactionHandlerFactoryMock)
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
session, err := NewSession(sessionContext, sessionId, handlerManager)
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
handlerManager, err = NewHandlerManager(map[Interface]ComponentHandler{})
if err != nil {
t.Fatalf("意外错误:%s", err.Error())
}
session.handlers = handlerManager
if session.Handlers() != handlerManager {
t.Fatalf("用户标识错误!")
}
}