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.

53 lines
1.4 KiB

3 years ago
  1. package container
  2. import (
  3. "testing"
  4. )
  5. func TestSessionManager_New(t *testing.T) {
  6. informationManager := NewInformationManager()
  7. sessionManager := NewSessionManager(informationManager, transactionHandlerFactoryMock)
  8. if sessionManager == nil {
  9. t.Fatalf("创建失败!")
  10. }
  11. defaultSessionManager, ok := sessionManager.(*DefaultSessionManager)
  12. if !ok {
  13. t.Fatalf("会话管理器类型不正确!")
  14. }
  15. if defaultSessionManager.informationManager == nil {
  16. t.Fatalf("组件信息管理器不能为空!")
  17. }
  18. if defaultSessionManager.transactionHandlerFactory == nil {
  19. t.Fatalf("事务句柄工厂不能为空!")
  20. }
  21. if len(defaultSessionManager.user2SessionMapping) != 0 {
  22. t.Fatalf("用户会话映射量错误!")
  23. }
  24. if len(defaultSessionManager.sessionMapping) != 0 {
  25. t.Fatalf("会话映射数量错误!")
  26. }
  27. }
  28. func TestSessionManager_New_NullInformationManager(t *testing.T) {
  29. defer func() {
  30. if err := recover(); err != "组件信息管理器不能为空!" {
  31. t.Fatalf("意外错误:%s", err)
  32. }
  33. }()
  34. _ = NewSessionManager(nil, transactionHandlerFactoryMock)
  35. t.Fatalf("意外的没有错误!")
  36. }
  37. func TestSessionManager_New_NullTransactionHandlerFactoryMock(t *testing.T) {
  38. defer func() {
  39. if err := recover(); err != "事务句柄工厂不能为空!" {
  40. t.Fatalf("意外错误:%s", err)
  41. }
  42. }()
  43. informationManager := NewInformationManager()
  44. _ = NewSessionManager(informationManager, nil)
  45. t.Fatalf("意外的没有错误!")
  46. }