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.

83 lines
1.9 KiB

3 years ago
  1. package container
  2. import (
  3. "fmt"
  4. "testing"
  5. )
  6. func TestNoSessionBrokerBuilder_New(t *testing.T) {
  7. builder := NewNoSessionBrokerBuilder()
  8. if builder == nil {
  9. t.Fatalf("创建失败!")
  10. }
  11. }
  12. func TestNoSessionBrokerBuilder_Check(t *testing.T) {
  13. methodName := "StringWithContext"
  14. method, ok := testServiceType.MethodByName(methodName)
  15. if !ok {
  16. t.Fatalf("意外的没找到方法:%s", methodName)
  17. }
  18. builder := NewNoSessionBrokerBuilder()
  19. err := builder.Check(method.Type)
  20. if err != nil {
  21. t.Fatalf("意外错误:%s", err.Error())
  22. }
  23. }
  24. func TestNoSessionBrokerBuilder_Check_Less(t *testing.T) {
  25. methodName := "String"
  26. method, ok := testServiceType.MethodByName(methodName)
  27. if !ok {
  28. t.Fatalf("意外的没找到方法:%s", methodName)
  29. }
  30. builder := NewNoSessionBrokerBuilder()
  31. err := builder.Check(method.Type)
  32. if err == nil {
  33. t.Fatalf("意外的没有错误!")
  34. }
  35. if err.Error() != fmt.Sprintf("参数太少!实际数量:0") {
  36. t.Fatalf("意外错误:%s", err.Error())
  37. }
  38. }
  39. func TestNoSessionBrokerBuilder_Check_NullMethodType(t *testing.T) {
  40. builder := NewNoSessionBrokerBuilder()
  41. err := builder.Check(nil)
  42. if err == nil {
  43. t.Fatalf("意外的没有错误!")
  44. }
  45. if err.Error() != fmt.Sprintf("方法类型不能为空!") {
  46. t.Fatalf("意外错误:%s", err.Error())
  47. }
  48. }
  49. func TestNoSessionBrokerBuilder_Build_NullCaller(t *testing.T) {
  50. builder := NewNoSessionBrokerBuilder()
  51. _, err := builder.Build(nil, nil)
  52. if err == nil {
  53. t.Fatalf("意外的没有错误!")
  54. }
  55. if err.Error() != fmt.Sprintf("调用器不能为空!") {
  56. t.Fatalf("意外错误:%s", err.Error())
  57. }
  58. }
  59. func TestNoSessionBrokerBuilder_Build(t *testing.T) {
  60. methodName := "String"
  61. caller, err := serviceInstance.GetCaller(methodName)
  62. if err != nil {
  63. t.Fatalf("意外错误:%s", err.Error())
  64. }
  65. builder := NewNoSessionBrokerBuilder()
  66. caller1, err := builder.Build(nil, caller)
  67. if !CallerEqual(caller, caller1) {
  68. t.Fatalf("调用器创建错误!")
  69. }
  70. }