mirror of
https://github.com/kubernetes/sample-controller.git
synced 2025-01-22 01:42:52 +08:00
83669b2316
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. feat(fakeclient): push event on watched channel on add/update/delete **What this PR does / why we need it**: This PR enables watch function for kubernetes [fakeclient](1bcf0b0a22/staging/src/k8s.io/client-go/kubernetes/fake/clientset_generated.go (L88)
). This fake client add watchReactorFunction by wrapping [watch.NewFake](1bcf0b0a22/staging/src/k8s.io/client-go/kubernetes/fake/clientset_generated.go (L98)
) which is a `chan Event` but actually nothing pushes objects into this channel. So all watch function called by fake client will never return or never receive any object. This PR intercepts ReactionFunc of `Create / Update / DeleteActionImpl` and will push the requested object to channel. Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged): Fixes #54075 **Special notes for your reviewer**: **Release note**: ```dev-release-note enable watch function for fake client ``` Kubernetes-commit: 268555a30a0f028762854f5b0d3ebb587e2ee4ee
62 lines
2.0 KiB
Python
62 lines
2.0 KiB
Python
package(default_visibility = ["//visibility:public"])
|
|
|
|
load(
|
|
"@io_bazel_rules_go//go:def.bzl",
|
|
"go_library",
|
|
"go_test",
|
|
)
|
|
|
|
go_library(
|
|
name = "go_default_library",
|
|
srcs = [
|
|
"actions.go",
|
|
"fake.go",
|
|
"fixture.go",
|
|
],
|
|
importpath = "k8s.io/client-go/testing",
|
|
deps = [
|
|
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/fields:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/version:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
|
|
"//vendor/k8s.io/client-go/pkg/version:go_default_library",
|
|
"//vendor/k8s.io/client-go/rest:go_default_library",
|
|
],
|
|
)
|
|
|
|
go_test(
|
|
name = "go_default_test",
|
|
srcs = [
|
|
"fixture_test.go",
|
|
],
|
|
embed = [":go_default_library"],
|
|
importpath = "k8s.io/client-go/testing",
|
|
deps = [
|
|
"//vendor/github.com/stretchr/testify/assert:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
|
|
],
|
|
)
|
|
|
|
filegroup(
|
|
name = "package-srcs",
|
|
srcs = glob(["**"]),
|
|
tags = ["automanaged"],
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "all-srcs",
|
|
srcs = [":package-srcs"],
|
|
tags = ["automanaged"],
|
|
)
|