Merge pull request #436 from aaron-prindle/getlocalkubedownload-tests

Added tests for GetLocalkubeDownloadURL
pull/398/merge
dlorenc 2016-08-03 15:26:05 -07:00 committed by GitHub
commit a78a75c013
2 changed files with 36 additions and 1 deletions

View File

@ -24,7 +24,9 @@ import (
"strings"
"time"
"github.com/blang/semver"
"k8s.io/minikube/pkg/minikube/constants"
"k8s.io/minikube/pkg/version"
)
// Until endlessly loops the provided function until a message is received on the done channel.
@ -95,5 +97,8 @@ func GetLocalkubeDownloadURL(versionOrURL string, filename string) (string, erro
// no 'v' prefix in input, need to prepend it to version
versionOrURL = "v" + versionOrURL
}
if _, err = semver.Make(strings.TrimPrefix(versionOrURL, version.VersionPrefix)); err != nil {
return "", err
}
return fmt.Sprintf("%s%s/%s", constants.LocalkubeDownloadURLPrefix, versionOrURL, filename), nil
}

View File

@ -19,6 +19,8 @@ package util
import (
"fmt"
"testing"
"k8s.io/minikube/pkg/minikube/constants"
)
// Returns a function that will return n errors, then return successfully forever.
@ -57,5 +59,33 @@ func TestRetry(t *testing.T) {
if err := Retry(4, f); err == nil {
t.Fatalf("Error should have been raised by retry.")
}
}
type getLocalkubeArgs struct {
input string
expected string
expectedError bool
}
func TestGetLocalkubeDownloadURL(t *testing.T) {
argsList := [...]getLocalkubeArgs{
{"v1.3.0",
"https://storage.googleapis.com/minikube/k8sReleases/v1.3.0/localkube-linux-amd64", false},
{"v1.3.3",
"https://storage.googleapis.com/minikube/k8sReleases/v1.3.3/localkube-linux-amd64", false},
{"http://www.example.com/my-localkube", "http://www.example.com/my-localkube", false},
{"abc", "", true},
{"1.2.3.4", "", true},
}
for _, args := range argsList {
url, err := GetLocalkubeDownloadURL(args.input, constants.LocalkubeLinuxFilename)
wasError := err != nil
if wasError != args.expectedError {
t.Errorf("GetLocalkubeDownloadURL Expected error was: %t, Actual Error was: %s",
args.expectedError, err)
}
if url != args.expected {
t.Errorf("GetLocalkubeDownloadURL: Expected %s, Actual: %s", args.expected, url)
}
}
}