ソースを参照

SVI Добаление тестов топику; 22.2%

SVI 2 年 前
コミット
c1c481f19a

+ 1 - 0
internal/dict_topic/topic/topic.go

@@ -49,6 +49,7 @@ func (sf *Topic) Subscribe(clientProxy types.IClientProxy) error {
 		return fmt.Errorf("Topic.Subscribe(): ICLientProxy==nil")
 	}
 	sf.dictProxy[clientProxy.ClientName()] = clientProxy
+	clientProxy.Write(sf.msg)
 	return nil
 }
 

+ 36 - 0
internal/dict_topic/topic/topic_test.go

@@ -4,6 +4,7 @@ import (
 	"testing"
 
 	"p78git.ddns.net/svi/gobus/api/netapi"
+	"p78git.ddns.net/svi/gobus/pkg/net/client_proxy_buffer"
 )
 
 /*
@@ -20,6 +21,41 @@ func TestTopic(t *testing.T) {
 		t: t,
 	}
 	sf.create()
+	sf.sub()
+}
+
+// Подписка клиента на топик
+func (sf *tester) sub() {
+	sf.t.Log("sub")
+	sf.subBad1()
+	sf.subGood1()
+}
+
+func (sf *tester) subGood1() {
+	sf.t.Log("subGood1")
+	req := &netapi.BuffRequest{
+		Sample:             "",
+		ClientName:         "",
+		MsgSumSizeLimit:    0,
+		MsgSaveSecondLimit: 0,
+	}
+	proxy, err := client_proxy_buffer.NewClientProxyBuffer(req)
+	if err != nil {
+		sf.t.Fatalf("subGood1(): err=%v", err)
+	}
+	err = sf.topic.Subscribe(proxy)
+	if err != nil {
+		sf.t.Fatalf("subGood1(): err=%v", err)
+	}
+}
+
+// Нет клиента
+func (sf *tester) subBad1() {
+	sf.t.Log("subBad1")
+	err := sf.topic.Subscribe(nil)
+	if err == nil {
+		sf.t.Fatalf("subBad1(): err==nil")
+	}
 }
 
 // Создание топика