test(version): add unit tests for version behavior
This commit is contained in:
@@ -0,0 +1,84 @@
|
|||||||
|
package version
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestVersionFunctions(t *testing.T) {
|
||||||
|
origVersion := Version
|
||||||
|
origBuildDate := BuildDate
|
||||||
|
origCommit := Commit
|
||||||
|
defer func() {
|
||||||
|
Version = origVersion
|
||||||
|
BuildDate = origBuildDate
|
||||||
|
Commit = origCommit
|
||||||
|
}()
|
||||||
|
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
version string
|
||||||
|
buildDate string
|
||||||
|
commit string
|
||||||
|
wantFull string
|
||||||
|
wantShort string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "Default dev version",
|
||||||
|
version: "dev",
|
||||||
|
buildDate: "unknown",
|
||||||
|
commit: "unknown",
|
||||||
|
wantFull: "tunnel_pls dev (commit: unknown, built: unknown)",
|
||||||
|
wantShort: "dev",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Release version",
|
||||||
|
version: "v1.0.0",
|
||||||
|
buildDate: "2026-01-23",
|
||||||
|
commit: "abcdef123",
|
||||||
|
wantFull: "tunnel_pls v1.0.0 (commit: abcdef123, built: 2026-01-23)",
|
||||||
|
wantShort: "v1.0.0",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Empty values",
|
||||||
|
version: "",
|
||||||
|
buildDate: "",
|
||||||
|
commit: "",
|
||||||
|
wantFull: "tunnel_pls (commit: , built: )",
|
||||||
|
wantShort: "",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
Version = tt.version
|
||||||
|
BuildDate = tt.buildDate
|
||||||
|
Commit = tt.commit
|
||||||
|
|
||||||
|
gotFull := GetVersion()
|
||||||
|
if gotFull != tt.wantFull {
|
||||||
|
t.Errorf("GetVersion() = %q, want %q", gotFull, tt.wantFull)
|
||||||
|
}
|
||||||
|
|
||||||
|
gotShort := GetShortVersion()
|
||||||
|
if gotShort != tt.wantShort {
|
||||||
|
t.Errorf("GetShortVersion() = %q, want %q", gotShort, tt.wantShort)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestGetVersion_Format(t *testing.T) {
|
||||||
|
v := "1.2.3"
|
||||||
|
c := "brainrot"
|
||||||
|
d := "now"
|
||||||
|
|
||||||
|
Version = v
|
||||||
|
Commit = c
|
||||||
|
BuildDate = d
|
||||||
|
|
||||||
|
expected := fmt.Sprintf("tunnel_pls %s (commit: %s, built: %s)", v, c, d)
|
||||||
|
if GetVersion() != expected {
|
||||||
|
t.Errorf("GetVersion() formatting mismatch")
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user