mirror of https://github.com/kubernetes/kops.git
Add unit test case for pkg/apis/kops/util/versions_test.go
Signed-off-by: ZouYu <zouy.fnst@cn.fujitsu.com>
This commit is contained in:
parent
8a6e13698c
commit
956f07188f
|
|
@ -23,6 +23,7 @@ go_test(
|
||||||
],
|
],
|
||||||
embed = [":go_default_library"],
|
embed = [":go_default_library"],
|
||||||
deps = [
|
deps = [
|
||||||
|
"//vendor/github.com/blang/semver:go_default_library",
|
||||||
"//vendor/k8s.io/api/core/v1:go_default_library",
|
"//vendor/k8s.io/api/core/v1:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -17,26 +17,79 @@ limitations under the License.
|
||||||
package util
|
package util
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/blang/semver"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Test_ParseKubernetesVersion(t *testing.T) {
|
func Test_ParseKubernetesVersion(t *testing.T) {
|
||||||
grid := map[string]string{
|
cases := []struct {
|
||||||
"1.3.7": "1.3.7",
|
version string
|
||||||
"v1.4.0-beta.8": "1.4.0-beta.8",
|
expected *semver.Version
|
||||||
"1.5.0": "1.5.0",
|
expectedError error
|
||||||
"https://storage.googleapis.com/kubernetes-release-dev/ci/v1.4.0-alpha.2.677+ea69570f61af8e/": "1.4.0",
|
}{
|
||||||
|
{
|
||||||
|
version: "1.3.7",
|
||||||
|
expected: &semver.Version{
|
||||||
|
Major: 1,
|
||||||
|
Minor: 3,
|
||||||
|
Patch: 7,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
version: "v1.4.0-beta.8",
|
||||||
|
expected: &semver.Version{
|
||||||
|
Major: 1,
|
||||||
|
Minor: 4,
|
||||||
|
Patch: 0,
|
||||||
|
Pre: []semver.PRVersion{
|
||||||
|
{
|
||||||
|
VersionStr: "beta",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
VersionNum: 8,
|
||||||
|
IsNum: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
version: "1.5.0",
|
||||||
|
expected: &semver.Version{
|
||||||
|
Major: 1,
|
||||||
|
Minor: 5,
|
||||||
|
Patch: 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
version: "https://storage.googleapis.com/kubernetes-release-dev/ci/v1.4.0-alpha.2.677+ea69570f61af8e/",
|
||||||
|
expected: &semver.Version{
|
||||||
|
Major: 1,
|
||||||
|
Minor: 4,
|
||||||
|
Patch: 0,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
version: "",
|
||||||
|
expectedError: fmt.Errorf("unable to parse kubernetes version \"\""),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
version: "abc",
|
||||||
|
expectedError: fmt.Errorf("unable to parse kubernetes version \"abc\""),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for version, expected := range grid {
|
for _, c := range cases {
|
||||||
sv, err := ParseKubernetesVersion(version)
|
t.Run(c.version, func(t *testing.T) {
|
||||||
if err != nil {
|
actual, err := ParseKubernetesVersion(c.version)
|
||||||
t.Errorf("ParseKubernetesVersion error parsing %q: %v", version, err)
|
if !reflect.DeepEqual(err, c.expectedError) {
|
||||||
}
|
t.Errorf("ParseKubernetesVersion error parsing %q: %v", c.version, err)
|
||||||
|
}
|
||||||
actual := sv.String()
|
if !reflect.DeepEqual(actual, c.expected) {
|
||||||
if actual != expected {
|
t.Errorf("version mismatch: %q -> %q but expected %q", c.version, actual, c.expected)
|
||||||
t.Errorf("version mismatch: %q -> %q but expected %q", version, actual, expected)
|
}
|
||||||
}
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue