Files
EdgeNode/internal/metrics/stat_test.go

71 lines
1.5 KiB
Go
Raw Permalink Normal View History

2024-07-27 15:42:50 +08:00
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
2024-04-02 19:54:04 +08:00
package metrics_test
import (
2024-07-27 15:42:50 +08:00
"testing"
2024-04-02 19:54:04 +08:00
"github.com/TeaOSLab/EdgeNode/internal/metrics"
"github.com/iwind/TeaGo/assert"
)
func TestStat_EncodeValueKey(t *testing.T) {
var a = assert.NewAssertion(t)
var stat = &metrics.Stat{
ServerId: 1,
Keys: []string{"${remoteAddr}"},
Hash: "123456",
Value: 123,
Time: "20240101",
}
var valueKey = stat.EncodeValueKey(100)
t.Log(valueKey)
serverId, timeString, version, value, hash, err := metrics.DecodeValueKey(valueKey)
if err != nil {
t.Fatal(err)
}
t.Log(serverId, timeString, value, version, hash)
a.IsTrue(serverId == 1)
a.IsTrue(timeString == "20240101")
a.IsTrue(value == 123)
a.IsTrue(version == 100)
a.IsTrue(hash == "123456")
}
func TestStat_EncodeSumKey(t *testing.T) {
var a = assert.NewAssertion(t)
var stat = &metrics.Stat{
ServerId: 1,
Keys: []string{"${remoteAddr}"},
Hash: "123456",
Value: 123,
Time: "20240101",
}
var sumKey = stat.EncodeSumKey(100)
t.Log(sumKey)
serverId, timeString, version, err := metrics.DecodeSumKey(sumKey)
if err != nil {
t.Fatal(err)
}
t.Log(serverId, timeString, version)
a.IsTrue(serverId == 1)
a.IsTrue(timeString == "20240101")
a.IsTrue(version == 100)
}
func TestStat_EncodeSumValue(t *testing.T) {
var a = assert.NewAssertion(t)
var b = metrics.EncodeSumValue(123, 456)
t.Log(b)
count, sum := metrics.DecodeSumValue(b)
a.IsTrue(count == 123)
a.IsTrue(sum == 456)
}