|
|
@@ -1,13 +1,19 @@
|
|
|
package cleint_proxy
|
|
|
|
|
|
-import "testing"
|
|
|
+import (
|
|
|
+ "strings"
|
|
|
+ "testing"
|
|
|
+
|
|
|
+ "p78git.ddns.net/svi/gobus/api/netapi"
|
|
|
+)
|
|
|
|
|
|
/*
|
|
|
- Тест для ...
|
|
|
+ Тест для прокси клиента
|
|
|
*/
|
|
|
|
|
|
type tester struct {
|
|
|
- t *testing.T
|
|
|
+ t *testing.T
|
|
|
+ proxy *ClientProxy
|
|
|
}
|
|
|
|
|
|
func TestAny(t *testing.T) {
|
|
|
@@ -15,8 +21,99 @@ func TestAny(t *testing.T) {
|
|
|
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.SubscribeRequest{
|
|
|
+ Sample: "_",
|
|
|
+ ClientName: "test_client",
|
|
|
+ }
|
|
|
+ var err error
|
|
|
+ sf.proxy, err = NewClientProxy(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.SubscribeRequest{}
|
|
|
+ proxy, err := NewClientProxy(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 := NewClientProxy(nil)
|
|
|
+ if err == nil {
|
|
|
+ sf.t.Fatalf("createBad1(): err==nil")
|
|
|
+ }
|
|
|
+ if proxy != nil {
|
|
|
+ sf.t.Fatalf("createBad1(): proxy!=nil")
|
|
|
+ }
|
|
|
}
|