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"],
|
||||
deps = [
|
||||
"//vendor/github.com/blang/semver:go_default_library",
|
||||
"//vendor/k8s.io/api/core/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
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/blang/semver"
|
||||
)
|
||||
|
||||
func Test_ParseKubernetesVersion(t *testing.T) {
|
||||
grid := map[string]string{
|
||||
"1.3.7": "1.3.7",
|
||||
"v1.4.0-beta.8": "1.4.0-beta.8",
|
||||
"1.5.0": "1.5.0",
|
||||
"https://storage.googleapis.com/kubernetes-release-dev/ci/v1.4.0-alpha.2.677+ea69570f61af8e/": "1.4.0",
|
||||
cases := []struct {
|
||||
version string
|
||||
expected *semver.Version
|
||||
expectedError error
|
||||
}{
|
||||
{
|
||||
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 {
|
||||
sv, err := ParseKubernetesVersion(version)
|
||||
if err != nil {
|
||||
t.Errorf("ParseKubernetesVersion error parsing %q: %v", version, err)
|
||||
}
|
||||
|
||||
actual := sv.String()
|
||||
if actual != expected {
|
||||
t.Errorf("version mismatch: %q -> %q but expected %q", version, actual, expected)
|
||||
}
|
||||
for _, c := range cases {
|
||||
t.Run(c.version, func(t *testing.T) {
|
||||
actual, err := ParseKubernetesVersion(c.version)
|
||||
if !reflect.DeepEqual(err, c.expectedError) {
|
||||
t.Errorf("ParseKubernetesVersion error parsing %q: %v", c.version, err)
|
||||
}
|
||||
if !reflect.DeepEqual(actual, c.expected) {
|
||||
t.Errorf("version mismatch: %q -> %q but expected %q", c.version, actual, c.expected)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue