add prune and remove unused packages
This commit is contained in:
8
vendor/k8s.io/code-generator/cmd/client-gen/OWNERS
generated
vendored
8
vendor/k8s.io/code-generator/cmd/client-gen/OWNERS
generated
vendored
@@ -1,8 +0,0 @@
|
||||
approvers:
|
||||
- lavalamp
|
||||
- wojtek-t
|
||||
- caesarxuchao
|
||||
reviewers:
|
||||
- lavalamp
|
||||
- wojtek-t
|
||||
- caesarxuchao
|
4
vendor/k8s.io/code-generator/cmd/client-gen/README.md
generated
vendored
4
vendor/k8s.io/code-generator/cmd/client-gen/README.md
generated
vendored
@@ -1,4 +0,0 @@
|
||||
See [generating-clientset.md](https://git.k8s.io/community/contributors/devel/generating-clientset.md)
|
||||
|
||||
|
||||
[]()
|
116
vendor/k8s.io/code-generator/cmd/client-gen/args/gvpackages_test.go
generated
vendored
116
vendor/k8s.io/code-generator/cmd/client-gen/args/gvpackages_test.go
generated
vendored
@@ -1,116 +0,0 @@
|
||||
/*
|
||||
Copyright 2017 The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package args
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/code-generator/cmd/client-gen/types"
|
||||
)
|
||||
|
||||
func TestGVPackageFlag(t *testing.T) {
|
||||
tests := []struct {
|
||||
args []string
|
||||
def []string
|
||||
importBasePath string
|
||||
expected map[types.GroupVersion]string
|
||||
expectedGroups []types.GroupVersions
|
||||
parseError string
|
||||
}{
|
||||
{
|
||||
args: []string{},
|
||||
expected: map[types.GroupVersion]string{},
|
||||
expectedGroups: []types.GroupVersions{},
|
||||
},
|
||||
{
|
||||
args: []string{"foo/bar/v1", "foo/bar/v2", "foo/bar/", "foo/v1"},
|
||||
expectedGroups: []types.GroupVersions{
|
||||
{PackageName: "bar", Group: types.Group("bar"), Versions: []types.PackageVersion{
|
||||
{Version: "v1", Package: "foo/bar/v1"},
|
||||
{Version: "v2", Package: "foo/bar/v2"},
|
||||
{Version: "", Package: "foo/bar"},
|
||||
}},
|
||||
{PackageName: "foo", Group: types.Group("foo"), Versions: []types.PackageVersion{
|
||||
{Version: "v1", Package: "foo/v1"},
|
||||
}},
|
||||
},
|
||||
},
|
||||
{
|
||||
args: []string{"foo/bar/v1", "foo/bar/v2", "foo/bar/", "foo/v1"},
|
||||
def: []string{"foo/bar/v1alpha1", "foo/v1"},
|
||||
expectedGroups: []types.GroupVersions{
|
||||
{PackageName: "bar", Group: types.Group("bar"), Versions: []types.PackageVersion{
|
||||
{Version: "v1", Package: "foo/bar/v1"},
|
||||
{Version: "v2", Package: "foo/bar/v2"},
|
||||
{Version: "", Package: "foo/bar"},
|
||||
}},
|
||||
{PackageName: "foo", Group: types.Group("foo"), Versions: []types.PackageVersion{
|
||||
{Version: "v1", Package: "foo/v1"},
|
||||
}},
|
||||
},
|
||||
},
|
||||
{
|
||||
args: []string{"api/v1", "api"},
|
||||
expectedGroups: []types.GroupVersions{
|
||||
{PackageName: "core", Group: types.Group("api"), Versions: []types.PackageVersion{
|
||||
{Version: "v1", Package: "core/v1"},
|
||||
{Version: "", Package: "core"},
|
||||
}},
|
||||
},
|
||||
},
|
||||
{
|
||||
args: []string{"foo/v1"},
|
||||
importBasePath: "k8s.io/api",
|
||||
expectedGroups: []types.GroupVersions{
|
||||
{PackageName: "foo", Group: types.Group("foo"), Versions: []types.PackageVersion{
|
||||
{Version: "v1", Package: "k8s.io/api/foo/v1"},
|
||||
}},
|
||||
},
|
||||
},
|
||||
}
|
||||
for i, test := range tests {
|
||||
fs := pflag.NewFlagSet("testGVPackage", pflag.ContinueOnError)
|
||||
groups := []types.GroupVersions{}
|
||||
builder := NewGroupVersionsBuilder(&groups)
|
||||
fs.Var(NewGVPackagesValue(builder, test.def), "input", "usage")
|
||||
fs.Var(NewInputBasePathValue(builder, test.importBasePath), "input-base-path", "usage")
|
||||
|
||||
args := []string{}
|
||||
for _, a := range test.args {
|
||||
args = append(args, fmt.Sprintf("--input=%s", a))
|
||||
}
|
||||
|
||||
err := fs.Parse(args)
|
||||
if test.parseError != "" {
|
||||
if err == nil {
|
||||
t.Errorf("%d: expected error %q, got nil", i, test.parseError)
|
||||
} else if !strings.Contains(err.Error(), test.parseError) {
|
||||
t.Errorf("%d: expected error %q, got %q", i, test.parseError, err)
|
||||
}
|
||||
} else if err != nil {
|
||||
t.Errorf("%d: expected nil error, got %v", i, err)
|
||||
}
|
||||
if !reflect.DeepEqual(groups, test.expectedGroups) {
|
||||
t.Errorf("%d: expected groups %+v, got groups %+v", i, test.expectedGroups, groups)
|
||||
}
|
||||
}
|
||||
}
|
148
vendor/k8s.io/code-generator/cmd/client-gen/generators/util/tags_test.go
generated
vendored
148
vendor/k8s.io/code-generator/cmd/client-gen/generators/util/tags_test.go
generated
vendored
@@ -1,148 +0,0 @@
|
||||
/*
|
||||
Copyright 2016 The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package util
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestParseTags(t *testing.T) {
|
||||
testCases := map[string]struct {
|
||||
lines []string
|
||||
expectTags Tags
|
||||
expectError bool
|
||||
}{
|
||||
"genclient": {
|
||||
lines: []string{`+genclient`},
|
||||
expectTags: Tags{GenerateClient: true},
|
||||
},
|
||||
"genclient=true": {
|
||||
lines: []string{`+genclient=true`},
|
||||
expectError: true,
|
||||
},
|
||||
"nonNamespaced=true": {
|
||||
lines: []string{`+genclient=true`, `+nonNamespaced=true`},
|
||||
expectError: true,
|
||||
},
|
||||
"readonly=true": {
|
||||
lines: []string{`+genclient=true`, `+readonly=true`},
|
||||
expectError: true,
|
||||
},
|
||||
"genclient:nonNamespaced": {
|
||||
lines: []string{`+genclient`, `+genclient:nonNamespaced`},
|
||||
expectTags: Tags{GenerateClient: true, NonNamespaced: true},
|
||||
},
|
||||
"genclient:noVerbs": {
|
||||
lines: []string{`+genclient`, `+genclient:noVerbs`},
|
||||
expectTags: Tags{GenerateClient: true, NoVerbs: true},
|
||||
},
|
||||
"genclient:noStatus": {
|
||||
lines: []string{`+genclient`, `+genclient:noStatus`},
|
||||
expectTags: Tags{GenerateClient: true, NoStatus: true},
|
||||
},
|
||||
"genclient:onlyVerbs": {
|
||||
lines: []string{`+genclient`, `+genclient:onlyVerbs=create,delete`},
|
||||
expectTags: Tags{GenerateClient: true, SkipVerbs: []string{"update", "updateStatus", "deleteCollection", "get", "list", "watch", "patch"}},
|
||||
},
|
||||
"genclient:readonly": {
|
||||
lines: []string{`+genclient`, `+genclient:readonly`},
|
||||
expectTags: Tags{GenerateClient: true, SkipVerbs: []string{"create", "update", "updateStatus", "delete", "deleteCollection", "patch"}},
|
||||
},
|
||||
"genclient:conflict": {
|
||||
lines: []string{`+genclient`, `+genclient:onlyVerbs=create`, `+genclient:skipVerbs=create`},
|
||||
expectError: true,
|
||||
},
|
||||
"genclient:invalid": {
|
||||
lines: []string{`+genclient`, `+genclient:invalid`},
|
||||
expectError: true,
|
||||
},
|
||||
}
|
||||
for key, c := range testCases {
|
||||
result, err := ParseClientGenTags(c.lines)
|
||||
if err != nil && !c.expectError {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
if !c.expectError && !reflect.DeepEqual(result, c.expectTags) {
|
||||
t.Errorf("[%s] expected %#v to be %#v", key, result, c.expectTags)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseTagsExtension(t *testing.T) {
|
||||
testCases := map[string]struct {
|
||||
lines []string
|
||||
expectedExtensions []extension
|
||||
expectError bool
|
||||
}{
|
||||
"simplest extension": {
|
||||
lines: []string{`+genclient:method=Foo,verb=create`},
|
||||
expectedExtensions: []extension{{VerbName: "Foo", VerbType: "create"}},
|
||||
},
|
||||
"multiple extensions": {
|
||||
lines: []string{`+genclient:method=Foo,verb=create`, `+genclient:method=Bar,verb=get`},
|
||||
expectedExtensions: []extension{{VerbName: "Foo", VerbType: "create"}, {VerbName: "Bar", VerbType: "get"}},
|
||||
},
|
||||
"extension without verb": {
|
||||
lines: []string{`+genclient:method`},
|
||||
expectError: true,
|
||||
},
|
||||
"extension without verb type": {
|
||||
lines: []string{`+genclient:method=Foo`},
|
||||
expectError: true,
|
||||
},
|
||||
"sub-resource extension": {
|
||||
lines: []string{`+genclient:method=Foo,verb=create,subresource=bar`},
|
||||
expectedExtensions: []extension{{VerbName: "Foo", VerbType: "create", SubResourcePath: "bar"}},
|
||||
},
|
||||
"output type extension": {
|
||||
lines: []string{`+genclient:method=Foos,verb=list,result=Bars`},
|
||||
expectedExtensions: []extension{{VerbName: "Foos", VerbType: "list", ResultTypeOverride: "Bars"}},
|
||||
},
|
||||
"input type extension": {
|
||||
lines: []string{`+genclient:method=Foo,verb=update,input=Bar`},
|
||||
expectedExtensions: []extension{{VerbName: "Foo", VerbType: "update", InputTypeOverride: "Bar"}},
|
||||
},
|
||||
"unknown verb type extension": {
|
||||
lines: []string{`+genclient:method=Foo,verb=explode`},
|
||||
expectedExtensions: nil,
|
||||
expectError: true,
|
||||
},
|
||||
"invalid verb extension": {
|
||||
lines: []string{`+genclient:method=Foo,unknown=bar`},
|
||||
expectedExtensions: nil,
|
||||
expectError: true,
|
||||
},
|
||||
"empty verb extension subresource": {
|
||||
lines: []string{`+genclient:method=Foo,verb=get,subresource=`},
|
||||
expectedExtensions: nil,
|
||||
expectError: true,
|
||||
},
|
||||
}
|
||||
for key, c := range testCases {
|
||||
result, err := ParseClientGenTags(c.lines)
|
||||
if err != nil && !c.expectError {
|
||||
t.Fatalf("[%s] unexpected error: %v", key, err)
|
||||
}
|
||||
if err != nil && c.expectError {
|
||||
t.Logf("[%s] got expected error: %+v", key, err)
|
||||
}
|
||||
if !c.expectError && !reflect.DeepEqual(result.Extensions, c.expectedExtensions) {
|
||||
t.Errorf("[%s] expected %#+v to be %#+v", key, result.Extensions, c.expectedExtensions)
|
||||
}
|
||||
}
|
||||
}
|
32
vendor/k8s.io/code-generator/cmd/client-gen/types/helpers_test.go
generated
vendored
32
vendor/k8s.io/code-generator/cmd/client-gen/types/helpers_test.go
generated
vendored
@@ -1,32 +0,0 @@
|
||||
/*
|
||||
Copyright 2016 The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package types
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"sort"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestVersionSort(t *testing.T) {
|
||||
unsortedVersions := []string{"v4beta1", "v2beta1", "v2alpha1", "v3", "v1"}
|
||||
expected := []string{"v2alpha1", "v2beta1", "v4beta1", "v1", "v3"}
|
||||
sort.Sort(sortableSliceOfVersions(unsortedVersions))
|
||||
if !reflect.DeepEqual(unsortedVersions, expected) {
|
||||
t.Errorf("expected %#v\ngot %#v", expected, unsortedVersions)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user