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("意外的没有错误!") }