package mock_hand_serve import ( "testing" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/alias" ) type tester struct { t *testing.T hand *MockHandlerServe } func TestMockHandleServe(t *testing.T) { sf := &tester{ t: t, } sf.new() sf.back() } // Проверка обратного вызова. func (sf *tester) back() { sf.t.Log("back") sf.backBad1() sf.backGood1() } func (sf *tester) backGood1() { sf.t.Log("backGood1") res := sf.hand.FnBack([]byte("test_msg")) if res.IsErr() { sf.t.Fatalf("backGood1(): err=%v", res.Err()) } if string(res.Val()) != "test_msg" { sf.t.Fatalf("backGood1(): binMsg(%v)!='test_msg'", string(res.Val())) } } // Что-то сломалось. func (sf *tester) backBad1() { sf.t.Log("backBad1") sf.hand.IsBad_.Set() res := sf.hand.FnBack([]byte("test_msg")) if res.IsOk() { sf.t.Fatalf("backBad1(): err==nil") } sf.hand.IsBad_.Reset() } // Создание мок-обработчика запросов. func (sf *tester) new() { sf.t.Log("new") sf.newGood1() } var ( qTopicTest = alias.NewATopic("test_topic") ) func (sf *tester) newGood1() { sf.t.Log("newGood1") sf.hand = NewMockHandlerServe(qTopicTest, "test_name") if sf.hand == nil { sf.t.Fatalf("newGood1(): handler==nil") } if name := sf.hand.Name(); name.Get() != "test_name" { sf.t.Fatalf("newGood1(): name(%v)!='test_name'", name) } if topic := sf.hand.Topic(); topic.Get() != "test_topic" { sf.t.Fatalf("newGood1(): topic(%v)!='test_topic'", topic) } }