package log_topic import ( "testing" "gitp78su.ipnodns.ru/svi/kern/v4/lev2/kbus_local/client_bus_local" "gitp78su.ipnodns.ru/svi/kern/v4/lev2/kctx" ) type tester struct { t *testing.T } func TestLogTopic(t *testing.T) { sf := &tester{ t: t, } sf.new() } // Создаёт новый топик для логирования func (sf *tester) new() { sf.t.Log("new") sf.newBad1() sf.newGood1() } // Правильное создание топика func (sf *tester) newGood1() { sf.t.Log("newGood1") busClient := client_bus_local.NewClientBusLocal().Hassert("newGood1()") client := NewLogTopic("test_topic", busClient).Hassert("newGood1()") res := client.Pub([]byte("test_msg")) if res.IsErr() { sf.t.Fatalf("newGood1(): err=%v", res.Err()) } ctx := kctx.GetKernelCtx().Hassert("newGood1()") ctx.Cancel() ctx.Wg().Wait() res = client.Pub([]byte("test_msg")) if !res.IsErr() { sf.t.Fatalf("newGood1(): err==nil") } } // Нет топика лога func (sf *tester) newBad1() { res := NewLogTopic("", nil) if res.IsOk() { sf.t.Fatalf("newBad1(): res.IsOk()") } }