wormhole/node/pkg/p2p/netmetrics_test.go

34 lines
991 B
Go

package p2p
import (
"testing"
)
type sanitizeVersionCase struct {
version string
ref string
want string
}
func Test_sanitizeVersion(t *testing.T) {
cases := []sanitizeVersionCase{
{version: "v1.0.0", ref: "v1.0.0", want: "v1.0.0"},
{version: "v1.0.0-foo", ref: "v1.0.0", want: "v1.0.0"},
{version: "v1.0.0-foo", ref: "v1.0.0-bar", want: "v1.0.0"},
{version: "v6.0.0-foo", ref: "v1.0.0-bar", want: "v6.0.0"},
{version: "v6.1.0-foo", ref: "v1.0.0-bar", want: "v6.1.0"},
{version: "v6.1.0-foo", ref: "v4.5.0-bar", want: "v6.1.0"},
{version: "v6.1.0.1.1.1", ref: "v4.5.0.2.2.2", want: "v6.1.0"},
{version: "v10.1.0-foo", ref: "v1.0.0", want: "other"},
{version: "notaversion", ref: "v1.0.0", want: "other"},
{version: "v6.1.10000000", ref: "v1.0.0-bar", want: "other"},
}
for _, c := range cases {
got := sanitizeVersion(c.version, c.ref)
if got != c.want {
t.Errorf("sanitizeVersion(%q, %q) == %q, want %q", c.version, c.ref, got, c.want)
}
}
}