mirror of
https://github.com/kubernetes/client-go.git
synced 2025-08-17 06:46:40 +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
|
||||
gopkg.in/evanphx/json-patch.v4 v4.12.0
|
||||
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/kube-openapi v0.0.0-20240228011516-70dd3763d340
|
||||
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=
|
||||
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/apimachinery v0.0.0-20240626061445-a05248b07a6e h1:DBEwrTm4pQoqxKDZM1fY9oZ4ncSkHlmnKDFbu/icsHE=
|
||||
k8s.io/apimachinery v0.0.0-20240626061445-a05248b07a6e/go.mod h1:WJc1RfanAukQew7I55uKC34w5zx50UFDD5qo/JD4dNE=
|
||||
k8s.io/apimachinery v0.0.0-20240626061446-c225984b7bed h1:uJ7kyuzfVNEOMtzKLgbR4aUBZ1a++mNQPgBOeNii610=
|
||||
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/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
|
||||
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag=
|
||||
|
@ -17,13 +17,10 @@ limitations under the License.
|
||||
package testing
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sigs.k8s.io/structured-merge-diff/v4/typed"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"testing"
|
||||
|
||||
@ -40,7 +37,6 @@ import (
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
"k8s.io/apimachinery/pkg/util/managedfields"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
"k8s.io/kube-openapi/pkg/validation/spec"
|
||||
"k8s.io/utils/ptr"
|
||||
)
|
||||
|
||||
@ -289,7 +285,7 @@ func TestApplyCreate(t *testing.T) {
|
||||
scheme := runtime.NewScheme()
|
||||
scheme.AddKnownTypes(cmResource.GroupVersion(), &v1.ConfigMap{})
|
||||
codecs := serializer.NewCodecFactory(scheme)
|
||||
o := NewFieldManagedObjectTracker(scheme, codecs.UniversalDecoder(), fakeTypeConverter)
|
||||
o := NewFieldManagedObjectTracker(scheme, codecs.UniversalDecoder(), configMapTypeConverter(scheme))
|
||||
|
||||
reaction := ObjectReaction(o)
|
||||
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.AddKnownTypes(cmResource.GroupVersion(), &v1.ConfigMap{})
|
||||
codecs := serializer.NewCodecFactory(scheme)
|
||||
o := NewFieldManagedObjectTracker(scheme, codecs.UniversalDecoder(), fakeTypeConverter)
|
||||
o := NewFieldManagedObjectTracker(scheme, codecs.UniversalDecoder(), configMapTypeConverter(scheme))
|
||||
|
||||
reaction := ObjectReaction(o)
|
||||
action := NewCreateAction(cmResource, "default", &v1.ConfigMap{
|
||||
@ -549,24 +545,98 @@ func Test_resourceCovers(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
var fakeTypeConverter = func() managedfields.TypeConverter {
|
||||
data, err := os.ReadFile(filepath.Join(strings.Repeat(".."+string(filepath.Separator), 5),
|
||||
"api", "openapi-spec", "swagger.json"))
|
||||
func configMapTypeConverter(scheme *runtime.Scheme) managedfields.TypeConverter {
|
||||
parser, err := typed.NewParser(configMapTypedSchema)
|
||||
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 {
|
||||
panic(err)
|
||||
|
||||
return TypeConverter{Scheme: scheme, TypeResolver: parser}
|
||||
}
|
||||
convertedDefs := map[string]*spec.Schema{}
|
||||
for k, v := range swag.Definitions {
|
||||
vCopy := v
|
||||
convertedDefs[k] = &vCopy
|
||||
}
|
||||
typeConverter, err := managedfields.NewTypeConverter(convertedDefs, false)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return typeConverter
|
||||
}()
|
||||
|
||||
var configMapTypedSchema = typed.YAMLObject(`types:
|
||||
- name: io.k8s.api.core.v1.ConfigMap
|
||||
map:
|
||||
fields:
|
||||
- name: apiVersion
|
||||
type:
|
||||
scalar: string
|
||||
- name: data
|
||||
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