add unit tests for func DownloadURL(..)

pull/11024/head
Ilya Zuyev 2021-04-08 11:37:49 -07:00
parent b2aa1e56aa
commit 1d1d9f2c53
1 changed files with 30 additions and 0 deletions

View File

@ -235,3 +235,33 @@ func TestMaybePrintUpdateText(t *testing.T) {
})
}
}
func TestDownloadURL(t *testing.T) {
const urlBase = "https://github.com/kubernetes/minikube/releases/download/"
type args struct {
ver string
os string
arch string
}
tests := []struct {
name string
args args
want string
}{
{"linux-amd64", args{"foo", "linux", "amd64"}, urlBase + "foo/minikube-linux-amd64"},
{"linux-arm64", args{"foo", "linux", "arm64"}, urlBase + "foo/minikube-linux-arm64"},
{"darwin-amd64", args{"foo", "darwin", "amd64"}, urlBase + "foo/minikube-darwin-amd64"},
{"darwin-arm64", args{"foo", "darwin", "arm64"}, urlBase + "foo/minikube-darwin-arm64"},
{"windows", args{"foo", "windows", "amd64"}, urlBase + "foo/minikube-windows-amd64.exe"},
{"linux-unset", args{"foo-unset", "linux", "amd64"}, "https://github.com/kubernetes/minikube/releases"},
{"linux-unset", args{"foo-unset", "windows", "arm64"}, "https://github.com/kubernetes/minikube/releases"},
{"windows-zzz", args{"bar", "windows", "zzz"}, urlBase + "bar/minikube-windows-zzz.exe"},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := DownloadURL(tt.args.ver, tt.args.os, tt.args.arch); got != tt.want {
t.Errorf("DownloadURL() = %v, want %v", got, tt.want)
}
})
}
}