check if kubectl version required values are empty

This commit is contained in:
Sai Harsha Kottapalli 2020-10-18 14:18:49 +05:30
parent 9af86e8db8
commit 06148eda25
No known key found for this signature in database
GPG Key ID: 4A710869A1A388D5

View File

@ -1507,11 +1507,12 @@ metadata:
Description: The command 'kubectl version' MUST return the major, minor versions, GitCommit, etc of the Client and the Server that the kubectl is configured to connect to.
*/
framework.ConformanceIt("should check is all data is printed ", func() {
version := framework.RunKubectlOrDie(ns, "version")
requiredItems := []string{"Client Version:", "Server Version:", "Major:", "Minor:", "GitCommit:"}
versionString := framework.RunKubectlOrDie(ns, "version")
// we expect following values for: Major -> digit, Minor -> numeric followed by an optional '+', GitCommit -> alphanumeric
requiredItems := []string{"Client Version: ", "Server Version: "}
for _, item := range requiredItems {
if !strings.Contains(version, item) {
framework.Failf("Required item %s not found in %s", item, version)
if matched, _ := regexp.MatchString(item+`version.Info\{Major:"\d", Minor:"\d+\+?", GitVersion:"v\d\.\d+\.[\d\w\-\.\+]+", GitCommit:"[0-9a-f]+"`, versionString); !matched {
framework.Failf("Item %s value is not valid in %s\n", item, versionString)
}
}
})