log_topic_test.go 1002 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package log_topic
  2. import (
  3. "testing"
  4. "gitp78su.ipnodns.ru/svi/kern/v4/d2/kern_ctx"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/d2/lti/bus_ent/topic"
  6. "gitp78su.ipnodns.ru/svi/kern/v4/d2/lti/kbus_local/client_bus_local"
  7. )
  8. type tester struct {
  9. t *testing.T
  10. }
  11. func TestLogTopic(t *testing.T) {
  12. sf := &tester{
  13. t: t,
  14. }
  15. sf.new()
  16. }
  17. // Создаёт новый топик для логирования.
  18. func (sf *tester) new() {
  19. sf.t.Log("new")
  20. sf.newGood1()
  21. }
  22. // Правильное создание топика.
  23. func (sf *tester) newGood1() {
  24. sf.t.Log("newGood1")
  25. busClient := client_bus_local.NewClientBusLocal()
  26. qTopicTest := topic.LetTopic("test_topic")
  27. client := NewLogTopic(qTopicTest, busClient).Hassert("newGood1()")
  28. res := client.Pub([]byte("test_msg"))
  29. if res.IsErr() {
  30. sf.t.Fatalf("newGood1(): err=%v", res.Err())
  31. }
  32. kCtx := kern_ctx.GetKernCtx()
  33. kCtx.Cancel()
  34. kCtx.Wg().Wait()
  35. res = client.Pub([]byte("test_msg"))
  36. if !res.IsErr() {
  37. sf.t.Fatalf("newGood1(): err==nil")
  38. }
  39. }