mirror of
https://github.com/kubernetes/client-go.git
synced 2025-08-17 14:56:31 +00:00
Merge pull request #125706 from jpbetz/fix-fixture-test
Remove test dependency on swagger.json to fix client-go tests Kubernetes-commit: 10e3ec8975735b4f6c5c7d09ec8041e71be26313
This commit is contained in:
commit
4e7651c220
2
go.mod
2
go.mod
@ -26,7 +26,7 @@ require (
|
|||||||
google.golang.org/protobuf v1.34.1
|
google.golang.org/protobuf v1.34.1
|
||||||
gopkg.in/evanphx/json-patch.v4 v4.12.0
|
gopkg.in/evanphx/json-patch.v4 v4.12.0
|
||||||
k8s.io/api v0.0.0-20240626062052-149781fc54f5
|
k8s.io/api v0.0.0-20240626062052-149781fc54f5
|
||||||
k8s.io/apimachinery v0.0.0-20240626061445-a05248b07a6e
|
k8s.io/apimachinery v0.0.0-20240626061446-c225984b7bed
|
||||||
k8s.io/klog/v2 v2.130.1
|
k8s.io/klog/v2 v2.130.1
|
||||||
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340
|
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
||||||
|
4
go.sum
4
go.sum
@ -159,8 +159,8 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
|||||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
k8s.io/api v0.0.0-20240626062052-149781fc54f5 h1:yqS/8fRAivOgCF1sgfIwxp1A/S2VrPpudN0V3RfHj6M=
|
k8s.io/api v0.0.0-20240626062052-149781fc54f5 h1:yqS/8fRAivOgCF1sgfIwxp1A/S2VrPpudN0V3RfHj6M=
|
||||||
k8s.io/api v0.0.0-20240626062052-149781fc54f5/go.mod h1:WzXtjaoUCXrzbvJtK/lCWCih7nCdOFqgkgptCo1OH/w=
|
k8s.io/api v0.0.0-20240626062052-149781fc54f5/go.mod h1:WzXtjaoUCXrzbvJtK/lCWCih7nCdOFqgkgptCo1OH/w=
|
||||||
k8s.io/apimachinery v0.0.0-20240626061445-a05248b07a6e h1:DBEwrTm4pQoqxKDZM1fY9oZ4ncSkHlmnKDFbu/icsHE=
|
k8s.io/apimachinery v0.0.0-20240626061446-c225984b7bed h1:uJ7kyuzfVNEOMtzKLgbR4aUBZ1a++mNQPgBOeNii610=
|
||||||
k8s.io/apimachinery v0.0.0-20240626061445-a05248b07a6e/go.mod h1:WJc1RfanAukQew7I55uKC34w5zx50UFDD5qo/JD4dNE=
|
k8s.io/apimachinery v0.0.0-20240626061446-c225984b7bed/go.mod h1:WJc1RfanAukQew7I55uKC34w5zx50UFDD5qo/JD4dNE=
|
||||||
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
|
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
|
||||||
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
|
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
|
||||||
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag=
|
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag=
|
||||||
|
@ -17,13 +17,10 @@ limitations under the License.
|
|||||||
package testing
|
package testing
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"os"
|
"sigs.k8s.io/structured-merge-diff/v4/typed"
|
||||||
"path/filepath"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
|
||||||
"sync"
|
"sync"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
@ -40,7 +37,6 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/util/managedfields"
|
"k8s.io/apimachinery/pkg/util/managedfields"
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
"k8s.io/kube-openapi/pkg/validation/spec"
|
|
||||||
"k8s.io/utils/ptr"
|
"k8s.io/utils/ptr"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -289,7 +285,7 @@ func TestApplyCreate(t *testing.T) {
|
|||||||
scheme := runtime.NewScheme()
|
scheme := runtime.NewScheme()
|
||||||
scheme.AddKnownTypes(cmResource.GroupVersion(), &v1.ConfigMap{})
|
scheme.AddKnownTypes(cmResource.GroupVersion(), &v1.ConfigMap{})
|
||||||
codecs := serializer.NewCodecFactory(scheme)
|
codecs := serializer.NewCodecFactory(scheme)
|
||||||
o := NewFieldManagedObjectTracker(scheme, codecs.UniversalDecoder(), fakeTypeConverter)
|
o := NewFieldManagedObjectTracker(scheme, codecs.UniversalDecoder(), configMapTypeConverter(scheme))
|
||||||
|
|
||||||
reaction := ObjectReaction(o)
|
reaction := ObjectReaction(o)
|
||||||
patch := []byte(`{"apiVersion": "v1", "kind": "ConfigMap", "metadata": {"name": "cm-1"}, "data": {"k": "v"}}`)
|
patch := []byte(`{"apiVersion": "v1", "kind": "ConfigMap", "metadata": {"name": "cm-1"}, "data": {"k": "v"}}`)
|
||||||
@ -309,7 +305,7 @@ func TestApplyUpdateMultipleFieldManagers(t *testing.T) {
|
|||||||
scheme := runtime.NewScheme()
|
scheme := runtime.NewScheme()
|
||||||
scheme.AddKnownTypes(cmResource.GroupVersion(), &v1.ConfigMap{})
|
scheme.AddKnownTypes(cmResource.GroupVersion(), &v1.ConfigMap{})
|
||||||
codecs := serializer.NewCodecFactory(scheme)
|
codecs := serializer.NewCodecFactory(scheme)
|
||||||
o := NewFieldManagedObjectTracker(scheme, codecs.UniversalDecoder(), fakeTypeConverter)
|
o := NewFieldManagedObjectTracker(scheme, codecs.UniversalDecoder(), configMapTypeConverter(scheme))
|
||||||
|
|
||||||
reaction := ObjectReaction(o)
|
reaction := ObjectReaction(o)
|
||||||
action := NewCreateAction(cmResource, "default", &v1.ConfigMap{
|
action := NewCreateAction(cmResource, "default", &v1.ConfigMap{
|
||||||
@ -549,24 +545,98 @@ func Test_resourceCovers(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var fakeTypeConverter = func() managedfields.TypeConverter {
|
func configMapTypeConverter(scheme *runtime.Scheme) managedfields.TypeConverter {
|
||||||
data, err := os.ReadFile(filepath.Join(strings.Repeat(".."+string(filepath.Separator), 5),
|
parser, err := typed.NewParser(configMapTypedSchema)
|
||||||
"api", "openapi-spec", "swagger.json"))
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(fmt.Sprintf("Failed to parse schema: %v", err))
|
||||||
}
|
}
|
||||||
swag := spec.Swagger{}
|
|
||||||
if err := json.Unmarshal(data, &swag); err != nil {
|
return TypeConverter{Scheme: scheme, TypeResolver: parser}
|
||||||
panic(err)
|
|
||||||
}
|
}
|
||||||
convertedDefs := map[string]*spec.Schema{}
|
|
||||||
for k, v := range swag.Definitions {
|
var configMapTypedSchema = typed.YAMLObject(`types:
|
||||||
vCopy := v
|
- name: io.k8s.api.core.v1.ConfigMap
|
||||||
convertedDefs[k] = &vCopy
|
map:
|
||||||
}
|
fields:
|
||||||
typeConverter, err := managedfields.NewTypeConverter(convertedDefs, false)
|
- name: apiVersion
|
||||||
if err != nil {
|
type:
|
||||||
panic(err)
|
scalar: string
|
||||||
}
|
- name: data
|
||||||
return typeConverter
|
type:
|
||||||
}()
|
map:
|
||||||
|
elementType:
|
||||||
|
scalar: string
|
||||||
|
- name: kind
|
||||||
|
type:
|
||||||
|
scalar: string
|
||||||
|
- name: metadata
|
||||||
|
type:
|
||||||
|
namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
|
||||||
|
default: {}
|
||||||
|
- name: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
|
||||||
|
map:
|
||||||
|
fields:
|
||||||
|
- name: creationTimestamp
|
||||||
|
type:
|
||||||
|
namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time
|
||||||
|
- name: managedFields
|
||||||
|
type:
|
||||||
|
list:
|
||||||
|
elementType:
|
||||||
|
namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry
|
||||||
|
elementRelationship: atomic
|
||||||
|
- name: name
|
||||||
|
type:
|
||||||
|
scalar: string
|
||||||
|
- name: namespace
|
||||||
|
type:
|
||||||
|
scalar: string
|
||||||
|
- name: io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry
|
||||||
|
map:
|
||||||
|
fields:
|
||||||
|
- name: apiVersion
|
||||||
|
type:
|
||||||
|
scalar: string
|
||||||
|
- name: fieldsType
|
||||||
|
type:
|
||||||
|
scalar: string
|
||||||
|
- name: fieldsV1
|
||||||
|
type:
|
||||||
|
namedType: io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1
|
||||||
|
- name: manager
|
||||||
|
type:
|
||||||
|
scalar: string
|
||||||
|
- name: operation
|
||||||
|
type:
|
||||||
|
scalar: string
|
||||||
|
- name: subresource
|
||||||
|
type:
|
||||||
|
scalar: string
|
||||||
|
- name: time
|
||||||
|
type:
|
||||||
|
namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time
|
||||||
|
- name: io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1
|
||||||
|
map:
|
||||||
|
elementType:
|
||||||
|
scalar: untyped
|
||||||
|
list:
|
||||||
|
elementType:
|
||||||
|
namedType: __untyped_atomic_
|
||||||
|
elementRelationship: atomic
|
||||||
|
map:
|
||||||
|
elementType:
|
||||||
|
namedType: __untyped_deduced_
|
||||||
|
elementRelationship: separable
|
||||||
|
- name: io.k8s.apimachinery.pkg.apis.meta.v1.Time
|
||||||
|
scalar: untyped
|
||||||
|
- name: __untyped_deduced_
|
||||||
|
scalar: untyped
|
||||||
|
list:
|
||||||
|
elementType:
|
||||||
|
namedType: __untyped_atomic_
|
||||||
|
elementRelationship: atomic
|
||||||
|
map:
|
||||||
|
elementType:
|
||||||
|
namedType: __untyped_deduced_
|
||||||
|
elementRelationship: separable
|
||||||
|
`)
|
||||||
|
Loading…
Reference in New Issue
Block a user