diff --git a/pkg/minikube/notify/notify_test.go b/pkg/minikube/notify/notify_test.go index 85a135ca2a..a96f121e69 100644 --- a/pkg/minikube/notify/notify_test.go +++ b/pkg/minikube/notify/notify_test.go @@ -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) + } + }) + } +}