log_topic_test.go 1.1 KB

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