package client_proxy_buffer import ( "strings" "testing" "p78git.ddns.net/svi/gobus/api/netapi" ) /* Тест для прокси клиента */ type tester struct { t *testing.T proxy *ClientProxyBuffer } func TestAny(t *testing.T) { sf := &tester{ t: t, } sf.create() sf.write() } // Запись сообщения в прокси клиента func (sf *tester) write() { sf.t.Log("write") sf.writeBad1() sf.writeGood1() sf.read() } // Читает сообщение из шины func (sf *tester) read() { sf.t.Log("read") msg := sf.proxy.Read() if msg == nil { sf.t.Fatalf("read(): msg==nil") } sf.proxy.ResetWork() sf.writeGood1() } func (sf *tester) writeGood1() { sf.t.Log("writeGood1") msg := &netapi.TopicMsg{ Source: 0, Topic: "", BinMsg: []byte{}, StrUuid: "", } sf.proxy.Write(msg) } // Нет сообщения для прокси func (sf *tester) writeBad1() { sf.t.Log("writeBad1") sf.proxy.Write(nil) } // Создание прокси для клиента func (sf *tester) create() { sf.t.Log("create") sf.createBad1() sf.createBad2() sf.createGood1() } func (sf *tester) createGood1() { sf.t.Log("createGood1") req := &netapi.BuffRequest{ Sample: "_", ClientName: "test_client", } var err error sf.proxy, err = NewClientProxyBuffer(req) if err != nil { sf.t.Fatalf("createGood1(): err=%v", err) } if sf.proxy == nil { sf.t.Fatalf("createGood1(): proxy==nil") } if !sf.proxy.IsWork() { sf.t.Fatalf("createGood1(): not work") } if sample := sf.proxy.SampleTopic(); sample != "_" { sf.t.Fatalf("createGood1(): sample(%q)!='_'", sample) } if !strings.HasPrefix(string(sf.proxy.ClientName()), "test_client") { sf.t.Fatalf("createGood1(): not have prefix 'test_client', clientName(%q)", sf.proxy.ClientName()) } } // В запросе нет имени клиента func (sf *tester) createBad2() { sf.t.Log("createBad2") req := &netapi.BuffRequest{} proxy, err := NewClientProxyBuffer(req) if err == nil { sf.t.Fatalf("createBad2(): err==nil") } if proxy != nil { sf.t.Fatalf("createBad2(): proxy!=nil") } } // Нет запроса для создания прокси клиента func (sf *tester) createBad1() { sf.t.Log("createBad1") proxy, err := NewClientProxyBuffer(nil) if err == nil { sf.t.Fatalf("createBad1(): err==nil") } if proxy != nil { sf.t.Fatalf("createBad1(): proxy!=nil") } }