mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-07-16 17:33:14 +00:00
run openapi tests with other krusty tests
This commit is contained in:
@@ -5,7 +5,6 @@ include ../Makefile-modules.mk
|
|||||||
|
|
||||||
test:
|
test:
|
||||||
go test -v -timeout 45m -cover ./... -ldflags "-X sigs.k8s.io/kustomize/api/provenance.version=v444.333.222"
|
go test -v -timeout 45m -cover ./... -ldflags "-X sigs.k8s.io/kustomize/api/provenance.version=v444.333.222"
|
||||||
cd krusty/openapitests; OPENAPI_TEST=true go test -v -timeout 45m -p 1 -cover ./...
|
|
||||||
|
|
||||||
build:
|
build:
|
||||||
go build -ldflags "-X sigs.k8s.io/kustomize/api/provenance.version=v444.333.222" ./...
|
go build -ldflags "-X sigs.k8s.io/kustomize/api/provenance.version=v444.333.222" ./...
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
// Copyright 2019 The Kubernetes Authors.
|
// Copyright 2019 The Kubernetes Authors.
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
// The openapi field tests are separated due to the global OpenAPI variable causing
|
package krusty_test
|
||||||
// race conditions. As a result, these tests can't be run in parallel with the other tests.
|
|
||||||
package openapitests //nolint
|
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
@@ -17,12 +14,12 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func writeTestSchema(th kusttest_test.Harness, filepath string) {
|
func writeTestSchema(th kusttest_test.Harness, filepath string) {
|
||||||
bytes, _ := os.ReadFile("../testdata/customschema.json")
|
bytes, _ := os.ReadFile("./testdata/customschema.json")
|
||||||
th.WriteF(filepath+"mycrd_schema.json", string(bytes))
|
th.WriteF(filepath+"mycrd_schema.json", string(bytes))
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeTestSchemaYaml(th kusttest_test.Harness, filepath string) {
|
func writeTestSchemaYaml(th kusttest_test.Harness, filepath string) {
|
||||||
bytes, _ := os.ReadFile("../testdata/customschema.yaml")
|
bytes, _ := os.ReadFile("./testdata/customschema.yaml")
|
||||||
th.WriteF(filepath+"mycrd_schema.yaml", string(bytes))
|
th.WriteF(filepath+"mycrd_schema.yaml", string(bytes))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -144,9 +141,7 @@ spec:
|
|||||||
|
|
||||||
func runOpenApiTest(t *testing.T, test func(t *testing.T)) {
|
func runOpenApiTest(t *testing.T, test func(t *testing.T)) {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
if val, ok := os.LookupEnv("OPENAPI_TEST"); !ok || val != "true" {
|
openapi.ResetOpenAPI()
|
||||||
t.SkipNow()
|
|
||||||
}
|
|
||||||
test(t)
|
test(t)
|
||||||
openapi.ResetOpenAPI()
|
openapi.ResetOpenAPI()
|
||||||
}
|
}
|
||||||
@@ -485,7 +480,7 @@ spec:
|
|||||||
`)
|
`)
|
||||||
|
|
||||||
// openapi schema referred to by the component
|
// openapi schema referred to by the component
|
||||||
bytes, _ := os.ReadFile("../testdata/openshiftschema.json")
|
bytes, _ := os.ReadFile("./testdata/openshiftschema.json")
|
||||||
th.WriteF("components/dc-openapi/openapi.json", string(bytes))
|
th.WriteF("components/dc-openapi/openapi.json", string(bytes))
|
||||||
|
|
||||||
// patch referred to by the component
|
// patch referred to by the component
|
||||||
@@ -647,60 +642,3 @@ spec:
|
|||||||
assert.Equal(t, kubernetesapi.DefaultOpenAPI, openapi.GetSchemaVersion())
|
assert.Equal(t, kubernetesapi.DefaultOpenAPI, openapi.GetSchemaVersion())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// The following definitions are copied from the krusty package.
|
|
||||||
|
|
||||||
type FileGen func(kusttest_test.Harness)
|
|
||||||
|
|
||||||
func writeTestBase(th kusttest_test.Harness) {
|
|
||||||
th.WriteK("base", `
|
|
||||||
resources:
|
|
||||||
- deploy.yaml
|
|
||||||
configMapGenerator:
|
|
||||||
- name: my-configmap
|
|
||||||
literals:
|
|
||||||
- testValue=purple
|
|
||||||
- otherValue=green
|
|
||||||
`)
|
|
||||||
th.WriteF("base/deploy.yaml", `
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: storefront
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
`)
|
|
||||||
}
|
|
||||||
|
|
||||||
func writeOverlayProd(th kusttest_test.Harness) {
|
|
||||||
th.WriteK("prod", `
|
|
||||||
resources:
|
|
||||||
- ../base
|
|
||||||
- db
|
|
||||||
|
|
||||||
components:
|
|
||||||
- ../comp
|
|
||||||
`)
|
|
||||||
writeDB(th)
|
|
||||||
}
|
|
||||||
|
|
||||||
func writeDB(th kusttest_test.Harness) {
|
|
||||||
deployment("db", "prod/db")(th)
|
|
||||||
}
|
|
||||||
|
|
||||||
func deployment(name string, path string) FileGen {
|
|
||||||
return writeF(path, fmt.Sprintf(`
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: %s
|
|
||||||
spec:
|
|
||||||
type: Logical
|
|
||||||
`, name))
|
|
||||||
}
|
|
||||||
|
|
||||||
func writeF(path string, content string) FileGen {
|
|
||||||
return func(th kusttest_test.Harness) {
|
|
||||||
th.WriteF(path, content)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user