remove cycle that snuck into tests

This commit is contained in:
deads2k 2017-02-17 11:10:27 -05:00
parent e65ac460eb
commit 22e10bbc29
9 changed files with 80 additions and 45 deletions

View File

@ -46,6 +46,19 @@ function print_forbidden_imports () {
echo echo
return 1 return 1
fi fi
local FORBIDDEN=$(
go list -f $'{{with $package := .ImportPath}}{{range $.TestImports}}{{$package}} imports {{.}}\n{{end}}{{end}}' ./vendor/k8s.io/${PACKAGE}/... |
sed 's|^k8s.io/kubernetes/vendor/||;s| k8s.io/kubernetes/vendor/| |' |
grep -v " k8s.io/${PACKAGE}" |
grep -e "imports \(${RE}\)"
)
if [ -n "${FORBIDDEN}" ]; then
echo "${PACKAGE} has a forbidden dependency:"
echo
echo "${FORBIDDEN}" | sed 's/^/ /'
echo
return 1
fi
return 0 return 0
} }

View File

@ -59,10 +59,30 @@ import (
"k8s.io/apiserver/pkg/endpoints/request" "k8s.io/apiserver/pkg/endpoints/request"
genericapitesting "k8s.io/apiserver/pkg/endpoints/testing" genericapitesting "k8s.io/apiserver/pkg/endpoints/testing"
"k8s.io/apiserver/pkg/registry/rest" "k8s.io/apiserver/pkg/registry/rest"
"k8s.io/kubernetes/plugin/pkg/admission/admit"
"k8s.io/kubernetes/plugin/pkg/admission/deny"
) )
// alwaysAdmit is an implementation of admission.Interface which always says yes to an admit request.
// It is useful in tests and when using kubernetes in an open manner.
type alwaysAdmit struct{}
func (alwaysAdmit) Admit(a admission.Attributes) (err error) {
return nil
}
func (alwaysAdmit) Handles(operation admission.Operation) bool {
return true
}
type alwaysDeny struct{}
func (alwaysDeny) Admit(a admission.Attributes) (err error) {
return admission.NewForbidden(a, errors.New("Admission control is denying all modifications"))
}
func (alwaysDeny) Handles(operation admission.Operation) bool {
return true
}
// This creates fake API versions, similar to api/latest.go. // This creates fake API versions, similar to api/latest.go.
var testAPIGroup = "test.group" var testAPIGroup = "test.group"
var testAPIGroup2 = "test.group2" var testAPIGroup2 = "test.group2"
@ -207,7 +227,7 @@ func init() {
mapper = nsMapper mapper = nsMapper
namespaceMapper = nsMapper namespaceMapper = nsMapper
admissionControl = admit.NewAlwaysAdmit() admissionControl = alwaysAdmit{}
requestContextMapper = request.NewRequestContextMapper() requestContextMapper = request.NewRequestContextMapper()
scheme.AddFieldLabelConversionFunc(grouplessGroupVersion.String(), "Simple", scheme.AddFieldLabelConversionFunc(grouplessGroupVersion.String(), "Simple",
@ -240,7 +260,7 @@ func handle(storage map[string]rest.Storage) http.Handler {
// tests with a deny admission controller // tests with a deny admission controller
func handleDeny(storage map[string]rest.Storage) http.Handler { func handleDeny(storage map[string]rest.Storage) http.Handler {
return handleInternal(storage, deny.NewAlwaysDeny(), selfLinker) return handleInternal(storage, alwaysDeny{}, selfLinker)
} }
// tests using the new namespace scope mechanism // tests using the new namespace scope mechanism
@ -2991,7 +3011,7 @@ func TestCreateInvokesAdmissionControl(t *testing.T) {
namespace: "other", namespace: "other",
expectedSet: "/" + prefix + "/" + testGroupVersion.Group + "/" + testGroupVersion.Version + "/namespaces/other/foo/bar", expectedSet: "/" + prefix + "/" + testGroupVersion.Group + "/" + testGroupVersion.Version + "/namespaces/other/foo/bar",
} }
handler := handleInternal(map[string]rest.Storage{"foo": &storage}, deny.NewAlwaysDeny(), selfLinker) handler := handleInternal(map[string]rest.Storage{"foo": &storage}, alwaysDeny{}, selfLinker)
server := httptest.NewServer(handler) server := httptest.NewServer(handler)
defer server.Close() defer server.Close()
client := http.Client{} client := http.Client{}

View File

@ -26,7 +26,7 @@ import (
"k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/apiserver/pkg/authorization/authorizer"
"k8s.io/apiserver/pkg/endpoints/handlers/responsewriters" "k8s.io/apiserver/pkg/endpoints/handlers/responsewriters"
"k8s.io/apiserver/pkg/endpoints/request" "k8s.io/apiserver/pkg/endpoints/request"
"k8s.io/kubernetes/pkg/apis/batch" "k8s.io/client-go/pkg/apis/batch"
) )
func TestGetAuthorizerAttributes(t *testing.T) { func TestGetAuthorizerAttributes(t *testing.T) {

View File

@ -36,9 +36,11 @@ import (
"k8s.io/apimachinery/pkg/util/strategicpatch" "k8s.io/apimachinery/pkg/util/strategicpatch"
"k8s.io/apiserver/pkg/endpoints/request" "k8s.io/apiserver/pkg/endpoints/request"
"k8s.io/apiserver/pkg/registry/rest" "k8s.io/apiserver/pkg/registry/rest"
"k8s.io/kubernetes/pkg/api" "k8s.io/client-go/pkg/api"
"k8s.io/kubernetes/pkg/api/testapi" "k8s.io/client-go/pkg/api/v1"
"k8s.io/kubernetes/pkg/api/v1"
// need to register pods
_ "k8s.io/client-go/pkg/api/install"
) )
type testPatchType struct { type testPatchType struct {
@ -182,7 +184,7 @@ func (tc *patchTestCase) Run(t *testing.T) {
namespace := tc.startingPod.Namespace namespace := tc.startingPod.Namespace
name := tc.startingPod.Name name := tc.startingPod.Name
codec := testapi.Default.Codec() codec := api.Codecs.LegacyCodec(schema.GroupVersion{Version: "v1"})
admit := tc.admit admit := tc.admit
if admit == nil { if admit == nil {
admit = func(updatedObject runtime.Object, currentObject runtime.Object) error { admit = func(updatedObject runtime.Object, currentObject runtime.Object) error {

View File

@ -22,7 +22,7 @@ import (
"k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/api/meta"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/api" "k8s.io/client-go/pkg/api"
"github.com/emicklei/go-restful" "github.com/emicklei/go-restful"
) )

View File

@ -26,7 +26,7 @@ import (
"testing" "testing"
"k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/kubernetes/pkg/api" "k8s.io/client-go/pkg/api"
) )
func TestGenericHttpResponseChecker(t *testing.T) { func TestGenericHttpResponseChecker(t *testing.T) {

View File

@ -29,12 +29,13 @@ import (
"testing" "testing"
"time" "time"
"github.com/go-openapi/spec" // "github.com/go-openapi/spec"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/apimachinery" "k8s.io/apimachinery/pkg/apimachinery"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/openapi"
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/apimachinery/pkg/runtime/serializer"
@ -48,9 +49,7 @@ import (
genericapirequest "k8s.io/apiserver/pkg/endpoints/request" genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
"k8s.io/apiserver/pkg/registry/rest" "k8s.io/apiserver/pkg/registry/rest"
etcdtesting "k8s.io/apiserver/pkg/storage/etcd/testing" etcdtesting "k8s.io/apiserver/pkg/storage/etcd/testing"
"k8s.io/client-go/pkg/api"
restclient "k8s.io/client-go/rest" restclient "k8s.io/client-go/rest"
openapigen "k8s.io/kubernetes/pkg/generated/openapi"
) )
const ( const (
@ -78,6 +77,10 @@ func init() {
examplev1.AddToScheme(scheme) examplev1.AddToScheme(scheme)
} }
func testGetOpenAPIDefinitions(ref openapi.ReferenceCallback) map[string]openapi.OpenAPIDefinition {
return map[string]openapi.OpenAPIDefinition{}
}
// setUp is a convience function for setting up for (most) tests. // setUp is a convience function for setting up for (most) tests.
func setUp(t *testing.T) (*etcdtesting.EtcdTestServer, Config, *assert.Assertions) { func setUp(t *testing.T) (*etcdtesting.EtcdTestServer, Config, *assert.Assertions) {
etcdServer, _ := etcdtesting.NewUnsecuredEtcd3TestClientServer(t, scheme) etcdServer, _ := etcdtesting.NewUnsecuredEtcd3TestClientServer(t, scheme)
@ -88,13 +91,14 @@ func setUp(t *testing.T) (*etcdtesting.EtcdTestServer, Config, *assert.Assertion
config.LegacyAPIGroupPrefixes = sets.NewString("/api") config.LegacyAPIGroupPrefixes = sets.NewString("/api")
config.LoopbackClientConfig = &restclient.Config{} config.LoopbackClientConfig = &restclient.Config{}
config.OpenAPIConfig = DefaultOpenAPIConfig(openapigen.GetOpenAPIDefinitions, api.Scheme) // TODO restore this test, but right now, eliminate our cycle
config.OpenAPIConfig.Info = &spec.Info{ // config.OpenAPIConfig = DefaultOpenAPIConfig(testGetOpenAPIDefinitions, runtime.NewScheme())
InfoProps: spec.InfoProps{ // config.OpenAPIConfig.Info = &spec.Info{
Title: "Kubernetes", // InfoProps: spec.InfoProps{
Version: "unversioned", // Title: "Kubernetes",
}, // Version: "unversioned",
} // },
// }
config.SwaggerConfig = DefaultSwaggerConfig() config.SwaggerConfig = DefaultSwaggerConfig()
return etcdServer, *config, assert.New(t) return etcdServer, *config, assert.New(t)
@ -297,7 +301,7 @@ func TestPrepareRun(t *testing.T) {
defer etcdserver.Terminate(t) defer etcdserver.Terminate(t)
assert.NotNil(config.SwaggerConfig) assert.NotNil(config.SwaggerConfig)
assert.NotNil(config.OpenAPIConfig) // assert.NotNil(config.OpenAPIConfig)
server := httptest.NewServer(s.HandlerContainer.ServeMux) server := httptest.NewServer(s.HandlerContainer.ServeMux)
defer server.Close() defer server.Close()
@ -305,12 +309,12 @@ func TestPrepareRun(t *testing.T) {
s.PrepareRun() s.PrepareRun()
// openapi is installed in PrepareRun // openapi is installed in PrepareRun
resp, err := http.Get(server.URL + "/swagger.json") // resp, err := http.Get(server.URL + "/swagger.json")
assert.NoError(err) // assert.NoError(err)
assert.Equal(http.StatusOK, resp.StatusCode) // assert.Equal(http.StatusOK, resp.StatusCode)
// swagger is installed in PrepareRun // swagger is installed in PrepareRun
resp, err = http.Get(server.URL + "/swaggerapi/") resp, err := http.Get(server.URL + "/swaggerapi/")
assert.NoError(err) assert.NoError(err)
assert.Equal(http.StatusOK, resp.StatusCode) assert.Equal(http.StatusOK, resp.StatusCode)

View File

@ -36,9 +36,9 @@ import (
genericapirequest "k8s.io/apiserver/pkg/endpoints/request" genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
. "k8s.io/apiserver/pkg/server" . "k8s.io/apiserver/pkg/server"
utilflag "k8s.io/apiserver/pkg/util/flag" utilflag "k8s.io/apiserver/pkg/util/flag"
"k8s.io/client-go/discovery"
restclient "k8s.io/client-go/rest" restclient "k8s.io/client-go/rest"
utilcert "k8s.io/client-go/util/cert" utilcert "k8s.io/client-go/util/cert"
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
) )
func setUp(t *testing.T) Config { func setUp(t *testing.T) Config {
@ -569,7 +569,7 @@ NextTest:
t.Errorf("%q - failed creating loopback client config: %v", title, err) t.Errorf("%q - failed creating loopback client config: %v", title, err)
continue NextTest continue NextTest
} }
client, err := clientset.NewForConfig(cfg) client, err := discovery.NewDiscoveryClientForConfig(cfg)
if err != nil { if err != nil {
t.Errorf("%q - failed to create loopback client: %v", title, err) t.Errorf("%q - failed to create loopback client: %v", title, err)
continue NextTest continue NextTest

20
vendor/BUILD vendored
View File

@ -9746,9 +9746,6 @@ go_test(
library = ":k8s.io/apiserver/pkg/endpoints", library = ":k8s.io/apiserver/pkg/endpoints",
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library",
"//plugin/pkg/admission/admit:go_default_library",
"//plugin/pkg/admission/deny:go_default_library",
"//vendor:github.com/emicklei/go-restful", "//vendor:github.com/emicklei/go-restful",
"//vendor:golang.org/x/net/websocket", "//vendor:golang.org/x/net/websocket",
"//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/equality",
@ -9778,6 +9775,7 @@ go_test(
"//vendor:k8s.io/apiserver/pkg/endpoints/request", "//vendor:k8s.io/apiserver/pkg/endpoints/request",
"//vendor:k8s.io/apiserver/pkg/endpoints/testing", "//vendor:k8s.io/apiserver/pkg/endpoints/testing",
"//vendor:k8s.io/apiserver/pkg/registry/rest", "//vendor:k8s.io/apiserver/pkg/registry/rest",
"//vendor:k8s.io/client-go/pkg/api",
], ],
) )
@ -9823,7 +9821,6 @@ go_test(
library = ":k8s.io/apiserver/pkg/endpoints/filters", library = ":k8s.io/apiserver/pkg/endpoints/filters",
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/apis/batch:go_default_library",
"//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/sets",
"//vendor:k8s.io/apiserver/pkg/authentication/authenticator", "//vendor:k8s.io/apiserver/pkg/authentication/authenticator",
"//vendor:k8s.io/apiserver/pkg/authentication/user", "//vendor:k8s.io/apiserver/pkg/authentication/user",
@ -9831,6 +9828,7 @@ go_test(
"//vendor:k8s.io/apiserver/pkg/endpoints/handlers/responsewriters", "//vendor:k8s.io/apiserver/pkg/endpoints/handlers/responsewriters",
"//vendor:k8s.io/apiserver/pkg/endpoints/request", "//vendor:k8s.io/apiserver/pkg/endpoints/request",
"//vendor:k8s.io/client-go/pkg/apis/authentication", "//vendor:k8s.io/client-go/pkg/apis/authentication",
"//vendor:k8s.io/client-go/pkg/apis/batch",
], ],
) )
@ -9868,9 +9866,6 @@ go_test(
library = ":k8s.io/apiserver/pkg/endpoints/handlers", library = ":k8s.io/apiserver/pkg/endpoints/handlers",
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library",
"//pkg/api/testapi:go_default_library",
"//pkg/api/v1:go_default_library",
"//vendor:github.com/emicklei/go-restful", "//vendor:github.com/emicklei/go-restful",
"//vendor:github.com/evanphx/json-patch", "//vendor:github.com/evanphx/json-patch",
"//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/equality",
@ -9883,6 +9878,9 @@ go_test(
"//vendor:k8s.io/apimachinery/pkg/util/strategicpatch", "//vendor:k8s.io/apimachinery/pkg/util/strategicpatch",
"//vendor:k8s.io/apiserver/pkg/endpoints/request", "//vendor:k8s.io/apiserver/pkg/endpoints/request",
"//vendor:k8s.io/apiserver/pkg/registry/rest", "//vendor:k8s.io/apiserver/pkg/registry/rest",
"//vendor:k8s.io/client-go/pkg/api",
"//vendor:k8s.io/client-go/pkg/api/install",
"//vendor:k8s.io/client-go/pkg/api/v1",
], ],
) )
@ -10199,7 +10197,6 @@ go_test(
library = ":k8s.io/apiserver/pkg/registry/generic/rest", library = ":k8s.io/apiserver/pkg/registry/generic/rest",
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/api:go_default_library",
"//vendor:github.com/stretchr/testify/assert", "//vendor:github.com/stretchr/testify/assert",
"//vendor:github.com/stretchr/testify/require", "//vendor:github.com/stretchr/testify/require",
"//vendor:golang.org/x/net/websocket", "//vendor:golang.org/x/net/websocket",
@ -10210,6 +10207,7 @@ go_test(
"//vendor:k8s.io/apiserver/pkg/features", "//vendor:k8s.io/apiserver/pkg/features",
"//vendor:k8s.io/apiserver/pkg/util/feature", "//vendor:k8s.io/apiserver/pkg/util/feature",
"//vendor:k8s.io/apiserver/pkg/util/proxy", "//vendor:k8s.io/apiserver/pkg/util/proxy",
"//vendor:k8s.io/client-go/pkg/api",
], ],
) )
@ -10306,12 +10304,11 @@ go_test(
library = ":k8s.io/apiserver/pkg/server", library = ":k8s.io/apiserver/pkg/server",
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/generated/openapi:go_default_library",
"//vendor:github.com/go-openapi/spec",
"//vendor:github.com/stretchr/testify/assert", "//vendor:github.com/stretchr/testify/assert",
"//vendor:k8s.io/apimachinery/pkg/api/meta", "//vendor:k8s.io/apimachinery/pkg/api/meta",
"//vendor:k8s.io/apimachinery/pkg/apimachinery", "//vendor:k8s.io/apimachinery/pkg/apimachinery",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/openapi",
"//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer", "//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
@ -10325,7 +10322,6 @@ go_test(
"//vendor:k8s.io/apiserver/pkg/endpoints/request", "//vendor:k8s.io/apiserver/pkg/endpoints/request",
"//vendor:k8s.io/apiserver/pkg/registry/rest", "//vendor:k8s.io/apiserver/pkg/registry/rest",
"//vendor:k8s.io/apiserver/pkg/storage/etcd/testing", "//vendor:k8s.io/apiserver/pkg/storage/etcd/testing",
"//vendor:k8s.io/client-go/pkg/api",
"//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/rest",
], ],
) )
@ -10523,7 +10519,6 @@ go_test(
library = ":k8s.io/apiserver/pkg/server/options", library = ":k8s.io/apiserver/pkg/server/options",
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/client/clientset_generated/clientset:go_default_library",
"//vendor:github.com/stretchr/testify/assert", "//vendor:github.com/stretchr/testify/assert",
"//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime",
"//vendor:k8s.io/apimachinery/pkg/runtime/serializer", "//vendor:k8s.io/apimachinery/pkg/runtime/serializer",
@ -10531,6 +10526,7 @@ go_test(
"//vendor:k8s.io/apiserver/pkg/endpoints/request", "//vendor:k8s.io/apiserver/pkg/endpoints/request",
"//vendor:k8s.io/apiserver/pkg/server", "//vendor:k8s.io/apiserver/pkg/server",
"//vendor:k8s.io/apiserver/pkg/util/flag", "//vendor:k8s.io/apiserver/pkg/util/flag",
"//vendor:k8s.io/client-go/discovery",
"//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/rest",
"//vendor:k8s.io/client-go/util/cert", "//vendor:k8s.io/client-go/util/cert",
], ],