msg_net_test.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package msg_net
  2. import (
  3. "testing"
  4. )
  5. type tester struct {
  6. t *testing.T
  7. msg *MsgFindRequest
  8. }
  9. func TestMsgNet(t *testing.T) {
  10. sf := &tester{
  11. t: t,
  12. }
  13. sf.create()
  14. }
  15. // Создание сообщения поиска
  16. func (sf *tester) create() {
  17. sf.t.Log("create")
  18. sf.createBad1()
  19. sf.createGood1()
  20. }
  21. func (sf *tester) createGood1() {
  22. sf.t.Log("createGood1")
  23. msg, err := NewFindRequest("key")
  24. if err != nil {
  25. sf.t.Fatalf("createGood1(): err=\n\t%v", err)
  26. }
  27. if msg == nil {
  28. sf.t.Fatalf("createGood1(): msg==nil")
  29. }
  30. sf.msg = msg.(*MsgFindRequest)
  31. if val := sf.msg.Values(); len(val) != 0 {
  32. sf.t.Fatalf("createGood1(): len(val)=%d", len(val))
  33. }
  34. if key := sf.msg.Key(); key != "key" {
  35. sf.t.Fatalf("createGood1(): key=%q", key)
  36. }
  37. binData := sf.msg.Marshal()
  38. msg, err = UnmarshalFindRequest("key", binData)
  39. if err != nil {
  40. sf.t.Fatalf("createGood1(): err=\n\t%v", err)
  41. }
  42. if msg == nil {
  43. sf.t.Fatalf("createGood1(): msg==nil")
  44. }
  45. if key := msg.Key(); key != "key" {
  46. sf.t.Fatalf("createGood1(): key=%q", key)
  47. }
  48. _msg, err := UnmarshalFindRequest("key", []byte{})
  49. if err == nil {
  50. sf.t.Fatalf("createGood1(): err==nil")
  51. }
  52. if _msg != nil {
  53. sf.t.Fatalf("createGood1(): _msg!=nil")
  54. }
  55. _msg1, err := UnmarshalFindRequest("key", []byte(`{"key":"key_bad"}`))
  56. if err == nil {
  57. sf.t.Fatalf("createGood1(): err==nil")
  58. }
  59. if _msg1 != nil {
  60. sf.t.Fatalf("createGood1(): _msg1!=nil")
  61. }
  62. }
  63. // Нет ключа хранилища
  64. func (sf *tester) createBad1() {
  65. sf.t.Log("createBad1")
  66. msg, err := NewFindRequest("")
  67. if err == nil {
  68. sf.t.Fatalf("createBad1(): err==nil")
  69. }
  70. if msg != nil {
  71. sf.t.Fatalf("createBad1(): msg!=nil")
  72. }
  73. }