Ver Fonte

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

SVI há 2 anos atrás
pai
commit
433ed50533

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

@@ -97,7 +97,7 @@ func (sf *TopicStat) check(msg *netapi.TopicMsg) error {
 	if msg.Topic != string(sf.topicName) {
 		return fmt.Errorf("TopicStat.check(): msg.Topic(%q)!=%q", msg.Topic, sf.topicName)
 	}
-	if len(msg.StrUuid) != 20 {
+	if len(msg.StrUuid) != 36 {
 		return fmt.Errorf("TopicStat.check(): len msg.StrUuuid(%v)!=20", len(msg.StrUuid))
 	}
 	return nil

+ 80 - 0
internal/dict_topic/topic/topic_stat/topic_stat_test.go

@@ -3,6 +3,8 @@ package topic_stat
 import (
 	"testing"
 
+	"github.com/google/uuid"
+
 	"p78git.ddns.net/svi/gobus/api/netapi"
 )
 
@@ -20,6 +22,84 @@ func TestTopicStat(t *testing.T) {
 		t: t,
 	}
 	sf.create()
+	sf.update()
+}
+
+// Обновляет статистику топика
+func (sf *tester) update() {
+	sf.t.Log("update")
+	sf.updateBad1()
+	sf.updateBad2()
+	sf.updateBad3()
+	sf.updateGood1()
+}
+
+func (sf *tester) updateGood1() {
+	sf.t.Log("updateGood1")
+	msg := &netapi.TopicMsg{
+		Source:  0,
+		Topic:   "test_topic",
+		BinMsg:  []byte{},
+		StrUuid: uuid.New().String(),
+	}
+	err := sf.stat.Update(msg)
+	if err != nil {
+		sf.t.Fatalf("updateGood1(): err=%v", err)
+	}
+	if name := sf.stat.Name(); name != "test_topic" {
+		sf.t.Fatalf("updateGood1(): name(%q)!='test_topic'", name)
+	}
+	if cErr := sf.stat.CountErr(); cErr != 3 {
+		sf.t.Fatalf("createGood1(): cErr(%v)!=3", cErr)
+	}
+	if cMsg := sf.stat.CountMsg(); cMsg != 4 {
+		sf.t.Fatalf("createGood1(): cMsg(%v)!=4", cMsg)
+	}
+	if cTraff := sf.stat.CountTraff(); cTraff != 34 {
+		sf.t.Fatalf("createGood1(): cTraff(%v)!=34", cTraff)
+	}
+	if cSize := sf.stat.Size(); cSize != 34 {
+		sf.t.Fatalf("createGood1(): cSize(%v)!=34", cSize)
+	}
+}
+
+// Кривой UUID
+func (sf *tester) updateBad3() {
+	sf.t.Log("updateBad3")
+	msg := &netapi.TopicMsg{
+		Source:  0,
+		Topic:   "test_topic",
+		BinMsg:  []byte{},
+		StrUuid: "",
+	}
+	err := sf.stat.Update(msg)
+	if err == nil {
+		sf.t.Fatalf("updateBad3(): err==nil")
+	}
+}
+
+// Кривой топик
+func (sf *tester) updateBad2() {
+	sf.t.Log("updateBad2")
+	msg := &netapi.TopicMsg{
+		Source:  0,
+		Topic:   "",
+		BinMsg:  []byte{},
+		StrUuid: "",
+	}
+	err := sf.stat.Update(msg)
+	if err == nil {
+		sf.t.Fatalf("updateBad2(): err==nil")
+	}
+}
+
+// Нет сообщения
+func (sf *tester) updateBad1() {
+	sf.t.Log("createBad1")
+	err := sf.stat.Update(nil)
+	if err == nil {
+		sf.t.Fatalf("updateBad1(): err==nil")
+	}
 }
 
 // Создание статистики