mock_hand_serve_test.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package mock_hand_serve
  2. import (
  3. "testing"
  4. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/alias"
  5. )
  6. type tester struct {
  7. t *testing.T
  8. hand *MockHandlerServe
  9. }
  10. func TestMockHandleServe(t *testing.T) {
  11. sf := &tester{
  12. t: t,
  13. }
  14. sf.new()
  15. sf.back()
  16. }
  17. // Проверка обратного вызова.
  18. func (sf *tester) back() {
  19. sf.t.Log("back")
  20. sf.backBad1()
  21. sf.backGood1()
  22. }
  23. func (sf *tester) backGood1() {
  24. sf.t.Log("backGood1")
  25. res := sf.hand.FnBack([]byte("test_msg"))
  26. if res.IsErr() {
  27. sf.t.Fatalf("backGood1(): err=%v", res.Err())
  28. }
  29. if string(res.Ok()) != "test_msg" {
  30. sf.t.Fatalf("backGood1(): binMsg(%v)!='test_msg'", string(res.Ok()))
  31. }
  32. }
  33. // Что-то сломалось.
  34. func (sf *tester) backBad1() {
  35. sf.t.Log("backBad1")
  36. sf.hand.IsBad_.Set()
  37. res := sf.hand.FnBack([]byte("test_msg"))
  38. if res.IsOk() {
  39. sf.t.Fatalf("backBad1(): err==nil")
  40. }
  41. sf.hand.IsBad_.Reset()
  42. }
  43. // Создание мок-обработчика запросов.
  44. func (sf *tester) new() {
  45. sf.t.Log("new")
  46. sf.newGood1()
  47. }
  48. var (
  49. qTopicTest = alias.NewATopic("test_topic")
  50. )
  51. func (sf *tester) newGood1() {
  52. sf.t.Log("newGood1")
  53. sf.hand = NewMockHandlerServe(qTopicTest, "test_name")
  54. if sf.hand == nil {
  55. sf.t.Fatalf("newGood1(): handler==nil")
  56. }
  57. if name := sf.hand.Name(); name.Get() != "test_name" {
  58. sf.t.Fatalf("newGood1(): name(%v)!='test_name'", name)
  59. }
  60. if topic := sf.hand.Topic(); topic.Get() != "test_topic" {
  61. sf.t.Fatalf("newGood1(): topic(%v)!='test_topic'", topic)
  62. }
  63. }