Files
hetzner-api-dyndns-records-…/internal/appupdate/version_test.go
T
admin bb60c06c0e
Container-Image veröffentlichen / container (push) v1.4.0 wurde manuell veröffentlicht und verifiziert
feat: establish secure update foundation
2026-08-29 11:30:43 +02:00

29 lines
812 B
Go

package appupdate
import "testing"
func TestCompareVersionsUsesStrictStableSemanticVersions(t *testing.T) {
t.Parallel()
tests := []struct {
left string
right string
want int
}{
{left: "v1.2.2", right: "v1.2.3", want: -1},
{left: "v1.3.0", right: "v2.0.0", want: -1},
{left: "v2.0.0", right: "v1.99.99", want: 1},
{left: "v1.2.2", right: "v1.2.2", want: 0},
}
for _, test := range tests {
got, err := compareVersions(test.left, test.right)
if err != nil || got != test.want {
t.Errorf("compareVersions(%q, %q) = %d, %v; want %d", test.left, test.right, got, err, test.want)
}
}
for _, invalid := range []string{"1.2.3", "v01.2.3", "v1.2", "v1.2.3-rc.1", "v1.2.3+build"} {
if validReleaseVersion(invalid) {
t.Errorf("invalid release version accepted: %q", invalid)
}
}
}